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 をインストール、アップグレード、および削除できます。
-
ローカル・マシン上の 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
-
helm repo update
を発行して、リポジトリー参照を更新します。 -
Helm Sysdig リポジトリで現在利用可能なチャートをリストアップします。
helm search repo sysdig
-
Helm チャート
sysdig/sysdig-deploy
がリストされていることを確認します。 -
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を使用してエージェント・バージョンを更新するには、以下の手順を実行します。
-
チャートを更新します。
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
というエラーが表示されます。