Gerenciamento do agente do Workload Protection em um cluster do Satellite por meio de um gráfico do Helm

Você pode usar um gráfico do Helm para instalar, atualizar e excluir um agente do Workload Protection em seus clusters do Satellite.

Antes de Iniciar

  • Instale a CLI do IBM Cloud, o plug-in Kubernetes Service, o plug-in IBM Cloud Container Registry e as CLIs Red Hat OpenShift e Kubernetes. Para obter mais informações, consulte a seção “Instalando a CLI ”.

  • Instale a versão mais recente da CLI do Helm em seu computador. Helm É necessária a versão 3.6 ou posterior.

    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 no seu cluster e atribuídos 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.

  • Obtenha seu terminal Workload Protection ingest. Acesse seu local do Satellite e, em seguida, selecione Link endpoints e System endpoints. Copie o endpoint system, que começa com satellite-sysdig- e aponta para ingest.private.<region>.monitoring.cloud.ibm.com. Você pode usar esse endpoint posteriormente como INGESTION_SATELLITE_ENDPOINT.

  • O tráfego de saída de seu cluster para os pontos de extremidade Workload Protection deve ser direcionado para as portas 443 e 6443.

  • Verifique se você possui o acesso e as permissões necessárias para implantar o agente do Workload Protection no cluster.

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

    Para criar o namespace, execute o comando oc adm new-project --node-selector='' ibm-observe``.

  • Obtenha seu terminal Workload Protection ingest. Acesse seu local do Satellite e, em seguida, selecione Link endpoints e System endpoints. Copie o endpoint system, que começa com satellite-sysdig- e aponta para ingest.private.<region>.monitoring.cloud.ibm.com. Você pode usar esse endpoint posteriormente como INGESTION_SATELLITE_ENDPOINT.

  • Verifique se o tráfego de saída do seu cluster para os endpoints d Workload Protection está permitido nas portas 443 e 6443.

Implantação de um agente

Siga as etapas a seguir para implantar um agente usando o Helm.

Configurar o contexto do cluster

  1. Efetue login na sua conta. Se você tiver uma conta federada, inclua a opção --sso.

    ibmcloud login [-g <resource_group>] [--sso]
    
  2. Faça download e inclua o arquivo de configuração kubeconfig para o seu cluster em seu kubeconfig existente em ~/.kube/config ou no último arquivo na variável de ambiente KUBECONFIG.

    ibmcloud oc cluster config --cluster <cluster_name_or_ID>
    
  3. No seu navegador, acesse o endereço do controlador do seu cluster URL e acrescente /console. Por exemplo, https://c0.containers.cloud.ibm.com:23652/console.

  4. Na barra de menus do console da web do Red Hat OpenShift, clique no seu perfil IAM#user.name@email.com > Copiar comando de login. Exiba e copie o comando “ oc login ” na sua linha de comando para se autenticar pela CLI.

  5. Verifique se os comandos oc são executados corretamente com seu cluster verificando a versão.

    oc version
    

    Saída de exemplo:

    Client Version: v4.11.0
    Kubernetes Version: v1.25.8.2
    

Configure o repositório do Sysdig Helm

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

  1. Configure o contexto do cluster.

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

    helm repo add sysdig https://charts.sysdig.com
    
  3. Atualize o repositório para baixar 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 “ sysdig/sysdig-deploy ” ( Helm ) está listado.

Crie o arquivo de valores Helm

Defina um arquivo YAML e inclua os valores para implantar os componentes do Workload Protection que você pretende implantar. Por exemplo, nomeie o arquivo como “ agent-values-monitor-secure.yaml ”.

O arquivo YAML a seguir é um modelo que você pode usar para configurar os componentes do Workload Protection. Você pode personalizar o arquivo removendo ou comentando com # as seções que não são necessárias para a implantação do seu agente.

agent:
  ebpf:
    enabled: true
    kind: universal_ebpf
  collectorSettings:
    collectorHost: INGESTION_SATELLITE_ENDPOINT
    collectorPort: INGESTION_SATELLITE_ENDPOINT_PORT
  slim:
    enabled: true
global:
  clusterConfig:
    name: CLUSTER_NAME
  kspm:
    deploy: true
  sysdig:
    accessKey: SERVICE_ACCESS_KEY
    apiHost: API_ENDPOINT
