IBM Cloud Docs
Kubernetes または OpenShift の外部クラスターへのエージェントのデプロイ

Kubernetes または OpenShift の外部クラスターへのエージェントのデプロイ

IBM Cloudで実行する機能に加えて、 IBM Cloud® Security and Compliance Center Workload Protection が提供する集中化されたセキュリティーおよびコンプライアンスのフレームワークは、 Helm を使用して Workload Protect エージェントをインストールすることによって、他のクラウドおよびオンプレミスで実行することもできます。

開始前に

  • 最新リリースのバージョン 3 Helm CLI をローカルマシンにインストールしてください。

    Helm 3.6 以降が必要です。

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

  • Workload Protection エージェントをクラスターにデプロイするためのアクセス権限と権限があることを確認します。 Kubernetes クラスターでは、これはクラスターで kubectl コマンドを実行する権限があることを意味します。 OpenShift クラスターでは、これは oc コマンドを実行する権限があることを意味します。 適切なレベルの許可を取得し、クラスターにコマンドを適切に発行できるようにローカル・マシンをセットアップする方法について詳しくは、クラスターの資料を参照してください。

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

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

エージェントのデプロイ

十分なバージョンの Helm と、クラスターでコマンドを実行する許可を取得したら、 Helm を使用して、 Kubernetes または OpenShift上の Workload Protection をインストール、アップグレード、および削除できます。

  1. ローカル・マシン上の Helm チャートのリポジトリーとして Sysdig を追加します。

    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 repo update を発行して、リポジトリー参照を更新します。

  3. Helm Sysdig リポジトリで現在利用可能なチャートをリストアップします。

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

  5. Workload Protection をインストールします。 これを行うには、特定の値を設定する Helm コマンドを発行するか (これを --set メソッドと呼びます)、値がリストされている yaml Helm 値ファイルを作成し、そのファイルを参照するコマンドを発行します。 どちらのパスを使用しても、 Workload Protection エージェントを正常にインストールできます。

    a. 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.deploy=false \
    --set nodeAnalyzer.nodeAnalyzer.hostScanner.scanOnStart=true \
    --set nodeAnalyzer.secure.vulnerabilityManagement.newEngineOnly=true \
    --set global.kspm.deploy=true \
    --set nodeAnalyzer.nodeAnalyzer.benchmarkRunner.deploy=false \
    --set clusterScanner.enabled=true \
    --set global.clusterConfig.name=iks-ctolon \
    --set kspmCollector.apiEndpoint=<API_ENDPOINT>

ここで、

  • CLUSTER_NAME は、エージェントをデプロイしているクラスターの名前です。

  • SERVICE_ACCESS_KEY は、ワークロード保護インスタンスのアクセス・キーです。

  • INGESTION_ENDPOINT は、インスタンスの取り込みエンドポイントです。

  • API_ENDPOINT は、インスタンスの API エンドポイントです。

    b. Helm 値ファイルを使用してインストールするには、まず agent-values-monitor-secure.yaml という名前のファイル (または同様のファイル) を作成します。 以下の yaml は、 Workload Protection エージェントを構成するために使用できるテンプレートです。 このファイルをカスタマイズするには、エージェント・デプロイメントに不要なセクションを削除するか、 # にコメントを付けます。

global:
  clusterConfig:
    name: CLUSTER_NAME
  sysdig:
    accessKey: SERVICE_ACCESS_KEY
  kspm:
    deploy: true
agent:
  collectorSettings:
    collectorHost: INGESTION_ENDPOINT
nodeAnalyzer:
  secure:
    vulnerabilityManagement:
      newEngineOnly: true
  nodeAnalyzer:
    deploy: true
    runtimeScanner:
      deploy: false
    apiEndpoint: API_ENDPOINT
    benchmarkRunner:
      deploy: false
kspmCollector:
  apiEndpoint: API_ENDPOINT
clusterScanner:
  enabled: true

ここで、

  • CLUSTER_NAME は、エージェントをデプロイしているクラスターの名前です。
  • SERVICE_ACCESS_KEY は、ワークロード保護インスタンスのアクセス・キーです。
  • INGESTION_ENDPOINT は、インスタンスの取り込みエンドポイントです。
  • API_ENDPOINT は、インスタンスの API エンドポイントです。

次に、作成された Helm 値ファイルを参照してインストール・コマンドを実行します。

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

エージェントの更新

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