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

IBM Cloud 上で動作する機能に加え、 IBM Cloud® Security and Compliance Center Workload Protection が提供する一元化されたセキュリティおよびコンプライアンスフレームワークは、 Helm のチャートを使用して、 Kubernetes または Red Hat OpenShift クラスターに Workload Protection エージェントをインストールすることで、他のクラウド環境やオンプレミス環境でも実行可能です。

開始前に

  • ローカルマシンに、 Helm CLI の最新リリースをインストールしてください。 Helm 3.6 以降のバージョンが必要です。

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

  • クラスタに Workload Protection エージェントをデプロイするために必要なアクセス権と権限が与えられていることを確認してください。 Kubernetes クラスタでは、そのクラスタ上で kubectl コマンドを実行する権限が必要です。 Red Hat OpenShift クラスタでは、 oc コマンドを実行する権限が必要です。 適切な権限の取得方法や、クラスタにコマンドを送信するためのローカルマシンの設定方法の詳細については、お使いのクラスタのドキュメントをご確認ください。

  • クラスタ内で「 ibm-observe 」ネームスペースが利用可能であることを確認してください。 このエージェントはこのネームスペースにデプロイされています。

    名前空間を作成するには、 kubectl create namespace ibm-observe を実行してください。

  • クラスタから Workload Protection エンドポイントへの送信トラフィックが、ポート 443 および 6443 で許可されていることを確認してください。

エージェントの展開

Helm の適切なバージョンと、クラスター上でコマンドを実行する権限を確保したら、 Helm を使用して、 Kubernetes または Red Hat OpenShift 上の Workload Protection エージェントのインストール、アップグレード、削除を行うことができます。

  1. ローカルマシンに、 Helm のチャート用リポジトリとしてSysdigを追加してください。

    helm repo add sysdig https://charts.sysdig.com
    

    以下のエラーを受け取る場合があります。

  2. リポジトリの参照情報を更新してください。

    helm repo update
    
  3. Sysdig リポジトリで現在利用可能な「 Helm 」のチャートを一覧表示してください。

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

  5. Workload Protection エージェントをインストールしてください。 YAML Helm という値ファイルを作成し、そこに値を一覧で記載した上で、そのファイルを参照するコマンドを実行することでインストールできます。

    Helm の値ファイルを使用してインストールするには、まず agent-values-monitor-secure.yaml という名前のファイルを作成します。 以下の「 YAML 」は、 Workload Protection エージェントの設定に使用できるテンプレートです。 エージェントで必要のないセクションを削除するか、 # でコメントアウトすることで、ファイルをカスタマイズできます。

    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:
      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 です。
  6. 次に、作成した Helm 値ファイルを指定して、インストールコマンドを実行します:

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

エージェントの更新

エージェントを利用可能な最新バージョンに更新するには、以下の手順を実行してください

  1. Helm リポジトリを更新します。

    helm repo update
    
  2. エージェントをアップグレードします。

    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 がリリースの名称です。