nodeAnalyzer:
  secure:
    vulnerabilityManagement:
      newEngineOnly: true
  nodeAnalyzer:
    runtimeScanner:
      deploy: false
    benchmarkRunner:
      deploy: false
    hostScanner:
      deploy: false
    deploy: true
  natsUrl: wss://API_ENDPOINT
  sslVerifyCertificate: false
kspmCollector:
  natsUrl: wss://API_ENDPOINT
  sslVerifyCertificate: false
clusterScanner:
  enabled: true
  eveEnabled: true
  sslVerifyCertificate: false

Em que:

CLUSTER_NAME
O nome do cluster no qual você está implantando o agente.
SERVICE_ACCESS_KEY
A chave de acesso da instância do Workload Protection.
INGESTION_SATELLITE_ENDPOINT
O endpoint Satellite, extraído anteriormente, que aponta para o endpoint de ingestão. Por exemplo, c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud.
INGESTION_SATELLITE_ENDPOINT_PORT
A porta do endpoint Satellite, extraída anteriormente, que aponta para o endpoint ingest. Por exemplo, 30771.
API_ENDPOINT
O endpoint Satellite, extraído anteriormente, que aponta para o endpoint da API privada Workload Protection. Por exemplo, c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924. Nesse caso, tanto o nome do host quanto a porta são definidos juntos

Instale o gráfico “ Helm ”

Para implantar o agente, os componentes do Workload Protection ou ambos, instale o gráfico sysdig/sysdig-deploy e utilize o arquivo de variáveis YAML que você configurou 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ê quiser instalar diretamente os componentes do Workload Protection sem um arquivo de valores do Helm, pode executar o comando a seguir. Use --set para definir todas as variáveis.

helm install sysdig-agent sysdig/sysdig-deploy --namespace ibm-observe --create-namespace \
    --set agent.ebpf.enabled=true \
    --set agent.ebpf.kind=universal_ebpf \
    --set global.sysdig.accessKey=<SERVICE_ACCESS_KEY> \
    --set global.sysdig.apiHost=<API_ENDPOINT> \
    --set agent.collectorSettings.collectorHost=<INGESTION_SATELLITE_ENDPOINT> \
    --set agent.collectorSettings.collectorPort=<INGESTION_SATELLITE_ENDPOINT_PORT> \
    --set nodeAnalyzer.natsUrl=wss://<API_ENDPOINT> \
    --set nodeAnalyzer.nodeAnalyzer.runtimeScanner.deploy=false \
    --set nodeAnalyzer.nodeAnalyzer.hostScanner.deploy=false \
    --set nodeAnalyzer.nodeAnalyzer.benchmarkRunner.deploy=false \
    --set nodeAnalyzer.nodeAnalyzer.sslVerifyCertificate=false \
    --set nodeAnalyzer.secure.vulnerabilityManagement.newEngineOnly=true \
    --set global.kspm.deploy=true \
    --set global.clusterConfig.name=<CLUSTER_NAME> \
    --set kspmCollector.natsUrl=wss://<API_ENDPOINT> \
    --set kspmCollector.sslVerifyCertificate=false \
    --set clusterScanner.enabled=true \
    --set clusterScanner.eveEnabled=true \
    --set clusterScanner.sslVerifyCertificate=true

Em que:

CLUSTER_NAME
O nome do cluster no qual você está implantando o agente.
SERVICE_ACCESS_KEY
A chave de acesso da instância do Workload Protection.
INGESTION_SATELLITE_ENDPOINT
O endpoint Satellite, extraído anteriormente, que aponta para o endpoint ingest. Por exemplo, c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud.
INGESTION_SATELLITE_ENDPOINT_PORT
A porta do endpoint Satellite, extraída anteriormente, que aponta para o endpoint ingest. Por exemplo, 30771.
API_ENDPOINT
O endpoint Satellite, extraído anteriormente, que aponta para o endpoint da API privada Workload Protection. Por exemplo, c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924. Nesse caso, tanto o nome do host quanto a porta são definidos juntos

Atualização de um agente

Atualize o agente do Workload Protection pelo menos uma vez a cada dois meses.

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

  1. Atualize o repositório Helm.

    helm repo update
    
  2. Faça upgrade do agente.

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

removendo um agente

Para excluir o agente usando o Helm, desinstale o gráfico.

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

    helm list -n ibm-observe
    

    A saída lista os gráficos instalados:

    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.37.10
    
  2. Desinstale o gráfico

    helm delete sysdig-agent -n ibm-observe
    

    Em Helm, “ sysdig-agent ” é o nome da versão.