Helm のチャートを使用して、 Red Hat OpenShift で Workload Protection エージェントを管理する
Red Hat OpenShift クラスタに Workload Protection エージェントをインストール、アップグレード、および削除するには、 Helm チャートを使用できます。
また、コンソールを使用して、既存の Red Hat OpenShift または Kubernetes クラスターを Workload Protection のインスタンスに接続することもできます。 IBM Cloud コンソールで、[ Containers] > [Clusters] の順に選択し、既存のクラスターにアクセスします。 次に、 Workload Protection ウィジェットの 「接続 」をクリックして、クラスターを Workload Protection に接続します。
開始前に
-
ローカルマシンに、 Helm CLI の最新リリースをインストールしてください。 Helm 3.6 以降のバージョンが必要です。
-
IBM Cloud CLI、 Kubernetes Service プラグイン、 IBM Cloud Container Registry プラグイン、および Red Hat OpenShift と Kubernetes のCLIをインストールします。 詳細については、「 CLIのインストール 」をご覧ください。
-
クラスタに Workload Protection エージェントをデプロイするために必要なアクセス権と権限が与えられていることを確認してください。
-
クラスタ内で「
ibm-observe」プロジェクトが利用可能であることを確認してください。 エージェントはこのプロジェクトにデプロイされます。プロジェクトは、クラスター内の名前空間です。
プロジェクトを作成するには、
oc adm new-project --node-selector='' ibm-observeを実行してください。 -
クラスタから Workload Protection エンドポイントへの送信トラフィックが、ポート
443および6443で許可されていることを確認してください。 エージェントを仮想プライベートエンドポイント(VPE)経由で接続する場合、クラスターからのアウトバウンドトラフィックについては、両方のポートで通信を許可する必要があります。
エージェントの展開
Helm を使用してエージェントをデプロイするには、以下の手順を実行してください。
クラスタコンテキストを設定する
-
アカウントにログインします。 統合されたアカウントがある場合は、
--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 証明書と許可ファイルをダウンロードします。
Sysdigの Helm リポジトリを設定する
「 Workload Protection 」 Helm リポジトリを、 Helm インスタンスに追加してください。
-
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: 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です。
「 Helm 」チャートをインストールする
エージェント、Secureコンポーネント、あるいはその両方をデプロイするには、「 sysdig/sysdig-deploy 」チャートをインストールし、前の手順で設定した YAML ファイル内の変数を使用してください。
helm チャートを使用してエージェントをインストールするには、以下のコマンドを実行します。
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
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
エージェントの更新
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がリリースの名称です。