Gerenciamento do agente “ Workload Protection ” no “ Red Hat OpenShift ” por meio de um gráfico “ Helm ”

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

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 versão mais recente da CLI do Helm em seu computador. Helm É necessária a versão 3.6 ou posterior.

  • 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 ”.

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

  • Verifique se o projeto “ ibm-observe ” está disponível no seu cluster. O agente é implementado neste projeto

    Um projeto é um espaço de nomes em um cluster.

    Para criar o projeto, execute o comando oc adm new-project --node-selector='' 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.

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 em 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
    

    Se você não puder executar operações que requerem permissões de Administrador, como listar todos os nós do trabalhador ou pods em um cluster, faça download dos certificados TLS e arquivos de permissão para o administrador do cluster executando o comando ibmcloud oc cluster config --cluster <cluster_name_or_ID> --admin.

Configurar o repositório do Sysdig Helm

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

  1. Inclua o repositório Helm.

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

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

    helm search repo sysdig
    
  4. 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: INGESTION_ENDPOINT: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 ” 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

O exemplo a seguir mostra um arquivo de valores de amostra do Helm para a região de 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
      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

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.