Gerenciando o agente Monitoring no Red Hat OpenShift usando um gráfico HELM

Você pode usar um gráfico Helm para instalar, atualizar e excluir um agente Monitoring em um cluster Kubernetes.

Antes de Iniciar

  • Instale a liberação mais recente da versão 3 da CLI do Helm em sua máquina local.

    Helm é um gerenciador de pacote do Kubernetes que usa gráficos do Helm para definir, instalar e fazer upgrade de apps do Kubernetes complexos em seu cluster. Os gráficos do Helm empacotam as especificações para gerar arquivos YAML para recursos do Kubernetes que constroem seu aplicativo. Esses recursos do Kubernetes são aplicados automaticamente a seu cluster e designados a uma versão pelo Helm. Também é possível usar o Helm para especificar e empacotar seu próprio app e permitir que o Helm gere os arquivos YAML para seus recursos do Kubernetes.

  • Verifique se você tem acesso e permissões para implementar o agente Monitoring no cluster.

  • Verifique se o namespace ibm-observe está disponível em seu cluster. O agente está implantado neste namespace.

Implementar um agente

Conclua as etapas a seguir para implementar um agente usando Helm:

Etapa 1. Configurar o repositório do Sysdig Helm

Inclua o repositório do Helm do Monitoring em sua instância do Helm.

Conclua as etapas a seguir:

  1. Configure o contexto do cluster.

    obmcloud ks cluster config --cluster <CLUSTER_NAME>
    
  2. Inclua o repositório Helm.

    helm repo add sysdig https://charts.sysdig.com
    
  3. Atualize os repositórios para recuperar as versões mais recentes de todos os gráficos do Helm.

    helm repo update
    
  4. Liste os gráficos do Helm que estão disponíveis atualmente no repositório do Sysdig.

    helm search repo sysdig
    
  5. Verifique se o gráfico Helm sysdig/sysdig-deploy está listado.

Se você receber o seguinte erro:

helm repo add sysdig https://charts.sysdig.com    --debug
Error: context deadline exceeded
helm.go:84: [debug] context deadline exceeded

Execute o comando a seguir e tente novamente

rm $HOME/Library/Preferences/helm/repositories.lock

Etapa 2. Crie o arquivo YAML de valores

Defina um arquivo yaml e inclua os valores para implementar o agente Monitoring e os componentes Workload Protection que você planeja implementar. Por exemplo, nomeie o arquivo como agent-values-monitor-secure.yaml

O yaml a seguir é um modelo que pode ser usado para configurar o agente Monitoring e os componentes Workload Protection. É possível customizar o arquivo removendo ou comentando com o # as seções que não são necessárias para sua implementação de agente

global:
  clusterConfig:
    name: CLUSTER_NAME
  sysdig:
    accessKey: MONITORING_INSTANCE_ACCESS_KEY
    secureAPIToken: SECURE_TOKEN
  kspm:
    deploy: true
agent:
  image:
    tag: AGENT_TAG
    registry: icr.io
  slim:
    enabled: true
    image:
      repository: ext/sysdig/agent-slim
    kmoduleImage:
      repository: ext/sysdig/agent-kmodule
  collectorSettings:
    collectorHost: INGESTION_ENDPOINT    # for example, ingest.eu-gb.monitoring.cloud.ibm.com
nodeAnalyzer:
  nodeAnalyzer:
    deploy: true
    apiEndpoint: API_ENDPOINT   # for example, eu-gb.monitoring.cloud.ibm.com
    benchmarkRunner:
      deploy: false
kspmCollector:
  apiEndpoint: API_ENDPOINT    # for example, eu-gb.monitoring.cloud.ibm.com
admissionController:
  enabled: true
  sysdig:
    url: WEB_UI_ENDPOINT    # for example, https://ingest.eu-gb.monitoring.cloud.ibm.com
  clusterName: CLUSTER_NAME

em que

  • CLUSTER_NAME é o nome do cluster no qual você está implementando o agente
  • MONITORING_INSTANCE_ACCESS_KEY é a chave de acesso da instância Monitoring.
  • SECURE_TOKEN é o token da API Segura (Secure API)
  • AGENT_TAG é a versão do agente que você pretende implantar.
  • INGESTION_ENDPOINT é o terminal de ingestão da instância.
  • API_ENDPOINT é o terminal da API da intance
  • WEB_UI_ENDPOINT é o terminal da UI da web da instância.

Amostra de arquivo yaml de valores para implementar o agente

Por exemplo, consulte a amostra a seguir de um arquivo de valores que implementa o agente Monitoring apenas:

global:
  clusterConfig:
    name: mycluster-au-syd
  sysdig:
    accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    secureAPIToken: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  kspm:
    deploy: true
agent:
  image:
    registry: icr.io
  slim:
    enabled: true
    image:
      repository: ext/sysdig/agent-slim
    kmoduleImage:
      repository: ext/sysdig/agent-kmodule
  collectorSettings:
    collectorHost: ingest.au-syd.monitoring.cloud.ibm.com

Amostra de arquivo yaml de valores para implementar o agente e o Node Analyzer

Por exemplo, veja a amostra a seguir de um arquivo de valores que implementa o agente Monitoring e o componente Node Analyzer:

global:
  clusterConfig:
    name: mycluster-au-syd
  sysdig:
    accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    secureAPIToken: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  kspm:
    deploy: true
agent:
  image:
    registry: icr.io
  slim:
    enabled: true
    image:
      repository: ext/sysdig/agent-slim
    kmoduleImage:
      repository: ext/sysdig/agent-kmodule
  collectorSettings:
    collectorHost: ingest.au-syd.monitoring.cloud.ibm.com
nodeAnalyzer:
  nodeAnalyzer:
    deploy: true
    apiEndpoint: API_ENDPOINT   # for example, eu-gb.monitoring.cloud.ibm.com
    benchmarkRunner:
      deploy: false

Etapa 3. Instalar o gráfico do helm

Para implementar o agente, os componentes do Workload Protection, ou ambos, deve-se instalar o gráfico sysdig/sysdig-deploy e usar o arquivo yaml de variáveis configurado na etapa anterior.

Execute o comando a seguir para instalar o agente usando o gráfico do Helm:

helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml

Se você encontrar o erro a seguir: Error: INSTALLATION FAILED: Kubernetes cluster unreachable: xxxxxx failed to refresh token: oauth2: cannot fetch token: 400 Bad Request, configure seu contexto de cluster e tente novamente.

Atualizar um agente

Para atualizar a versão do agente usando Helm, conclua as etapas a seguir:

  1. Atualize o gráfico

    helm repo update
    
  2. Localize o arquivo yaml de valores que você usou para implementar o agente e modificar o agent.image.tag com a versão do agente que deseja implementar.

  3. Faça upgrade do agente.

    helm upgrade -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
    

Remover um agente

Para excluir o agente usando Helm, deve-se desinstalar o gráfico.

Conclua as etapas a seguir:

  1. Liste os gráficos que estão instalados.

    helm list -n ibm-observe
    

    A saída do comando exibe os gráficos da seguinte forma:

    NAME        	NAMESPACE  	REVISION	UPDATED                             	STATUS  	CHART              	APP VERSION
    sysdig-agent	ibm-observe	1       	2023-03-24 15:02:58.408108 +0100 CET	deployed	sysdig-deploy-1.6.3
    
  2. Desinstale o gráfico

    helm delete sysdig-agent  -n ibm-observe
    

    Em termos de Helm, sysdig-agent é o nome da versão.

    Se você esquecer de incluir o namespace no comando, receberá o seguinte erro: Error: uninstall: Release not loaded: sysdig-agent: release: not found.