Helm 차트를 사용하여 Satellite 클러스터에서 Workload Protection 에이전트 관리하기
Helm 차트를 사용하여 Satellite 클러스터에서 Workload Protection 에이전트를 설치, 업그레이드 및 삭제할 수 있습니다.
시작하기 전에
-
IBM Cloud CLI, Kubernetes Service 플러그인, IBM Cloud Container Registry 플러그인, 그리고 Red Hat OpenShift 및 Kubernetes CLI를 설치하십시오. 자세한 내용은 ‘CLI 설치 ’를 참조하십시오.
-
로컬 컴퓨터에 Helm CLI의 최신 버전을 설치하십시오. Helm 3.6 이상 버전이 필요합니다.
HelmKubernetes 용 패키지 관리자로, Helm 차트를 사용하여 클러스터 내의 복잡한 Kubernetes 애플리케이션을 정의, 설치 및 업그레이드합니다. Helm 차트는 앱을 빌드하는 Kubernetes 리소스의 YAML 파일을 생성하기 위한 스펙을 패키징합니다. 이러한 Kubernetes 리소스는 클러스터에 자동으로 적용되며, Helm 에 의해 특정 버전에 할당됩니다. 또한 Helm을 사용하여 고유한 앱을 지정하고 패키할 수 있으며 Helm을 통해 Kubernetes 리소스에 대한 YAML 파일을 생성할 수 있습니다.
-
Workload Protection
ingest엔드포인트를 가져오십시오. Satellite 위치에 액세스한 후 엔드포인트 링크 및 시스템 엔드포인트를 선택하십시오.satellite-sysdig-로 시작하는system엔드포인트(ingest.private.<region>.monitoring.cloud.ibm.com을 가리키는)를 복사하세요. 이 엔드포인트는 나중에INGESTION_SATELLITE_ENDPOINT으로 사용할 수 있습니다. -
클러스터에서 Workload Protection 엔드포인트로의 아웃바운드 트래픽은
443및6443로 포팅해야 합니다. -
클러스터에 Workload Protection 에이전트를 배포하는 데 필요한 액세스 권한과 권한이 있는지 확인하십시오.
-
클러스터에서
ibm-observe네임스페이스가 사용 가능한지 확인하십시오. 이 에이전트는 이 네임스페이스에 배포되어 있습니다.네임스페이스를 생성하려면
oc adm new-project --node-selector='' ibm-observe``을 실행하십시오. -
Workload Protection
ingest엔드포인트를 가져오십시오. Satellite 위치에 액세스한 후 엔드포인트 링크 및 시스템 엔드포인트를 선택하십시오.satellite-sysdig-로 시작하는system엔드포인트를 복사하세요. 이 엔드포인트는ingest.private.<region>.monitoring.cloud.ibm.com을 가리킵니다. 이 엔드포인트는 나중에INGESTION_SATELLITE_ENDPOINT으로 사용할 수 있습니다. -
클러스터에서 Workload Protection 엔드포인트로 나가는 트래픽이
443및6443포트에서 허용되는지 확인하십시오.
Workload Protection Satellite 링크 엔드포인트 생성
HTTPS Satellite Link 콘솔 또는 CLI를 사용하여 를 생성하여 Workload Protection 의 비공개 엔드포인트에 안전하게 연결하십시오.
- Workload Protection 사설 엔드포인트 를 가져오십시오. 예를 들어, Workload Protection 인스턴스가
us-east에 있는 경우, 해당 엔드포인트는private.us-east.security-compliance-secure.cloud.ibm.com입니다. - Satellite 위치 대시보드로 이동합니다. '링크 엔드포인트'를 클릭한 다음, '엔드포인트 만들기'를 클릭합니다.
- 클라우드를 선택하여 위치 외부에서 실행되는 서비스, 서버 또는 앱에 대한 엔드포인트를 작성하십시오.
- 엔드포인트 이름, 1단계에서 정의한 Workload Protection 사설 엔드포인트인 대상 도메인 이름(FQDN), 그리고 대상 포트
443을 입력하십시오. - HTTPS 프로토콜 을 선택하십시오.
- 작성을 클릭하십시오. 엔드포인트에 포트를 할당하기 위해 Satellite Link 커넥터 컴포넌트가 엔드포인트에 포트를 할당할 때까지 잠시 기다려 주십시오.
- 엔드포인트에 해당하는 테이블 행에서, Satellite Link 커넥터의 호스트명과 엔드포인트의 포트를 복사하십시오. 다음 단계에서 이를 ‘
API_ENDPOINT’로 사용해야 합니다.
에이전트 배포
Helm 를 사용하여 에이전트를 배포하려면 다음 단계를 따르십시오.
클러스터 컨텍스트 설정
-
계정에 로그인하십시오. 연합 계정이 있는 경우,
--sso옵션을 포함하십시오.ibmcloud login [-g <resource_group>] [--sso] -
클러스터에 대한
kubeconfig구성 파일을 다운로드하여kubeconfig의 기존~/.kube/config또는KUBECONFIG환경 변수의 마지막 파일에 추가하십시오.ibmcloud oc cluster config --cluster <cluster_name_or_ID> -
브라우저에서 클러스터 컨트롤러의 주소인 URL 로 이동한 후,
/console를 추가하세요. 예를 들어,https://c0.containers.cloud.ibm.com:23652/console입니다. -
Red Hat OpenShift 웹 콘솔의 메뉴 모음에서 프로필 IAM#user.name@email.com > 로그인 명령 복사 을 클릭합니다. CLI에서 인증을 수행하려면 ‘
oc login’ 토큰 명령어를 확인하고 이를 명령줄에 복사하여 입력하십시오. -
버전을 확인하여 클러스터에서
oc명령이 올바르게 실행되는지 확인하십시오.oc version출력 예:
Client Version: v4.11.0 Kubernetes Version: v1.25.8.2
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 ’ 차트가 목록에 포함되어 있는지 확인하십시오.
Helm 값 파일 작성
YAML 파일을 정의하고, 배포할 예정인 Workload Protection 구성 요소에 대한 값을 포함시키십시오. 예를 들어, 파일 이름을 ‘ agent-values-monitor-secure.yaml ’로 지정하세요.
다음의 YAML 은 Workload Protection 구성 요소를 구성하는 데 사용할 수 있는 템플릿입니다. 에이전트 배포에 필요하지 않은 섹션을 삭제하거나 # 로 주석 처리하여 파일을 사용자 정의할 수 있습니다.
agent:
ebpf:
enabled: true
kind: universal_ebpf
collectorSettings:
collectorHost: INGESTION_SATELLITE_ENDPOINT
collectorPort: INGESTION_SATELLITE_ENDPOINT_PORT
slim:
enabled: true
global:
clusterConfig:
name: CLUSTER_NAME
kspm:
deploy: true
sysdig:
accessKey: SERVICE_ACCESS_KEY
apiHost: API_ENDPOINT
nodeAnalyzer:
secure:
vulnerabilityManagement:
newEngineOnly: true
nodeAnalyzer:
runtimeScanner:
deploy: false
benchmarkRunner:
deploy: false
hostScanner:
deploy: false
deploy: true
natsUrl: wss://API_ENDPOINT
sslVerifyCertificate: false
kspmCollector:
natsUrl: wss://API_ENDPOINT
sslVerifyCertificate: false
clusterScanner:
enabled: true
eveEnabled: true
sslVerifyCertificate: false
여기서:
CLUSTER_NAME- 에이전트를 배포할 클러스터의 이름입니다.
SERVICE_ACCESS_KEY- Workload Protection 인스턴스의 액세스 키.
INGESTION_SATELLITE_ENDPOINT- 앞서 추출한 Satellite 엔드포인트는 인제스트 엔드포인트를 가리킵니다. 예를 들어,
c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud입니다. INGESTION_SATELLITE_ENDPOINT_PORT- 앞서 추출한 Satellite 엔드포인트의 포트로, 이 엔드포인트는
ingest엔드포인트를 가리킵니다. 예:30771. API_ENDPOINT- 앞서 추출한 Satellite 엔드포인트는 Workload Protection 비공개 API 엔드포인트를 가리킵니다. 예를 들어,
c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924입니다. 이 경우 호스트 이름과 포트가 모두 함께 정의됩니다.
Helm 차트를 설치하세요
에이전트, Workload Protection 구성 요소 또는 둘 다를 배포하려면 sysdig/sysdig-deploy 차트를 설치하고, 이전 단계에서 구성한 YAML 변수 파일을 사용하십시오.
helm 차트를 사용하여 다음 명령을 실행하여 에이전트를 설치하십시오.
helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
Helm 값 파일을 사용하지 않고 Workload Protection 구성 요소를 직접 설치하려면 다음 명령을 실행하면 됩니다. --set 를 사용하여 모든 변수를 설정하십시오.
helm install sysdig-agent sysdig/sysdig-deploy --namespace ibm-observe --create-namespace \
--set agent.ebpf.enabled=true \
--set agent.ebpf.kind=universal_ebpf \
--set global.sysdig.accessKey=<SERVICE_ACCESS_KEY> \
--set global.sysdig.apiHost=<API_ENDPOINT> \
--set agent.collectorSettings.collectorHost=<INGESTION_SATELLITE_ENDPOINT> \
--set agent.collectorSettings.collectorPort=<INGESTION_SATELLITE_ENDPOINT_PORT> \
--set nodeAnalyzer.natsUrl=wss://<API_ENDPOINT> \
--set nodeAnalyzer.nodeAnalyzer.runtimeScanner.deploy=false \
--set nodeAnalyzer.nodeAnalyzer.hostScanner.deploy=false \
--set nodeAnalyzer.nodeAnalyzer.benchmarkRunner.deploy=false \
--set nodeAnalyzer.nodeAnalyzer.sslVerifyCertificate=false \
--set nodeAnalyzer.secure.vulnerabilityManagement.newEngineOnly=true \
--set global.kspm.deploy=true \
--set global.clusterConfig.name=<CLUSTER_NAME> \
--set kspmCollector.natsUrl=wss://<API_ENDPOINT> \
--set kspmCollector.sslVerifyCertificate=false \
--set clusterScanner.enabled=true \
--set clusterScanner.eveEnabled=true \
--set clusterScanner.sslVerifyCertificate=true
여기서:
CLUSTER_NAME- 에이전트를 배포할 클러스터의 이름입니다.
SERVICE_ACCESS_KEY- Workload Protection 인스턴스의 액세스 키.
INGESTION_SATELLITE_ENDPOINT- 앞서 추출한 Satellite 엔드포인트는
ingest엔드포인트를 가리킵니다. 예:c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud. INGESTION_SATELLITE_ENDPOINT_PORT- 앞서 추출한 Satellite 엔드포인트의 포트로, 이 엔드포인트는
ingest엔드포인트를 가리킵니다. 예:30771. API_ENDPOINT- 앞서 추출한 Satellite 엔드포인트는 Workload Protection 비공개 API 엔드포인트를 가리킵니다. 예를 들어,
c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924입니다. 이 경우 호스트 이름과 포트가 모두 함께 정의됩니다.
에이전트 업데이트
Workload Protection 에이전트는 최소한 2개월에 한 번씩 업데이트하십시오.
Helm을 사용하여 에이전트 버전을 업데이트하려면 다음 단계를 완료하십시오.
-
Helm 저장소를 업데이트하세요.
helm repo update -
에이전트를 업그레이드하십시오.
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.37.10 -
차트를 설치 제거하십시오.
helm delete sysdig-agent -n ibm-observeHelm 에서
sysdig-agent는 릴리스 이름입니다.