使用 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 這是一款基於 Kubernetes 的套件管理工具,透過 Helm 圖表來定義、安裝及升級叢集中的複雜 Kubernetes 應用程式。 Helm Chart 會包裝規格,以針對建置應用程式的 Kubernetes 資源產生 YAML 檔案。 這些 Kubernetes 資源會透過 Helm 自動套用至您的叢集,並指派至特定版本。 您也可以使用 Helm 來指定並包裝自己的應用程式,並讓 Helm 針對 Kubernetes 資源產生 YAML 檔案。
-
取得 Workload Protection
ingest端點。 存取 Satellite 位置,然後選取 鏈結端點 及 系統端點。 請複製以satellite-sysdig-開頭、指向ingest.private.<region>.monitoring.cloud.ibm.com的system端點。 您稍後可以使用此端點,網址為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」地點儀表板。 按一下「Link 端點」,然後按一下「建立端點」。
- 選取 雲端,以針對在位置外部執行的服務、伺服器或應用程式建立端點。
- 請輸入端點名稱、目標網域名稱(FQDN)——即在步驟 1 中定義的 Workload Protection 私有端點——以及目標埠號
443。 - 請選擇「HTTPS」通訊協定。
- 按一下建立。 請等待幾分鐘,讓 Satellite Link 連接器元件為您的端點指派一個埠。
- 在您端點對應的表格列中,請將您的 Satellite Link 連接器的主機名稱以及端點的埠號。 您需要在接下來的步驟中將其用作
API_ENDPOINT。
部署代理程式
請依照以下步驟,使用 Helm 部署代理程式。
設定叢集上下文
-
請登入您的帳戶。 如果您有聯合帳戶,請包含
--sso選項。ibmcloud login [-g <resource_group>] [--sso] -
將叢集的
kubeconfig配置檔下載並新增至~/.kube/config中的現有kubeconfig或KUBECONFIG環境變數中的最後一個檔案。ibmcloud oc cluster config --cluster <cluster_name_or_ID> -
在您的瀏覽器中,請前往您的叢集控制器網址 URL,並在網址後方加上
/console。 例如,https://c0.containers.cloud.ibm.com:23652/console。 -
在 Red Hat OpenShift 網頁控制台的選單列中,點選您的個人檔案 IAM#user.name@email.com > 複製登入指令。 請顯示並將「
oc logintoken」指令複製到您的命令列中,以便透過 CLI 進行驗證。 -
透過檢查版本,驗證
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 Chart 來安裝代理程式:
helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
若您想直接安裝 Workload Protection 元件,而不使用 Helm 值檔,可以執行以下指令。 請使用 --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 代理程式。
若要使用 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-observe在 Helm 中,
sysdig-agent是該版本的名稱。