Helm 차트를 사용하여 Kubernetes 클러스터에서 Workload Protection 에이전트 관리하기
Helm 차트를 사용하여 Kubernetes 클러스터에서 Workload Protection 에이전트를 설치, 업그레이드 및 삭제할 수 있습니다.
또한 콘솔을 사용하여 기존 Red Hat OpenShift 또는 Kubernetes 클러스터를 Workload Protection 인스턴스에 연결할 수도 있습니다. IBM Cloud 콘솔에서 컨테이너 > 클러스터 로 이동하여 기존 클러스터에 액세스하십시오. 그런 다음, ‘ Workload Protection ’ 위젯에서 ‘연결’을 클릭하여 클러스터를 Workload Protection 에 연결하세요.
시작하기 전에
-
IBM Cloud CLI, Kubernetes Service 플러그인 및 IBM Cloud Container Registry 플러그인을 설치하십시오. 자세한 내용은 ‘CLI 설치 ’를 참조하십시오.
-
로컬 컴퓨터에 Helm CLI의 최신 버전을 설치하십시오. Helm 3.6 이상 버전이 필요합니다.
HelmKubernetes 용 패키지 관리자로, Helm 차트를 사용하여 클러스터 내의 복잡한 Kubernetes 애플리케이션을 정의, 설치 및 업그레이드합니다. Helm 차트는 앱을 빌드하는 Kubernetes 리소스의 YAML 파일을 생성하기 위한 스펙을 패키징합니다. 이러한 Kubernetes 리소스는 클러스터에 자동으로 적용되며, Helm 에 의해 특정 버전에 할당됩니다. 또한 Helm을 사용하여 고유한 앱을 지정하고 패키할 수 있으며 Helm을 통해 Kubernetes 리소스에 대한 YAML 파일을 생성할 수 있습니다.
-
클러스터에 Workload Protection 에이전트를 배포하는 데 필요한 액세스 권한과 권한이 있는지 확인하십시오.
-
클러스터에서
ibm-observe네임스페이스를 사용할 수 있는지 확인하십시오. 이 에이전트는 이 네임스페이스에 배포되어 있습니다.네임스페이스를 생성하려면
kubectl create namespace ibm-observe``을 실행하십시오. -
클러스터에서 Workload Protection 엔드포인트로 나가는 트래픽이
443및6443포트에서 허용되는지 확인하십시오. 에이전트를 가상 사설 엔드포인트(VPE)를 통해 연결하는 경우, 클러스터에서 나가는 트래픽에 대해 두 포트 모두 허용되어야 합니다.
에이전트 배포
Helm 를 사용하여 에이전트를 배포하려면 다음 단계를 따르십시오.
Sysdig Helm 저장소 설정
Workload Protection Helm 저장소를 Helm 인스턴스에 추가하십시오.
-
클러스터 컨텍스트를 설정합니다.
ibmcloud ks cluster config --cluster <CLUSTER_NAME> -
Helm 저장소를 추가하세요.
helm repo add sysdig https://charts.sysdig.com -
리포지토리를 업데이트하여 모든 Helm 차트의 최신 버전을 가져옵니다.
helm repo update -
현재 Sysdig 저장소에서 사용할 수 있는 ‘ Helm ’ 차트를 나열해 주세요.
helm search repo sysdig -
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: 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
여기서:
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 차트를 설치하세요
에이전트, 보안 구성 요소 또는 둘 다를 배포하려면 ‘ sysdig/sysdig-deploy ’ 차트를 설치하십시오. 이전 단계에서 구성한 것과 같은 변수 YAML 파일을 사용하여 차트를 설치하거나, 변수를 직접 구성할 수도 있습니다.
Helm 차트와 변수 YAML 파일을 사용하여 에이전트를 설치하려면 다음 명령을 실행하십시오:
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
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
에이전트 업데이트
Helm을 사용하여 에이전트 버전을 업데이트하려면 다음 단계를 완료하십시오.
-
Helm 저장소를 업데이트하세요.
helm repo update -
에이전트를 업그레이드하십시오.
helm upgrade -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
다음 단계를 따르면 에이전트를 사용 가능한 최신 버전으로 업그레이드할 수 있습니다.
에이전트 제거
콘솔을 사용하여 클러스터에서 에이전트를 제거할 수도 있습니다. IBM Cloud 콘솔에서 컨테이너 > 클러스터 로 이동하여 기존 클러스터에 액세스하십시오. 그런 다음, ‘ Workload Protection ’ 위젯에서 ‘옵션’ 메뉴를 열고 ‘연결 해제’를 선택하세요.
Helm 를 사용하여 에이전트를 삭제하려면 차트를 제거하십시오.
-
설치된 차트를 나열해 주세요.
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 -
차트를 설치 제거하십시오.
helm delete sysdig-agent -n ibm-observeHelm 에서
sysdig-agent는 릴리스 이름입니다.