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

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

Você também pode usar o console para conectar um cluster existente do Red Hat OpenShift ou Kubernetes à sua instância do Workload Protection. No console do IBM Cloud, acesse Containers > Clusters para acessar o cluster existente. Em seguida, clique em “Conectar” no widget “ Workload Protection ” para conectar seu cluster a Workload Protection.

Antes de Iniciar

  • Instale a CLI do IBM Cloud, o plug-in Kubernetes Service e o plug-in IBM Cloud Container Registry. 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.

  • 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 kubectl create namespace ibm-observe``.

  • Verifique se o tráfego de saída do seu cluster para os endpoints d Workload Protection está permitido nas portas 443 e 6443. Se você conectar os agentes por meio de um Endpoint Privado Virtual (VPE), ambas as portas devem estar habilitadas para o tráfego de saída do cluster.

Implantação de um agente

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

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 YAML

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

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

agent:
  ebpf:
    enabled: true
    kind: universal_ebpf
  collectorSettings:
    collectorHost: INGESTION_ENDPOINT
  sysdig:
    settings:
      host_scanner:
        enabled: true
      kspm_analyzer:
        enabled: true
      sysdig_api_endpoint: API_ENDPOINT
  extraVolumes:
    volumes:
    - name: root-vol
      hostPath:
        path: /
    - name: tmp-vol
      hostPath:
        path: /tmp
    mounts:
    - mountPath: /host
      name: root-vol
      readOnly: true
    - mountPath: /host/tmp
      name: tmp-vol
global:
  imageRegistry: icr.io/ext
  clusterConfig:
    name: CLUSTER_NAME
  sysdig:
    accessKey: SERVICE_ACCESS_KEY
    apiHost: API_ENDPOINT
nodeAnalyzer:
  enabled: false
clusterShield:
  enabled: true
  cluster_shield:
    sysdig_endpoint:
      region: custom
      collector: ingest.private.us-east.security-compliance-secure.cloud.ibm.com:6443
    log_level: info
    features:
      admission_control:
        enabled: true
        container_vulnerability_management:
          enabled: true
        dry_run: false
      container_vulnerability_management:
        enabled: true
      audit:
        enabled: true
      posture:
        enabled: 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_ENDPOINT
O endpoint de ingestão da instância. Por exemplo, ingest.us-east.security-compliance-secure.cloud.ibm.com.
API_ENDPOINT
O endpoint da API da instância. Por exemplo, us-east.security-compliance-secure.cloud.ibm.com.

Instale o gráfico “ Helm ”

Para implantar o agente, os componentes do Secure ou ambos, instale o gráfico “ sysdig/sysdig-deploy ”. Você pode instalar o gráfico usando um arquivo de variáveis YAML, como o que você configurou na etapa anterior, ou pode configurar as variáveis diretamente.

Execute o comando a seguir para instalar o agente usando o gráfico “ Helm ” e o arquivo de variáveis “ YAML ”:

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

O exemplo a seguir mostra um arquivo de valores de amostra do Helm para a região us-east:

agent:
  ebpf:
    enabled: true
    kind: universal_ebpf
  collectorSettings:
    collectorHost: ingest.private.us-east.security-compliance-secure.cloud.ibm.com
  sysdig:
    settings:
      host_scanner:
        enabled: true
      kspm_analyzer:
        enabled: true
      sysdig_api_endpoint: private.us-east.security-compliance-secure.cloud.ibm.com
  extraVolumes:
    volumes:
    - name: root-vol
      hostPath:
        path: /
    - name: tmp-vol
      hostPath:
        path: /tmp
    mounts:
    - mountPath: /host
      name: root-vol
      readOnly: true
    - mountPath: /host/tmp
      name: tmp-vol
global:
  imageRegistry: icr.io/ext
  clusterConfig:
    name: my-cluster
  sysdig:
    accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
    apiHost: private.us-east.security-compliance-secure.cloud.ibm.com
nodeAnalyzer:
  enabled: false
clusterShield:
  enabled: true
  cluster_shield:
    sysdig_endpoint:
      region: custom
      api_url: https://private.us-east.security-compliance-secure.cloud.ibm.com
    log_level: info
    features:
      admission_control:
        enabled: true
        container_vulnerability_management:
          enabled: true
        dry_run: false
      container_vulnerability_management:
        enabled: true
      audit:
        enabled: true
      posture:
        enabled: true

Atualização de um agente

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
    

Essas etapas atualizam seus agentes para a versão mais recente disponível.

removendo um agente

Você também pode usar o console para remover o agente do seu cluster. No console do IBM Cloud, acesse Containers > Clusters para acessar o cluster existente. Em seguida, abra o menu “Opções” no widget “ Workload Protection ” e selecione “Desconectar ”.

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

    helm delete sysdig-agent -n ibm-observe
    

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