HELM チャートを使用した Red Hat OpenShift での Workload Protection エージェントの管理
Helm チャートを使用して、 Red Hat OpenShift クラスター上の Workload Protection エージェントをインストール、アップグレード、および削除できます。
開始前に
-
バージョン 3 の Helm CLI の最新リリースをローカル・マシンにインストールします。
Helm 3.6 以降が必要です。
-
Red Hat OpenShift (
oc
) CLI および Kubernetes (kubectl
) CLI をインストールします。 -
Workload Protection エージェントをクラスターにデプロイするためのアクセス権限と権限があることを確認します。
-
ibm-observe
プロジェクトがクラスター内で使用可能であることを確認します。 エージェントはこのプロジェクトにデプロイされます。プロジェクトは、クラスター内の名前空間です。
oc adm new-project --node-selector='' ibm-observe
を実行して、プロジェクトを作成できます。
エージェントのデプロイ
Helmを使用してエージェントをデプロイするには、以下のステップを実行します。
ステップ 1. クラスター・コンテキストのセットアップ
以下のステップを実行します。
-
アカウントにログインします。 統合されたアカウントがある場合は、
--sso
オプションを含めます。ibmcloud login [-g <resource_group>] [--sso]
-
クラスターの
kubeconfig
構成ファイルをダウンロードし、kubeconfig
の既存の~/.kube/config
に追加するか、KUBECONFIG
環境変数の最後のファイルに追加します。ibmcloud oc cluster config --cluster <cluster_name_or_ID>
-
ブラウザーで、マスター URL のアドレスに
/console
を付加してナビゲートします。 例えば、https://c0.containers.cloud.ibm.com:23652/console
などです。 -
Red Hat OpenShift Web コンソールのメニュー・バーで、自分のプロファイルの**「IAM#user.name@email.com」>「ログイン・コマンドのコピー (Copy Login Command)」**をクリックします。 CLI から認証するために、
oc login
トークン・コマンドを表示してコマンド・ラインにコピーします。 -
バージョンを調べて、ご使用のクラスターで
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 インスタンスに追加します。
-
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
-
すべての Helm チャートの最新バージョンを取得するようにリポジトリーを更新します。
helm repo update
-
Sysdig リポジトリーで現在使用可能な Helm チャートをリストします。
helm search repo sysdig
-
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を使用してエージェント・バージョンを更新するには、以下の手順を実行します。
-
チャートを更新します。
helm repo update
-
エージェントをデプロイするために使用した値 yaml ファイルを見つけ、デプロイするエージェントのバージョンに合わせて
agent.image.tag
を変更します。 -
エージェントをアップグレードします。
helm upgrade -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
エージェントの削除
Helmを使用してエージェントを削除するには、チャートをアンインストールする必要があります。
以下のステップを実行します。
-
インストールされているチャートをリストします。
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
-
チャートをアンインストールします。
helm delete sysdig-agent -n ibm-observe
Helmの用語では、
sysdig-agent
はリリースの名前です。コマンドに名前空間を含めるのを忘れた場合は、
Error: uninstall: Release not loaded: sysdig-agent: release: not found
というエラーが表示されます。