Helm チャートを使用して、 Kubernetes クラスター内の Workload Protection エージェントを管理する
Kubernetes クラスタに Workload Protection エージェントをインストール、アップグレード、および削除するには、 Helm チャートを使用できます。
また、コンソールを使用して、既存の Red Hat OpenShift または Kubernetes クラスターを Workload Protection のインスタンスに接続することもできます。 IBM Cloud コンソールで、[ Containers] > [Clusters ] に移動し、既存のクラスターにアクセスします。 次に、 Workload Protection ウィジェットの 「接続 」をクリックして、クラスターを Workload Protection に接続します。
開始前に
-
IBM Cloud CLI、 Kubernetes Service プラグイン、および IBM Cloud Container Registry プラグインをインストールします。 詳細については、「 CLIのインストール 」をご覧ください。
-
ローカルマシンに、 Helm CLI の最新リリースをインストールしてください。 Helm 3.6 以降のバージョンが必要です。
Helm これは、 Helm のチャートを使用して、クラスタ内の複雑な Kubernetes アプリケーションを定義、インストール、およびアップグレードするための Kubernetes パッケージマネージャーです。 Helm チャートには、アプリを作成する Kubernetes リソースの YAML ファイルを生成するための指定内容がパッケージ化されています。 これらの Kubernetes リソースは、 Helm によってクラスターに自動的に適用され、バージョンに割り当てられます。 Helm を使用して独自のアプリを指定およびパッケージ化して、Kubernetes リソースの YAML ファイルを Helm に生成させることもできます。
-
クラスタに Workload Protection エージェントをデプロイするために必要なアクセス権と権限が与えられていることを確認してください。
-
クラスタ内で「
ibm-observe」ネームスペースが利用可能であることを確認してください。 このエージェントはこのネームスペースにデプロイされています。名前空間を作成するには、
kubectl create namespace ibm-observeを実行してください。 -
クラスタから Workload Protection エンドポイントへの送信トラフィックが、ポート
443および6443で許可されていることを確認してください。 エージェントを仮想プライベートエンドポイント(VPE)経由で接続する場合、クラスターからのアウトバウンドトラフィックについては、両方のポートで通信を許可する必要があります。
エージェントの展開
Helm を使用してエージェントをデプロイするには、以下の手順を実行してください。
Sysdig Helm リポジトリーのセットアップ
「 Workload Protection 」 Helm リポジトリを、 Helm インスタンスに追加してください。
-
クラスター・コンテキストを設定します。
ibmcloud ks cluster config --cluster <CLUSTER_NAME> -
Helm リポジトリを追加します。
helm repo add sysdig https://charts.sysdig.com -
リポジトリを更新して、すべての Helm チャートの最新バージョンを取得します。
helm repo update -
Sysdig リポジトリで現在利用可能な「 Helm 」のチャートを一覧表示してください。
helm search repo sysdig -
「
sysdig/sysdig-deploy」の「 Helm 」チャートがリストされていることを確認してください。
YAML ファイルを作成する
YAML ファイルを定義し、 Workload Protection エージェントおよび展開を予定しているSecureコンポーネントを展開するための値を含めます。 たとえば、ファイル名を「 agent-values-monitor-secure.yaml 」とします。
以下の「 YAML 」は、 Workload Protection エージェントおよびSecureコンポーネントの設定に使用できるテンプレートです。 エージェントで必要のないセクションを削除するか、 # でコメントアウトすることで、ファイルをカスタマイズできます。
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:
imageRegistry: icr.io/ext
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: ingest.private.us-east.security-compliance-secure.cloud.ibm.com: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です。
「 Helm 」チャートをインストールする
エージェント、Secureコンポーネント、あるいはその両方をデプロイするには、「 sysdig/sysdig-deploy 」チャートをインストールしてください。 前の手順で設定したような変数 YAML ファイルを使用してチャートをインストールすることも、変数を直接設定することもできます。
Helm チャートと変数 YAML ファイルを使用してエージェントをインストールするには、次のコマンドを実行してください:
helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
以下の例は、 us-east 地域向けの Helm 値ファイルのサンプルを示しています:
agent:
ebpf:
enabled: true
kind: universal_ebpf
collectorSettings:
collectorHost: ingest.private.us-east.security-compliance-secure.cloud.ibm.com
sysdig:
settings:
host_scanner:
enabled: true
kspm_analyzer:
enabled: true
sysdig_api_endpoint: private.us-east.security-compliance-secure.cloud.ibm.com
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:
imageRegistry: icr.io/ext
clusterConfig:
name: my-cluster
sysdig:
accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
apiHost: private.us-east.security-compliance-secure.cloud.ibm.com
nodeAnalyzer:
enabled: false
clusterShield:
enabled: true
cluster_shield:
sysdig_endpoint:
region: custom
api_url: https://private.us-east.security-compliance-secure.cloud.ibm.com
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
エージェントの更新
Helmを使用してエージェント・バージョンを更新するには、以下の手順を実行します。
-
Helm リポジトリを更新します。
helm repo update -
エージェントをアップグレードします。
helm upgrade -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
以下の手順に従うと、エージェントが利用可能な最新バージョンにアップグレードされます。
エージェントの削除
コンソールを使用して、クラスターからエージェントを削除することもできます。 IBM Cloud コンソールで、[ Containers] > [Clusters ] に移動し、既存のクラスターにアクセスします。 次に、「 Workload Protection 」ウィジェットの 「オプション」 メニューを開き、「 切断」 を選択します。
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-observeHelm では、
sysdig-agentがリリースの名称です。