HELM 차트를 사용하여 Kubernetes 클러스터에서 Workload Protection 에이전트 관리
Helm 차트를 사용하여 Kubernetes 클러스터에서 Workload Protection 에이전트를 설치, 업그레이드 및 삭제할 수 있습니다.
시작하기 전에
-
로컬 시스템에 버전 3 Helm CLI 의 최신 릴리스를 설치하십시오.
Helm 3.6 이상이 필요합니다.
Helm 은 Helm 차트를 사용하여 클러스터에서 복잡한 Kubernetes 앱을 정의, 설치 및 업그레이드하는 Kubernetes 패키지 관리자입니다. Helm 차트는 앱을 빌드하는 Kubernetes 리소스의 YAML 파일을 생성하기 위한 스펙을 패키징합니다. 이러한 Kubernetes 리소스는 클러스터에 자동으로 적용되며 Helm에 의해 버전에 지정됩니다. 또한 Helm을 사용하여 고유한 앱을 지정하고 패키할 수 있으며 Helm을 통해 Kubernetes 리소스에 대한 YAML 파일을 생성할 수 있습니다.
-
클러스터에 Workload Protection 에이전트를 배치할 수 있는 액세스 및 권한이 있는지 확인하십시오.
-
ibm-observe
네임스페이스가 클러스터에서 사용 가능한지 확인하십시오. 에이전트가 이 네임스페이스에 배치됩니다.다음 명령을 실행하여 네임스페이스를 작성할 수 있습니다.
kubectl create namespace ibm-observe
에이전트 배치
Helm을 사용하여 에이전트를 배치하려면 다음 단계를 완료하십시오.
1단계. Sysdig Helm 저장소 설정
Workload Protection Helm 저장소를 Helm 인스턴스에 추가하십시오.
다음 단계를 완료하십시오.
-
클러스터 컨텍스트를 설정합니다.
ibmcloud ks cluster config --cluster <CLUSTER_NAME>
-
Helm 저장소를 추가하십시오.
helm repo add sysdig https://charts.sysdig.com
다음 오류를 수신하는 경우
helm repo add sysdig https://charts.sysdig.com --debug Error: context deadline exceeded helm.go:84: [debug] context deadline exceeded
다음 명령을 실행하고 Helm 저장소 추가를 재시도하십시오.
rm $HOME/Library/Preferences/helm/repositories.lock
-
모든 Helm 차트의 최신 버전을 검색하려면 저장소를 업데이트하십시오.
helm repo update
-
현재 Sysdig 저장소에 사용 가능한 Helm 차트를 나열하십시오.
helm search repo sysdig
-
Helm 차트
sysdig/sysdig-deploy
가 나열되는지 확인하십시오.
2단계. 값 yaml 파일 작성
yaml 파일을 정의하고 Workload Protection 에이전트 및 배치하려는 보안 구성요소를 배치하기 위한 값을 포함하십시오. 예를 들어, 파일 이름을 agent-values-monitor-secure.yaml
로 지정하십시오.
다음 yaml은 Workload Protection 에이전트 및 보안 구성요소를 구성하는 데 사용할 수 있는 템플리트입니다. 에이전트 배치에 필요하지 않은 섹션을 #
에서 제거하거나 주석을 추가하여 파일을 사용자 정의할 수 있습니다.
global:
clusterConfig:
name: CLUSTER_NAME
sysdig:
accessKey: SERVICE_ACCESS_KEY
kspm:
deploy: true
agent:
image:
registry: icr.io
slim:
enabled: true
image:
repository: ext/sysdig/agent-slim
kmoduleImage:
repository: ext/sysdig/agent-kmodule
collectorSettings:
collectorHost: INGESTION_ENDPOINT
nodeAnalyzer:
secure:
vulnerabilityManagement:
newEngineOnly: true
nodeAnalyzer:
runtimeScanner:
settings:
eveEnabled: true
deploy: true
apiEndpoint: API_ENDPOINT
benchmarkRunner:
deploy: false
kspmCollector:
apiEndpoint: API_ENDPOINT
여기서,
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
3단계. Helm 차트 설치
에이전트, 보안 구성요소 또는 둘 다를 배치하려면 sysdig/sysdig-deploy
차트를 설치해야 합니다. 이전 단계에서 구성한 것과 같은 변수 yaml 파일을 사용하여 차트를 설치하거나 변수를 직접 구성할 수 있습니다.
helm 차트 및 변수 yaml 파일을 사용하여 에이전트를 설치하려면 다음 명령을 실행하십시오.
helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
helm 차트를 사용하고 변수를 설정하여 에이전트를 설치하려면 다음 명령을 실행하십시오.
helm install sysdig-agent sysdig/sysdig-deploy --namespace ibm-observe --create-namespace\
--set global.sysdig.accessKey=<SERVICE_ACCESS_KEY> \
--set agent.collectorSettings.collectorHost=<INGESTION_ENDPOINT> \
--set nodeAnalyzer.nodeAnalyzer.apiEndpoint=<API_ENDPOINT> \
--set nodeAnalyzer.nodeAnalyzer.runtimeScanner.settings.eveEnabled=true \
--set nodeAnalyzer.secure.vulnerabilityManagement.newEngineOnly=true \
--set global.kspm.deploy=true \
--set nodeAnalyzer.nodeAnalyzer.benchmarkRunner.deploy=false \
--set global.clusterConfig.name=<CLUSTER_NAME> \
--set kspmCollector.apiEndpoint=<API_ENDPOINT> \
--set agent.image.registry=icr.io \
--set agent.slim.image.repository=ext/sysdig/agent-slim \
--set agent.slim.kmoduleImage.repository=ext/sysdig/agent-kmodule
여기서,
CLUSTER_NAME
은 에이전트를 배치하는 클러스터의 이름입니다.SERVICE_ACCESS_KEY
는 Workload Protection 인스턴스 액세스 키입니다.INGESTION_ENDPOINT
는 인스턴스의 수집 엔드포인트입니다.API_ENDPOINT
는 인스턴스의 API 엔드포인트입니다.
예를 들어, 미국 동부 지역의 경우 샘플 Helm 설치는 다음과 같습니다.
helm install sysdig-agent sysdig/sysdig-deploy --namespace ibm-observe \
--set global.sysdig.accessKey=<ENTER_YOUR_ACCESS_KEY> \
--set agent.collectorSettings.collectorHost=ingest.us-east.security-compliance-secure.cloud.ibm.com \
--set nodeAnalyzer.nodeAnalyzer.apiEndpoint=us-east.security-compliance-secure.cloud.ibm.com \
--set global.kspm.deploy=true \
--set nodeAnalyzer.nodeAnalyzer.benchmarkRunner.deploy=false \
--set global.clusterConfig.name=mycluster-au-syd \
--set kspmCollector.apiEndpoint=us-east.security-compliance-secure.cloud.ibm.com \
--set agent.image.registry=icr.io \
--set agent.slim.image.repository=ext/sysdig/agent-slim \
--set agent.slim.kmoduleImage.repository=ext/sysdig/agent-kmodule
Error: INSTALLATION FAILED: Kubernetes cluster unreachable: xxxxxx failed to refresh token: oauth2: cannot fetch token: 400 Bad Request
오류가 발생하면 클러스터 컨텍스트를 설정하고 다시 시도하십시오.
에이전트 업데이트
Helm을 사용하여 에이전트 버전을 업데이트하려면 다음 단계를 완료하십시오.
-
차트를 업데이트하십시오.
helm repo update
-
에이전트를 배치하는 데 사용한 값 yaml 파일을 찾고 배치할 에이전트의 버전으로
agent.image.tag
를 수정하십시오. -
에이전트를 업그레이드하십시오.
helm upgrade -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
에이전트 제거
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-observe
Helm의 경우
sysdig-agent
은 릴리스의 이름입니다.명령에 네임스페이스를 포함하지 않으면
Error: uninstall: Release not loaded: sysdig-agent: release: not found
오류가 발생합니다.