Helm 차트를 사용하여 Red Hat OpenShift 에서 Workload Protection 에이전트 관리하기

Helm 차트를 사용하여 Red Hat OpenShift 클러스터에서 Workload Protection 에이전트를 설치, 업그레이드 및 삭제할 수 있습니다.

또한 콘솔을 사용하여 기존 Red Hat OpenShift 또는 Kubernetes 클러스터를 Workload Protection 인스턴스에 연결할 수도 있습니다. IBM Cloud 콘솔에서 컨테이너 > 클러스터 로 이동하여 기존 클러스터에 액세스하십시오. 그런 다음, ‘ Workload Protection ’ 위젯에서 ‘연결’을 클릭하여 클러스터를 Workload Protection 에 연결하세요.

시작하기 전에

  • 로컬 컴퓨터에 Helm CLI의 최신 버전을 설치하십시오. Helm 3.6 이상 버전이 필요합니다.

  • IBM Cloud CLI, Kubernetes Service 플러그인, IBM Cloud Container Registry 플러그인, 그리고 Red Hat OpenShift 및 Kubernetes CLI를 설치하십시오. 자세한 내용은 ‘CLI 설치 ’를 참조하십시오.

  • 클러스터에 Workload Protection 에이전트를 배포하는 데 필요한 액세스 권한과 권한이 있는지 확인하십시오.

  • 클러스터에서 ‘ ibm-observe ’ 프로젝트가 사용 가능한지 확인하십시오. 에이전트가 이 프로젝트에 배치됩니다.

    프로젝트는 클러스터의 네임스페이스입니다.

    프로젝트를 생성하려면 oc adm new-project --node-selector='' ibm-observe``을 실행하십시오.

  • 클러스터에서 Workload Protection 엔드포인트로 나가는 트래픽이 4436443 포트에서 허용되는지 확인하십시오. 에이전트를 가상 사설 엔드포인트(VPE)를 통해 연결하는 경우, 클러스터에서 나가는 트래픽에 대해 두 포트 모두 허용되어야 합니다.

에이전트 배포

Helm 를 사용하여 에이전트를 배포하려면 다음 단계를 따르십시오.

클러스터 컨텍스트 설정

  1. 계정에 로그인하십시오. 연합 계정이 있는 경우, --sso 옵션을 포함하십시오.

    ibmcloud login [-g <resource_group>] [--sso]
    
  2. 클러스터에 대한 kubeconfig 구성 파일을 다운로드하여 kubeconfig의 기존 ~/.kube/config 또는 KUBECONFIG 환경 변수의 마지막 파일에 추가하십시오.

    ibmcloud oc cluster config --cluster <cluster_name_or_ID>
    
  3. 브라우저에서 클러스터 컨트롤러의 주소인 URL 로 이동한 후, /console 를 추가하세요. 예를 들어, https://c0.containers.cloud.ibm.com:23652/console입니다.

  4. Red Hat OpenShift 웹 콘솔 메뉴에서 프로파일 IAM#user.name@email.com > 로그인 명령 복사를 클릭하십시오. CLI에서 인증을 수행하려면 ‘ oc login ’ 토큰 명령어를 확인하고 이를 명령줄에 복사하여 입력하십시오.

  5. 버전을 확인하여 클러스터에서 oc 명령이 올바르게 실행되는지 확인하십시오.

    oc version
    

    출력 예:

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

    관리자 권한이 필요한 오퍼레이션(예: 클러스터에 있는 모든 작업자 노드 또는 팟(Pod) 나열)을 수행할 수 없으면 ibmcloud oc cluster config --cluster <cluster_name_or_ID> --admin 명령을 실행하여 클러스터 관리자에 적합한 TLS 인증서 및 권한 파일을 다운로드하십시오.

Sysdig Helm 저장소 설정하기

Workload Protection Helm 저장소를 Helm 인스턴스에 추가하십시오.

  1. Helm 저장소를 추가하세요.

    helm repo add sysdig https://charts.sysdig.com
    
  2. 리포지토리를 업데이트하여 모든 Helm 차트의 최신 버전을 가져옵니다.

    helm repo update
    
  3. 현재 Sysdig 저장소에서 사용할 수 있는 ‘ Helm ’ 차트를 나열해 주세요.

    helm search repo sysdig
    
  4. sysdig/sysdig-deploy 의 ‘ Helm ’ 차트가 목록에 포함되어 있는지 확인하십시오.

YAML 값 파일을 생성합니다

YAML 파일을 정의하고, Workload Protection 에이전트와 배포할 예정인 보안 구성 요소의 값을 포함시키십시오. 예를 들어, 파일 이름을 ‘ agent-values-monitor-secure.yaml ’로 지정하세요.

다음의 YAML 는 Workload Protection 에이전트 및 Secure 구성 요소를 구성하는 데 사용할 수 있는 템플릿입니다. 에이전트에 필요하지 않은 섹션을 삭제하거나 # 로 주석 처리하여 파일을 사용자 정의할 수 있습니다.

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

여기서:

CLUSTER_NAME
에이전트를 배포할 클러스터의 이름입니다.
SERVICE_ACCESS_KEY
Workload Protection 인스턴스의 액세스 키.
INGESTION_ENDPOINT
인스턴스의 수집 엔드포인트. 예를 들어, ingest.us-east.security-compliance-secure.cloud.ibm.com입니다.
API_ENDPOINT
인스턴스의 API 엔드포인트. 예를 들어, us-east.security-compliance-secure.cloud.ibm.com입니다.

Helm 차트를 설치하세요

에이전트, Secure 구성 요소 또는 둘 모두를 배포하려면 ‘ sysdig/sysdig-deploy ’ 차트를 설치하고, 이전 단계에서 구성한 변수 파일( YAML )을 사용하십시오.

helm 차트를 사용하여 다음 명령을 실행하여 에이전트를 설치하십시오.

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

다음 예제는 ‘ us-east ’ 지역에 대한 Helm 값 파일의 예시를 보여줍니다:

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

에이전트 업데이트

Helm을 사용하여 에이전트 버전을 업데이트하려면 다음 단계를 완료하십시오.

  1. Helm 저장소를 업데이트하세요.

    helm repo update
    
  2. 에이전트를 업그레이드하십시오.

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

다음 단계를 따르면 에이전트를 사용 가능한 최신 버전으로 업그레이드할 수 있습니다.

에이전트 제거

콘솔을 사용하여 클러스터에서 에이전트를 제거할 수도 있습니다. IBM Cloud 콘솔에서 컨테이너 > 클러스터 로 이동하여 기존 클러스터에 액세스하십시오. 그런 다음, ‘ Workload Protection ’ 위젯에서 ‘옵션’ 메뉴를 열고 ‘연결 해제’를 선택하세요.

Helm 를 사용하여 에이전트를 삭제하려면 차트를 제거하십시오.

  1. 설치된 차트를 나열해 주세요.

    helm list -n ibm-observe
    

    출력 결과에는 설치된 차트 목록이 표시됩니다:

    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. 차트를 설치 제거하십시오.

    helm delete sysdig-agent -n ibm-observe
    

    Helm 에서 sysdig-agent 는 릴리스 이름입니다.