Helm チャートを使用して、 Satellite クラスター内の Workload Protection エージェントを管理する
Helm のチャートを使用すると、 Satellite クラスタ上の Workload Protection エージェントのインストール、アップグレード、および削除を行うことができます。
開始前に
-
IBM Cloud CLI、 Kubernetes Service プラグイン、 IBM Cloud Container Registry プラグイン、および Red Hat OpenShift と Kubernetes のCLIをインストールします。 詳細については、「 CLIのインストール 」をご覧ください。
-
ローカルマシンに、 Helm CLI の最新リリースをインストールしてください。 Helm 3.6 以降のバージョンが必要です。
Helm これは、 Helm のチャートを使用して、クラスター内の複雑な Kubernetes アプリケーションを定義、インストール、およびアップグレードする、 Kubernetes のパッケージマネージャーです。 Helm チャートには、アプリを作成する Kubernetes リソースの YAML ファイルを生成するための指定内容がパッケージ化されています。 これらの Kubernetes リソースは、 Helm によってクラスターに自動的に適用され、バージョンに割り当てられます。 Helm を使用して独自のアプリを指定およびパッケージ化して、Kubernetes リソースの YAML ファイルを Helm に生成させることもできます。
-
Workload Protection
ingestエンドポイントを取得します。 Satellite ロケーションにアクセスし、 「リンク・エンドポイント」 および 「システム・エンドポイント」 を選択します。satellite-sysdig-で始まる、systemのエンドポイント(ingest.private.<region>.monitoring.cloud.ibm.comを指しているもの)をコピーしてください。 このエンドポイントは、後でINGESTION_SATELLITE_ENDPOINTとして利用できます。 -
クラスタから Workload Protection エンドポイントへのアウトバウンド・トラフィックは、ポート
443および6443に接続する必要があります。 -
クラスタに Workload Protection エージェントをデプロイするために必要なアクセス権と権限が与えられていることを確認してください。
-
クラスタ内で「
ibm-observe」ネームスペースが利用可能であることを確認してください。 このエージェントはこのネームスペースにデプロイされています。名前空間を作成するには、
oc adm new-project --node-selector='' ibm-observeを実行してください。 -
Workload Protection
ingestエンドポイントを取得します。 Satellite ロケーションにアクセスし、 「リンク・エンドポイント」 および 「システム・エンドポイント」 を選択します。 「satellite-sysdig-」で始まる、systemのエンドポイント(ingest.private.<region>.monitoring.cloud.ibm.comを指すもの)をコピーしてください。 このエンドポイントは、後でINGESTION_SATELLITE_ENDPOINTとして利用できます。 -
クラスタから Workload Protection エンドポイントへの送信トラフィックが、ポート
443および6443で許可されていることを確認してください。
Workload Protection Satellite のリンクエンドポイントの作成
HTTPS Satellite Link コンソールまたはCLIを使用して を作成し、 Workload Protection のプライベートエンドポイントに安全に接続します。
- Workload Protection プライベート・エンドポイント を取得します。 たとえば、 Workload Protection のインスタンスが
us-eastにある場合、エンドポイントはprivate.us-east.security-compliance-secure.cloud.ibm.comとなります。 - 「 Satellite 」の拠点ダッシュボード にアクセスします。 [エンドポイント] をクリックし、[ エンドポイントを作成 ] をクリックします。
- ロケーションの外部で実行されるサービス、サーバー、またはアプリのエンドポイントを作成するには、**「Cloud」**を選択します。
- エンドポイント名、宛先ドメイン名(FQDN)(ステップ1で定義した Workload Protection のプライベートエンドポイント)、および宛先ポート
443を入力してください。 - 「 HTTPS 」プロトコルを選択してください。
- 「作成」 をクリックします。 数分間待って、 Satellite Link コネクタコンポーネントがエンドポイントにポートを割り当てるまで、数分間お待ちください。
- エンドポイントに対応する表の行から、 Satellite Link コネクタのホスト名とエンドポイントのポート番号を「 アドレス 」フィールドにコピーしてください。 以下の手順では、これを
API_ENDPOINTとして使用する必要があります。
エージェントの展開
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 > ログインコマンドをコピー )をクリックします。 CLI から認証を行うには、
oc loginトークンコマンドを表示し、その内容をコマンドラインにコピーしてください。 -
バージョンを調べて、ご使用のクラスターで
ocコマンドが正常に実行されることを確認します。oc version出力例:
Client Version: v4.11.0 Kubernetes Version: v1.25.8.2
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 」チャートがリストされていることを確認してください。
Helm 値ファイルを作成します。
YAML ファイルを定義し、展開を予定している Workload Protection コンポーネントの値を記述してください。 たとえば、ファイル名を「 agent-values-monitor-secure.yaml 」とします。
以下の「 YAML 」は、 Workload Protection の各コンポーネントを設定するために使用できるテンプレートです。 エージェントの展開に不要なセクションを削除するか、 # でコメントアウトすることで、このファイルをカスタマイズできます。
agent:
ebpf:
enabled: true
kind: universal_ebpf
collectorSettings:
collectorHost: INGESTION_SATELLITE_ENDPOINT
collectorPort: INGESTION_SATELLITE_ENDPOINT_PORT
slim:
enabled: true
global:
clusterConfig:
name: CLUSTER_NAME
kspm:
deploy: true
sysdig:
accessKey: SERVICE_ACCESS_KEY
apiHost: API_ENDPOINT
nodeAnalyzer:
secure:
vulnerabilityManagement:
newEngineOnly: true
nodeAnalyzer:
runtimeScanner:
deploy: false
benchmarkRunner:
deploy: false
hostScanner:
deploy: false
deploy: true
natsUrl: wss://API_ENDPOINT
sslVerifyCertificate: false
kspmCollector:
natsUrl: wss://API_ENDPOINT
sslVerifyCertificate: false
clusterScanner:
enabled: true
eveEnabled: true
sslVerifyCertificate: false
ここで、
CLUSTER_NAME- エージェントを展開するクラスタの名前。
SERVICE_ACCESS_KEY- Workload Protection インスタンスのアクセスキー。
INGESTION_SATELLITE_ENDPOINT- インジェストエンドポイントを指す Satellite 以前に抽出されたエンドポイント。 例えば、
c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloudです。 INGESTION_SATELLITE_ENDPOINT_PORT- 先ほど抽出した、 Satellite エンドポイントから、
ingestエンドポイントを指すポートです。 例えば、30771などです。 API_ENDPOINT- 先ほど抽出した Satellite エンドポイントは、 Workload Protection というプライベートAPIエンドポイントを指しています。 例えば、
c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924です。 この場合、ホスト名とポートの両方が一緒に定義されます。
「 Helm 」チャートをインストールする
エージェント、 Workload Protection コンポーネント、あるいはその両方をデプロイするには、「 sysdig/sysdig-deploy 」チャートをインストールし、前の手順で設定した YAML ファイル内の変数を使用してください。
helm チャートを使用してエージェントをインストールするには、以下のコマンドを実行します。
helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
Helm の値ファイルを使用せずに、 Workload Protection のコンポーネントを直接インストールしたい場合は、次のコマンドを実行してください。 --set を使用して、すべての変数を設定してください。
helm install sysdig-agent sysdig/sysdig-deploy --namespace ibm-observe --create-namespace \
--set agent.ebpf.enabled=true \
--set agent.ebpf.kind=universal_ebpf \
--set global.sysdig.accessKey=<SERVICE_ACCESS_KEY> \
--set global.sysdig.apiHost=<API_ENDPOINT> \
--set agent.collectorSettings.collectorHost=<INGESTION_SATELLITE_ENDPOINT> \
--set agent.collectorSettings.collectorPort=<INGESTION_SATELLITE_ENDPOINT_PORT> \
--set nodeAnalyzer.natsUrl=wss://<API_ENDPOINT> \
--set nodeAnalyzer.nodeAnalyzer.runtimeScanner.deploy=false \
--set nodeAnalyzer.nodeAnalyzer.hostScanner.deploy=false \
--set nodeAnalyzer.nodeAnalyzer.benchmarkRunner.deploy=false \
--set nodeAnalyzer.nodeAnalyzer.sslVerifyCertificate=false \
--set nodeAnalyzer.secure.vulnerabilityManagement.newEngineOnly=true \
--set global.kspm.deploy=true \
--set global.clusterConfig.name=<CLUSTER_NAME> \
--set kspmCollector.natsUrl=wss://<API_ENDPOINT> \
--set kspmCollector.sslVerifyCertificate=false \
--set clusterScanner.enabled=true \
--set clusterScanner.eveEnabled=true \
--set clusterScanner.sslVerifyCertificate=true
ここで、
CLUSTER_NAME- エージェントを展開するクラスタの名前。
SERVICE_ACCESS_KEY- Workload Protection インスタンスのアクセスキー。
INGESTION_SATELLITE_ENDPOINT- 先ほど抽出した Satellite エンドポイントは、
ingestエンドポイントを指しています。 例えば、c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloudなどです。 INGESTION_SATELLITE_ENDPOINT_PORT- 先ほど抽出した、 Satellite エンドポイントから、
ingestエンドポイントを指すポートです。 例えば、30771などです。 API_ENDPOINT- 先ほど抽出した Satellite エンドポイントは、 Workload Protection というプライベートAPIエンドポイントを指しています。 例えば、
c1bcda0323e0ef4b83aba-6b64a6ccc9c596bf59a86625d8fa2202-c111.us-east.satellite.appdomain.cloud:31924です。 この場合、ホスト名とポートの両方が一緒に定義されます。
エージェントの更新
Workload Protection エージェントは、少なくとも2か月に1回は更新してください。
Helmを使用してエージェントのバージョンを更新するには、以下の手順を実行します。
-
Helm リポジトリを更新します。
helm repo update -
エージェントをアップグレードします。
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.37.10 -
チャートをアンインストールします。
helm delete sysdig-agent -n ibm-observeHelm では、
sysdig-agentがリリースの名称です。