Melhorando a performance e eficiência em suas implementações Red Hat Openshift

Ao passo que as implementações na nuvem ficam mais complexas, ferramentas que gerenciam a performance de aplicações e recursos para monitorar a infraestrutura se tornam cada vez mais necessárias. Enquanto temos aplicações que monitoram performance (APM), como o IBM Observability by Instana, conhecido na categoria por observar e identificar problemas no instanciamento de microsserviços, plataformas de container e outras implementações na nuvem têm necessitado de uma ferramenta mais sofisticada para o gerenciamento de infraestrutura.

Por isso, neste tutorial, demonstraremos como implementar uma Plataforma Turbonomic Operator no Openshift, conectada ao serviço Instana (já instanciado), e como os dois serviços trabalham em conjunto gerenciando implementações.

Pré-Requisitos:

Em ordem, para completar este tutorial, você precisar finalizar este code pattern, que exibe estes passos:

  • Integrar Instana
  • Implementar ao OpenShift
  • Gerar tráfego e analisar com Instana

Nota: O Tubornomic requer um histórico de tráfego da aplicação para performar e tomar decisões eficazes. Antes de inicializar a plataforma do Turbonomic, inicie o Puppeteer Load Generator, como descrito no code pattern do Instana..

Você também precisará:

Tempo Estimado

Para completar este tutorial, você pode levar aproximadamente 1 hora.

Passos

1.Configurar o Turbonomic no seu cluster OpenShift

2.Gerenciar a performance com Turbonomic

Configurar o Turbonomic no seu cluster OpenShift

Nós iniciaremos instalando a plataforma Turbonomic Operator no seu cluster Openshift. Após fazer a instalação, você precisará da chave de licença para instanciar e começar a utilizar.

1.Crie um projeto turbonomic (namespace).

2.Rode os seguintes comandos, para criar os cargos e as permissões necessárias, neste projeto da plataforma do Operator.

```
$ oc project turbonomic

$ oc create -f https://raw.githubusercontent.com/turbonomic/t8c-install/master/operator/deploy/cluster_role.yaml

clusterrole.rbac.authorization.k8s.io/t8c-operator created

$ oc create -f https://raw.githubusercontent.com/turbonomic/t8c-install/master/operator/deploy/cluster_role_binding.yaml

clusterrolebinding.rbac.authorization.k8s.io/t8c-operator created

$ oc adm policy add-scc-to-group anyuid system:serviceaccounts:turbonomic
securitycontextconstraints.security.openshift.io/anyuid added to groups: ["system:serviceaccounts:turbonomic"]
```

3.No seu container Red Hat OpenShift Operator Hub, instale o Turbonomic Operator.

Encontre e instale Turbonomic Platform Operator. Mude o “Installed Namespace” para “Turbonomic” e clique em Subscribe.

Captura de tela da instalação do Operator do Red Hat OpenShift Operator Hub

A plataforma Turbonomic Operator é exibida em Installed Operators.

4. Selecione o Turbonomic Platform Operator para abri-lo, e clique em Create Xl para criar uma instância de um recurso “XL”.

Captura de tela do Red Hat OpenShift para criar um recurso XL

5.Clique no link “Edit Form”. Depois, habilite as seguintes opções:

  • Kubertubo, para gerenciamento do cluster local
  • Instana, para habilitar Instana como uma fonte de dados
  • Ingress, para criar uma rota de entrada para que possa acessar através do dashboard do Turbonomic.

Vá para o final da lista de opções e clique em “Create” .

6.Conecte-se ao console Turbonomic. Na plataforma Red Hat OpenShift Container Platform, em Networking > Routes, clique no link que começa com “api-turbonomic” para abrir o dashboard / painel de controle.

Captura de tela para o link do console Turbonomic

Configure seu usuário admin e sua senha, depois faça o upload da sua licença Turbonomic.

Upload da chave de licença para a Plataforma Turbonomic

7.Conecte o Turbonomic ao Instana, para conseguir permitir que o Turbonomic colete as métricas do Instana.

1.No console do Instana, na página de Team Settings, clique em “Create API Token”, para criar uma chave API do Instana.

2.Conecte ao console Instana clicando em Settings > Target configurations > New Target > Applications and Databases > Instana, depois adicione o Instana hostname e a chave API (que você acabou de criar).

Conexão com o console Instana

Gerenciando a performance de suas implementações OpenShift com Turbonomic

Primeiro, vamos configurar a Policy:

1. Vá até “Policies tile”, em Settings:

Política na tela de Configurações do Turbonomic

2. Com as configurações mostradas na imagem a seguir, crie um “Business Application Policy for Bee Travels”:

Tela de política das configurações da aplicação

Com a policy (política) configurada, o Turbonomic vai analisar a performance dos dados com o tempo, para assim providenciar a recomendação da alocação e dimensionamento de recursos. Use o Puppeteer tool descrito no code pattern do Instana, para gerenciar o tráfego da aplicação. Isso pode levar de 10-15 minutos até que os dados e análise do Turbonomic sejam finalizados, criando uma lista de ações recomendadas.

Tela mostrando o tempo de resposta da aplicação

Agora, veremos como a aplicação está performando.

1.Abra o dashboard / painel de controle do seu serviço Instana. Navegue até Kubernetes > Your Cluster > bee-travels namespace. Selecione Pods e escolha o “Map view”. Analise os CPU Limits, CPU Requests, Memory Limits, and Memory Requests. Por exemplo: aqui, é como os limites da CPU deveriam estar antes de qualquer melhoria:

Captura de tela do painel do Instana com os limites da CPU

2.Agora que o tráfego suficiente foi analisado, vá até o Turbonomic dashboard e navegue até a aplicação “Bee Travels”. Você verá sessões em vermelho, amarelo e verde.

Tela de ações pendentes do painel Turbonomic

3.Você notará que possui ações pendentes que o Turbonomic sugere que vão melhorar a performance e a eficiência de sua aplicação. Clique em “Workload Controller element”, depois selecione “Show All”, e escolha todas as ações pendentes dos serviços do “Bee Travels”. Uma vez selecionados, clique no botão “Apply Selected”, para aplicar as ações.

4.Nesse ponto, pods serão dimensionados e reiniciados, o que fará com que as aplicações fiquem fora por alguns segundos. Você pode verificar o progresso no seu console OpenShift.

5.Depois de alguns minutos, ou após você permitir, seus novos pods poderão ser redimensionados e reiniciados com as melhorias aplicadas na performance e no tráfego da sua aplicação. Retorne ao dashboard/painel de controle do Instana para verificar as diferenças em CPU Limits, CPU Requests, Memory Limits, and Memory Requests. Por exemplo: aqui, verifica-se como os limites da CPU melhoram:

Painel do Instana mostrando os limites da CPU após as melhorias

Você verá que, apesar das mudanças na utilização dos recursos dos serviços do Bee Travels, o tempo de resposta melhorará ou continuará o mesmo.

Resumo e próximas etapas

Neste tutorial, mostramos como configurar a plataforma Turbonomic na sua instância OpenShift, conectá-la ao Instana, monitorar sua aplicação e configurar a política que permite o Turbonomic acessar a alocação de recursos e pods no seu cluster. Para mais informações sobre configurações e uso, verifique a documentação do Turbonomic (PDF, 5.1 MB).

E para mais detalhes de como utilizar o Instana e Turbonomic juntos, acesse este artigo: Instana + Turbonomic Solution Overview.