IBM Cloud Docs
HELM チャートを使用した Kubernetes クラスターでの Workload Protection エージェントの管理

HELM チャートを使用した Kubernetes クラスターでの Workload Protection エージェントの管理

Helm チャートを使用して、 Kubernetes クラスター上の Workload Protection エージェントをインストール、アップグレード、および削除できます。

開始前に

  • IBM Cloud CLI (ibmcloud)、Kubernetes Service プラグイン (ibmcloud oc)、および IBM Cloud Container Registry プラグイン (ibmcloud cr) をインストールします

  • バージョン 3 の Helm CLI の最新リリースをローカル・マシンにインストールします。

    Helm 3.6 以降が必要です。

    Helm は、 Helm チャートを使用してクラスター内の複雑な Kubernetes アプリを定義、インストール、およびアップグレードする Kubernetes パッケージ・マネージャーです。 Helm チャートには、アプリを作成する Kubernetes リソースの YAML ファイルを生成するための指定内容がパッケージ化されています。 これらの Kubernetes リソースは、クラスターに自動的に適用され、 Helmによってバージョンに割り当てられます。 Helm を使用して独自のアプリを指定およびパッケージ化して、Kubernetes リソースの YAML ファイルを Helm に生成させることもできます。

  • Workload Protection エージェントをクラスターにデプロイするためのアクセス権限と権限があることを確認します。

  • ibm-observe 名前空間がクラスター内で使用可能であることを確認します。 エージェントはこの名前空間にデプロイされます。

    以下のコマンドを実行して、名前空間を作成できます。 kubectl create namespace ibm-observe

エージェントのデプロイ

Helmを使用してエージェントをデプロイするには、以下のステップを実行します。

ステップ 1. Sysdig Helm リポジトリーのセットアップ

Workload Protection Helm リポジトリーを Helm インスタンスに追加します。

以下のステップを実行します。

  1. クラスター・コンテキストを設定します。

    ibmcloud ks cluster config --cluster <CLUSTER_NAME>
    
  2. 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
    
  3. すべての Helm チャートの最新バージョンを取得するようにリポジトリーを更新します。

    helm repo update
    
  4. Sysdig リポジトリーで現在使用可能な Helm チャートをリストします。

    helm search repo sysdig
    
  5. Helm チャート sysdig/sysdig-deploy がリストされていることを確認します。

ステップ 2 値 yaml ファイルの作成

yaml ファイルを定義し、デプロイする予定の Workload Protection エージェントと Secure コンポーネントをデプロイするための値を含めます。 例えば、ファイルに agent-values-monitor-secure.yaml という名前を付けます。

以下の yaml は、 Workload Protection エージェントおよび Secure コンポーネントを構成するために使用できるテンプレートです。 このファイルをカスタマイズするには、エージェント・デプロイメントに不要なセクションを # から削除するか、このセクションにコメントを付けます。

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を使用してエージェント・バージョンを更新するには、以下の手順を実行します。

  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 というエラーが表示されます。