Administração do agente do Instana no Red Hat OpenShift

Após instalar o agente, configure-o e gerencie-o conforme necessário. Consulte a lista a seguir para ver todas as opções de configuração do agente disponíveis em Red Hat OpenShift.

Verificando o status do pod

Depois de instalar o agente, você pode verificar o status dos pods na implantação do agente usando os seguintes comandos:

kubectl get pods -n instana-agent
kubectl get agent instana-agent -n instana-agent -o yaml | yq ".status"
 

Em uma boa implantação, o " STATUS de todos os pods no namespace deve ser " Running. O recurso personalizado ' instana-agent também deve exibir ' status: Running, conforme mostrado no exemplo a seguir:

$ kubectl get pods -n instana-agent
NAME                                      READY   STATUS    RESTARTS   AGE
controller-manager-6478cb4c6f-8s29b       1/1     Running   0          70m
instana-agent-8ftnj                       1/1     Running   0          70m
instana-agent-9w4vc                       1/1     Running   0          70m
instana-agent-k8sensor-5bbf568976-5pjk2   1/1     Running   0          3h2m
instana-agent-k8sensor-5bbf568976-h96hr   1/1     Running   0          3h2m
instana-agent-k8sensor-5bbf568976-lnbsg   1/1     Running   0          3h2m
instana-agent-zpmrj                       1/1     Running   0          70m

$ kubectl get agent instana-agent -n instana-agent -o yaml | yq ".status"
conditions:
  - lastTransitionTime: "2024-08-06T08:12:03Z"
    message: most recent reconcile of agent CR completed without issue
    observedGeneration: 2

    ...

observedGeneration: 2
oldVersionsUpdated: true
operatorVersion: 0.0.1-dev
status: Running
 

Configurando o agente

Você pode configurar o agente do Instana para Kubernetes e Red Hat OpenShift de duas maneiras diferentes, dependendo do método utilizado para instalar o agente.

Configurando o agente instalado pelo operador

Para configurar o agente do Instana, instalado por meio de um operador, siga estas etapas:

  1. Abra o arquivo de recurso personalizado ` instana-agent.customresource.yamlYAML `.

  2. Salve suas configurações em " spec.agent.configuration_yaml. Consulte o seguinte exemplo:

    spec:
      agent:
        configuration_yaml: |
          # Example of configuration yaml template
          # Host
          com.instana.plugin.host:
            tags:
              - 'dev'
              - 'app1'
     
  3. Aplique as alterações executando o seguinte comando:

    kubectl apply -f instana-agent.customresource.yaml
     

Para ver um exemplo detalhado do arquivo ` YAML `, consulte instana_v1_extended_instanaagent.yaml.

Para obter mais informações sobre a configuração do agente, consulte Configurando agentes de host usando o arquivo de configuração do agente.

Configurando o agente instalado por meio do gráfico " Helm "

Para configurar o agente do ` Instana ` instalado por meio do gráfico ` Helm `, escolha um dos seguintes métodos:

  • Especifique a configuração na linha de comando usando o sinalizador ' --set agent.configuration_yaml=<config>.

  • Adicione a configuração ao arquivo de configuração Helm chart ' values.yaml. Passe o arquivo para o comando Helm install (durante a instalação) ou Helm upgrade (após a instalação) usando o sinalizador ' -f.

Para obter uma lista detalhada de todos os parâmetros de configuração, consulte a tabela em InstanaHelm.

Personalização do Container Registry

Dependendo do seu ambiente Red Hat OpenShift, talvez seja necessário personalizar o Container Registry Red Hat OpenShift.

Adicionar fluxos de imagens

Se não for possível extrair imagens do IBM Cloud Container Registryicr.io), será necessário adicionar manualmente dois fluxos de imagem. No Container Registry Red Hat OpenShift, vá para o namespace ' instana-agent e adicione os seguintes fluxos de imagem:

Name: instana-agent
Image: icr.io/instana/agent:latest
 

O fluxo de imagem resultante é " docker-registry.default.svc:5000/instana-agent/instana-agent:latest.

