在外部的 Kubernetes 或 Red Hat OpenShift 叢集中部署代理程式
除了能在 IBM Cloud 上運行外,IBM Cloud® Security and Compliance Center Workload Protection 所提供的集中式安全與合規框架,亦可透過 Helm 圖表,將 Workload Protection 代理程式安裝至 Kubernetes 或 Red Hat OpenShift 叢集,進而在其他雲端環境及本地端運行。
開始之前
-
請在您的本地電腦上安裝 Helm CLI 的最新版本。 Helm 需要 3.6 或更新版本。
Helm 這是一款基於 Kubernetes 的套件管理工具,透過 Helm 圖表來定義、安裝及升級叢集中的複雜 Kubernetes 應用程式。 Helm Chart 會包裝規格,以針對建置應用程式的 Kubernetes 資源產生 YAML 檔案。 這些 Kubernetes 資源會透過 Helm 自動套用至您的叢集,並指派至特定版本。 您也可以使用 Helm 來指定並包裝自己的應用程式,並讓 Helm 針對 Kubernetes 資源產生 YAML 檔案。
-
請確認您具備在叢集上部署 Workload Protection 代理程式所需的存取權限與授權。 在 Kubernetes 叢集上,您必須具備在該叢集上執行
kubectl指令的權限。 在 Red Hat OpenShift 叢集上,您必須具備執行oc指令的權限。 請參閱您的叢集文件,以進一步了解如何取得適當的權限,以及如何設定您的本地端電腦以向叢集發出指令。 -
請確認您的叢集中是否提供
ibm-observe命名空間。 代理程式已部署在此名稱空間中。要建立此命名空間,請執行
kubectl create namespace ibm-observe。 -
請確認從您的叢集發往 Workload Protection 端點的出站流量,在
443和6443埠上已獲准通過。
部署代理程式
在您擁有足夠版本的 Helm 並具備在叢集上執行指令的權限後,即可透過 Helm 在 Kubernetes 或 Red Hat OpenShift 上安裝、升級及刪除 Workload Protection 代理程式。
-
在您的本地電腦上將 Sysdig 新增為 Helm 圖表的儲存庫。
helm repo add sysdig https://charts.sysdig.com如果您遇到以下錯誤:
-
更新儲存庫的引用。
helm repo update -
列出 Sysdig 儲存庫中目前可用的 Helm 圖表。
helm search repo sysdig -
請確認「
sysdig/sysdig-deploy」Helm 圖表是否已列出。 -
安裝 Workload Protection 代理程式。 您可以透過建立一個名為
YAML的Helm值檔(其中列出各項值),然後執行一個引用該檔案的指令來進行安裝。若要使用 Helm 值檔案進行安裝,請先建立一個名為
agent-values-monitor-secure.yaml的檔案。 以下YAML是一個範本,您可以藉此設定 Workload Protection 代理程式。 您可以透過移除或使用#將註解掉您的代理程式不需要的區段,來自訂該檔案。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: 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值檔的安裝指令:helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
更新代理程式
若要將代理程式更新至最新可用版本,請依照以下步驟操作:
-
更新 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.6.3 -
解除安裝圖表。
helm delete sysdig-agent -n ibm-observe在 Helm 中,
sysdig-agent是該版本的名稱。