HELM 차트를 사용하여 ' Red Hat OpenShift '에서 ' Monitoring 상담원 관리하기

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

시작하기 전에

  • 로컬 컴퓨터에 버전 3 Helm CLI 의 최신 릴리스를 설치하십시오.

    HelmKubernetes 용 패키지 관리자로, Helm 차트를 사용하여 클러스터 내의 복잡한 Kubernetes 애플리케이션을 정의, 설치 및 업그레이드합니다. Helm 차트는 앱을 빌드하는 Kubernetes 리소스의 YAML 파일을 생성하기 위한 스펙을 패키징합니다. 이러한 Kubernetes 리소스는 클러스터에서 자동으로 적용되고 Helm에 의해 버전이 지정됩니다. 또한 Helm을 사용하여 고유한 앱을 지정하고 패키할 수 있으며 Helm을 통해 Kubernetes 리소스에 대한 YAML 파일을 생성할 수 있습니다.

  • 클러스터에 Monitoring 에이전트를 배포할 수 있는 액세스 권한과 권한이 있는지 확인합니다.

  • 클러스터에서 ' ibm-observe 네임스페이스를 사용할 수 있는지 확인합니다. 이 에이전트는 이 네임스페이스에 배포되어 있습니다.

상담원 배포

Helm 사용하여 에이전트를 배포하려면 다음 단계를 완료하세요:

1단계. 시스디그 Helm 리포지토리 설정하기

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

다음 단계를 완료하십시오.

  1. 클러스터 컨텍스트를 설정합니다.

    obmcloud ks cluster config --cluster <CLUSTER_NAME>
    
  2. Helm 저장소를 추가하세요.

    helm repo add sysdig https://charts.sysdig.com
    
  3. 모든 Helm 차트의 최신 버전을 검색하려면 저장소를 업데이트하십시오.

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

    helm search repo sysdig
    
  5. Helm 차트 ' sysdig/sysdig-deploy '이 나열되어 있는지 확인합니다.

다음 오류를 수신하는 경우

helm repo add sysdig https://charts.sysdig.com    --debug
Error: context deadline exceeded
helm.go:84: [debug] context deadline exceeded

다음 명령을 실행하고 다시 시도하세요.

rm $HOME/Library/Preferences/helm/repositories.lock

2단계. 값이 포함된 YAML 파일을 생성합니다

Yaml 파일을 정의하고 배포할 ' Monitoring 에이전트와 ' Workload Protection ' 구성 요소를 배포할 값을 포함하세요. 예를 들어 파일 이름을 ' agent-values-monitor-secure.yaml 로 지정합니다.

다음 yaml은 Monitoring 에이전트 및 Workload Protection 구성 요소를 구성하는 데 사용할 수 있는 템플릿입니다. 상담원 배포에 필요하지 않은 섹션을 제거하거나 ' # '로 주석을 달아 파일을 사용자 지정할 수 있습니다.

global:
  clusterConfig:
    name: CLUSTER_NAME
  sysdig:
    accessKey: MONITORING_INSTANCE_ACCESS_KEY
    secureAPIToken: SECURE_TOKEN
  kspm:
    deploy: true
agent:
  image:
    tag: AGENT_TAG
    registry: icr.io
  slim:
    enabled: true
    image:
      repository: ext/sysdig/agent-slim
    kmoduleImage:
      repository: ext/sysdig/agent-kmodule
  collectorSettings:
    collectorHost: INGESTION_ENDPOINT    # for example, ingest.eu-gb.monitoring.cloud.ibm.com
nodeAnalyzer:
  nodeAnalyzer:
    deploy: true
    apiEndpoint: API_ENDPOINT   # for example, eu-gb.monitoring.cloud.ibm.com
    benchmarkRunner:
      deploy: false
kspmCollector:
  apiEndpoint: API_ENDPOINT    # for example, eu-gb.monitoring.cloud.ibm.com
admissionController:
  enabled: true
  sysdig:
    url: WEB_UI_ENDPOINT    # for example, https://ingest.eu-gb.monitoring.cloud.ibm.com
  clusterName: CLUSTER_NAME

여기서,

  • CLUSTER_NAME '은 에이전트를 배포할 클러스터의 이름입니다.
  • MONITORING_INSTANCE_ACCESS_KEY '은 Monitoring 인스턴스 액세스 키입니다.
  • SECURE_TOKEN '은 보안 API 토큰입니다.
  • AGENT_TAG 이는 배포할 예정인 에이전트의 버전입니다.
  • INGESTION_ENDPOINT '은 인스턴스의 수집 엔드포인트입니다.
  • API_ENDPOINT '은 인턴의 API 엔드포인트입니다.
  • WEB_UI_ENDPOINT '은 인스턴스의 웹 UI 엔드포인트입니다.

에이전트를 배포하기 위한 값 샘플 YAML 파일

예를 들어 Monitoring 에이전트만 배포하는 다음 값 파일 샘플을 참조하세요:

global:
  clusterConfig:
    name: mycluster-au-syd
  sysdig:
    accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    secureAPIToken: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  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: ingest.au-syd.monitoring.cloud.ibm.com

에이전트 및 Node 분석기를 배포하기 위한 값 샘플 yaml 파일

예를 들어 Monitoring 에이전트와 Node 분석기 구성 요소를 배포하는 다음 값 파일 샘플을 참조하세요:

global:
  clusterConfig:
    name: mycluster-au-syd
  sysdig:
    accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    secureAPIToken: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  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: ingest.au-syd.monitoring.cloud.ibm.com
nodeAnalyzer:
  nodeAnalyzer:
    deploy: true
    apiEndpoint: API_ENDPOINT   # for example, eu-gb.monitoring.cloud.ibm.com
    benchmarkRunner:
      deploy: false

3단계. 헬름 차트 설치

에이전트, Workload Protection 구성 요소 또는 둘 다를 배포하려면 ' sysdig/sysdig-deploy 차트를 설치하고 이전 단계에서 구성한 변수 yaml 파일을 사용해야 합니다.

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

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

다음과 같은 오류가 발생하는 경우: ' Error: INSTALLATION FAILED: Kubernetes cluster unreachable: xxxxxx failed to refresh token: oauth2: cannot fetch token: 400 Bad Request, 클러스터 컨텍스트를 설정하고 다시 시도하세요.

상담원 업데이트

Helm 사용하여 에이전트 버전을 업데이트하려면 다음 단계를 완료한다:

  1. 차트를 업데이트합니다.

    helm repo update
    
  2. 에이전트를 배포하는 데 사용한 값 yaml 파일을 찾아 배포하려는 에이전트의 버전으로 ' agent.image.tag '을 수정합니다.

  3. 에이전트를 업그레이드하십시오.

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

상담원 제거하기

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 은 릴리스 이름입니다.

    명령에 네임스페이스를 포함하는 것을 잊은 경우 다음 오류가 발생합니다. Error: uninstall: Release not loaded: sysdig-agent: release: not found.