Name: k8sensor
Image: icr.io/instana/k8sensor:latest
 

O fluxo de imagem resultante é " docker-registry.default.svc:5000/instana-agent/k8sensor:latest.

Use os respectivos novos fluxos de imagem no YAML.

Atualização da instalação do agente

Dependendo do método de instalação, é possível atualizar o agente do Instana para o Red Hat OpenShift de várias maneiras.

Atualização de uma instalação de operadora

A atualização da instalação do agente envolve duas etapas:

  1. Atualização do operador
  2. Atualização das imagens

Para atualizar o Operator para a versão mais recente usando o OLM, siga as etapas descritas na seção “Aprovação manual de uma atualização pendente do Operator ” na documentação do Red Hat OpenShift.

Você também pode configurar o operador para atualizar automaticamente. Para obter mais informações, consulte Alteração do canal de atualização de um Operador.

Para atualizar o operador manualmente usando a interface do usuário do Instana, siga estas etapas:

  1. Na página inicial da interface do usuário do Instana, clique em “Agentes e coletores ”. Na guia “ Instana Agents ”, selecione “Install agents ”.

  2. Na página do catálogo de implantação do agente, clique no bloco OpenShift - Operator.

  3. Copie e execute o comando para implantar o novo operador. Veja o exemplo de comando a seguir:

    kubectl apply -f https://github.com/instana/instana-agent-operator/releases/latest/download/instana-agent-operator.yaml
     
    Observação: Para atualizar o operador para uma versão específica, execute o seguinte comando:
    kubectl apply -f https://github.com/instana/instana-agent-operator/releases/download/<operator_version>/instana-agent-operator.yaml
    Para obter a lista das versões disponíveis do operador, consulte as notas de lançamento do operador do agente do Instana.

Após atualizar o operador, prossiga com a atualização das imagens.

Atualização de uma instalação do gráfico do Helm

A atualização da instalação do agente envolve duas etapas:

  1. Atualizando um gráfico d Helm
  2. Atualização das imagens

Para atualizar o gráfico de Helm do agente, execute os seguintes comandos:

helm pull --repo https://agents.instana.io/helm --untar instana-agent
kubectl apply -f instana-agent/crds
oc adm policy add-scc-to-user privileged -z instana-agent -n instana-agent
oc adm policy add-scc-to-user anyuid -z instana-agent-remote -n instana-agent
helm upgrade --namespace instana-agent instana-agent \
--repo https://agents.instana.io/helm instana-agent \
--reuse-values
 
Observação: Para atualizar o gráfico do ` Helm ` para uma versão específica, adicione o sinalizador --version <helm-version> ao comando. Para obter a lista das versões disponíveis do gráfico “ Helm ”, consulte as notas de lançamento do gráfico “ Instana ” do agente Helm.
Observação: a versão 2.0.0 e anteriores do agente Instana e do Helm charts não possuem a instana-agent/crds pasta. Portanto, essa kubectl apply -f instana-agent/crds etapa não é necessária.

Após atualizar o operador, prossiga com a atualização das imagens.

Atualização das imagens do agente d Instana

O DaemonSet " instana-agent e a implantação " k8sensor estão configurados para extrair a imagem mais recente na inicialização do pod. Para forçar a atualização, execute os seguintes comandos:

kubectl rollout restart ds instana-agent -n instana-agent
 
kubectl rollout restart deployment k8sensor -n instana-agent
 

Instana não oferece um mecanismo para atualizar automaticamente essas imagens. Você pode usar soluções que atendam às suas necessidades, como CronJobs com privilégios suficientes para restart cargas de trabalho, ou ferramentas mais avançadas do OpenShift GitOps, como o imagestreams.

Gerenciar agentes usando o painel de gerenciamento de agentes

Você pode realizar as seguintes operações usando o painel de gerenciamento de agentes na interface do usuário do Instana :

