IBM Cloud Docs
HELM チャートを使用した Red Hat OpenShift での Workload Protection エージェントの管理

HELM チャートを使用した Red Hat OpenShift での Workload Protection エージェントの管理

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

開始前に

エージェントのデプロイ

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

ステップ 1. クラスター・コンテキストのセットアップ

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

  1. アカウントにログインします。 統合されたアカウントがある場合は、--sso オプションを含めます。

    ibmcloud login [-g <resource_group>] [--sso]
    
  2. クラスターの kubeconfig 構成ファイルをダウンロードし、kubeconfig の既存の ~/.kube/config に追加するか、KUBECONFIG 環境変数の最後のファイルに追加します。

    ibmcloud oc cluster config --cluster <cluster_name_or_ID>
    
  3. ブラウザーで、マスター URL のアドレスに /console を付加してナビゲートします。 例えば、https://c0.containers.cloud.ibm.com:23652/consoleなどです。

  4. Red Hat OpenShift Web コンソールのメニュー・バーで、自分のプロファイルの**「IAM#user.name@email.com」>「ログイン・コマンドのコピー (Copy Login Command)」**をクリックします。 CLI から認証するために、 oc login トークン・コマンドを表示してコマンド・ラインにコピーします。

  5. バージョンを調べて、ご使用のクラスターで oc コマンドが正常に実行されることを確認します。

    oc version
    

    出力例

    Client Version: v4.11.0
    Kubernetes Version: v1.25.8.2
    

    クラスター内のすべてのワーカー・ノードまたはポッドのリストなど、管理者権限を必要とする操作を実行できない場合は、ibmcloud oc cluster config --cluster <cluster_name_or_ID> --admin コマンドを実行して、クラスター管理者の TLS 証明書と許可ファイルをダウンロードします。

ステップ 2 Sysdig Helm リポジトリーをセットアップします。

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

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

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

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

ステップ 3。 値 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

ステップ 4: Helm チャートのインストール

エージェント、セキュア・コンポーネント、またはその両方をデプロイするには、 sysdig/sysdig-deploy チャートをインストールし、前のステップで構成した変数 yaml ファイルを使用する必要があります。

helm チャートを使用してエージェントをインストールするには、以下のコマンドを実行します。

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

以下のコマンドを実行して、helm チャートと変数 yaml ファイルを使用してエージェントをインストールします。

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 エンドポイントです。

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