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 엔드포인트로 나가는 트래픽이
443및6443포트에서 허용되는지 확인하십시오. 에이전트를 가상 사설 엔드포인트(VPE)를 통해 연결하는 경우, 클러스터에서 나가는 트래픽에 대해 두 포트 모두 허용되어야 합니다.
에이전트 배포
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관리자 권한이 필요한 오퍼레이션(예: 클러스터에 있는 모든 작업자 노드 또는 팟(Pod) 나열)을 수행할 수 없으면
ibmcloud oc cluster config --cluster <cluster_name_or_ID> --admin명령을 실행하여 클러스터 관리자에 적합한 TLS 인증서 및 권한 파일을 다운로드하십시오.
Sysdig Helm 저장소 설정하기
Workload Protection Helm 저장소를 Helm 인스턴스에 추가하십시오.
-
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: 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을 사용하여 에이전트 버전을 업데이트하려면 다음 단계를 완료하십시오.
-
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는 릴리스 이름입니다.