Para abrir o painel de controle do Agent Management, siga as etapas:

  1. Na barra lateral da interface do usuário do Instana, selecione Infraestrutura.
  2. Clique em um host monitorado específico.
  3. No painel do host, clique em Abrir gerenciamento de agentes.

Configurando o acesso à rede para aplicativos monitorados

É necessário configurar o acesso à rede dos seguintes tipos de aplicativos para que eles possam se comunicar com o agente:

  • Node.js
  • Go
  • Ruby
  • Python
  • .NET Core

Essas aplicações precisam saber o endereço IP no qual o agente está escutando. O agente escuta o IP do host automaticamente. Você pode usar o seguinte trecho de código do Downward API para passar o IP do host, contido em uma variável de ambiente, para o pod da aplicação:

spec:
  containers:
    env:
      - name: INSTANA_AGENT_HOST
        valueFrom:
          fieldRef:
            fieldPath: status.hostIP
 

Monitoramento dos nós do plano de controle (anteriormente conhecidos como nós mestres)

Por padrão, o agente do host não é agendado nos nós do plano de control Kubernetes. Para obter informações sobre como monitorar nós do plano de controle, consulte a seção Monitoramento de nós do plano de controle.

Para um controle mais direto, instale o agente separadamente nos nós do plano de controle.

Monitoramento Kubernetes NGINX Ingress

Para obter orientações sobre como configurar o Ingress do Kubernetes NGINX e nosso agente para capturar métricas do NGINX, consulte a página de monitoramento NGINX. O rastreamento do Ingress do Kubernetes NGINX também é possível por meio do projeto OpenTracing; consulte Rastreamento Distribuído para o Ingress do NGINX para obter orientações sobre como configurá-lo.

Envio de relatórios para vários back-ends

Para adicionar back-ends adicionais usando o ` helm ` e o operador, execute o seguinte comando. Você pode usar back-ends adicionais para configurar seu agente Instana ou deixar esse campo em branco.

Observação: Ao executar o comando a seguir, os dados do agente são encaminhados para vários back-ends, juntamente com os dados d Kubernetes e e os dados de métricas.
  • Como usar o site helm :

       helm install instana-agent \
       --repo https://agents.instana.io/helm \
       --namespace instana-agent \
       --create-namespace \
       --set agent.key=my-key \
       --set agent.endpointHost='<your_host_agent_endpoint>' \
       --set agent.endpointPort=443 \
       --set cluster.name='<your_cluster_name>' \
       --set zone.name='zone-name' \
       --set "agent.additionalBackends[0].endpointHost=<your_host_agent_endpoint>" \
       --set "agent.additionalBackends[0].key=<your_agent_key>" \
       --set "agent.additionalBackends[0].endpointPort=443" \
       --set "agent.additionalBackends[1].endpointHost=<your_other_host_agent_endpoint>" \
       --set "agent.additionalBackends[1].key=<your_other_agent_key>" \
       --set "agent.additionalBackends[1].endpointPort=443" \
       instana-agent
     
  • Usando o operador:

    apiVersion: instana.io/v1
    kind: InstanaAgent
    metadata:
      name: instana-agent
      namespace: instana-agent
    spec:
      zone:
        name: edited-zone # (optional) name of the zone of the host
      cluster:
        name: my-cluster
      agent:
        endpointHost: <your_host_agent_endpoint>
        endpointPort: "443"
        env: {}
        key: <your_agent_key>
        additionalBackends:
        - endpointHost: <your_host_agent_endpoint>
          endpointPort: "443"
          key: <your_agent_key>
        configuration_yaml: |
          # You can leave this empty, or use this to configure your instana agent.
          # See https://github.com/instana/instana-agent-operator/blob/main/config/samples/instana_v1_extended_instanaagent.yaml for the extended version.
    
     

Para habilitar o envio de relatórios para vários back-ends a partir de um agente do Kubernetes, consulte a configuração do agente em Docker.

Configurando segredos

Você pode usar os Secrets para armazenar e gerenciar dados confidenciais, como credenciais, tokens ou chaves. Consulte Kubernetes secrets para obter mais detalhes.