部署代理程式一個不屬於 IBM Cloud 的 Kubernetes 或 OpenShift 叢集
除了能夠在 IBM Cloud®中執行之外,IBM Cloud Monitoring 提供的集中式監視也可以在其他雲端及內部部署中執行,方法是使用 Helm 圖表將監視代理程式安裝至 Kubernetes 或 OpenShift 叢集。
開始之前
-
在本端機器上安裝最新版本的第 3 版 Helm CLI。
需要 Helm 3.6 或更新版本。
Helm 是 Kubernetes 套件管理器,它使用 Helm 圖表來定義、安裝和升級群集中複雜的 Kubernetes 應用程式。 Helm Chart 會包裝規格,以針對建置應用程式的 Kubernetes 資源產生 YAML 檔案。 這些 Kubernetes 資源會在叢集裡自動套用,並由 Helm 指派版本。 您也可以使用 Helm 來指定並包裝自己的應用程式,並讓 Helm 針對 Kubernetes 資源產生 YAML 檔案。
-
檢查您是否具有在叢集上部署 IBM Cloud Monitoring 代理程式的存取權及許可權。
-
驗證叢集裡的
ibm-observe
名稱空間是否可用。 代理程式已部署在此名稱空間中。您可以執行下列指令來建立名稱空間:
kubectl create namespace ibm-observe
如果您要使用 IBM Cloud Monitoring 及 IBM Cloud Security and Compliance Center Workload Protection 來連接 Kubernetes 或 OpenShift 叢集,請參閱 將代理程式部署在外部 Kubernetes 或 IBM Cloud Security and Compliance Center Workload Protection 文件 中的 OpenShift 叢集,並遵循指示。
部署代理程式
請完成下列步驟,以使用 Helm來部署代理程式:
步驟 1. 設定 Sysdig Helm 儲存庫
將 IBM Cloud Monitoring Helm 儲存庫新增至 Helm 實例。
請完成下列步驟:
-
設定叢集環境定義。
ibmcloud ks cluster config --cluster <CLUSTER_NAME>
-
新增 Helm 儲存庫。
helm repo add sysdig https://charts.sysdig.com
如果出現以下錯誤:
helm repo add sysdig https://charts.sysdig.com --debug Error: context deadline exceeded helm.go:84: [debug] context deadline exceeded
執行下列指令,然後重試新增 Helm 儲存庫。
rm $HOME/Library/Preferences/helm/repositories.lock
-
更新儲存庫,以擷取所有 Helm Chart 的最新版本。
helm repo update
-
列出
sysdig
repo 目前可用的 Helm 圖表。helm search repo sysdig
-
驗證已列出 Helm Chart
sysdig/sysdig-deploy
。
步驟 2. 建立值 yaml 檔案
定義 yaml 檔案,並包含值以部署您計劃部署的 IBM Cloud Monitoring 代理程式。 例如,將檔案命名為 agent-values-monitor.yaml
。
下列 yaml 是您可以用來配置 IBM Cloud Monitoring 代理程式的範本。
global:
clusterConfig:
name: CLUSTER_NAME
sysdig:
accessKey: SERVICE_ACCESS_KEY
agent:
collectorSettings:
collectorHost: INGESTION_ENDPOINT
nodeAnalyzer:
enabled: false
其中
CLUSTER_NAME
是您要在其中部署代理程式的叢集名稱。SERVICE_ACCESS_KEY
是 IBM Cloud Monitoring 實例存取金鑰。INGESTION_ENDPOINT
是實例的汲取端點。 例如:ingest.us-east.monitoring.cloud.ibm.com
您可以在 這裡 找到所有可用選項,以配置 IBM Cloud Monitoring 代理程式。
步驟 3. 安裝 Helm 圖表
若要部署代理程式,您必須安裝 sysdig/sysdig-deploy
Chart。 您可以使用變數 yaml 檔案 (如您在前一個步驟中配置的檔案) 來安裝圖表,也可以直接配置變數。
執行下列指令,以使用 Helm 圖表及變數 yaml
檔案來安裝代理程式:
helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor.yaml
如果您不是使用 Helm 值檔案,則可以執行下列指令,透過使用 Helm 圖表並設定變數來安裝代理程式:
helm install sysdig-agent sysdig/sysdig-deploy --namespace ibm-observe --create-namespace\
--set global.sysdig.accessKey=<SERVICE_ACCESS_KEY> \
--set agent.collectorSettings.collectorHost=<INGESTION_ENDPOINT> \
--set nodeAnalyzer.enabled=false \
--set global.clusterConfig.name=<CLUSTER_NAME>
其中
CLUSTER_NAME
是您要在其中部署代理程式的叢集名稱。SERVICE_ACCESS_KEY
是 IBM Cloud Monitoring 實例存取金鑰。INGESTION_ENDPOINT
是實例的汲取端點。
例如,對於 us-east
地區,範例 Helm 安裝類似如下:
helm install sysdig-agent sysdig/sysdig-deploy --namespace ibm-observe \
--set global.sysdig.accessKey=<ENTER_YOUR_ACCESS_KEY> \
--set agent.collectorSettings.collectorHost=ingest.us-east.monitoring.cloud.ibm.com \
--set nodeAnalyzer.enabled=false \
--set global.clusterConfig.name=mycluster
如果您遇到下列錯誤: Error: INSTALLATION FAILED: Kubernetes cluster unreachable: xxxxxx failed to refresh token: oauth2: cannot fetch token: 400 Bad Request
,請設定叢集環境定義,然後再試一次。
更新代理程式
若要使用 Helm來更新代理程式版本,請完成下列步驟:
-
更新圖表。
helm repo update
-
升級代理程式。
helm upgrade -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor.yaml
這些步驟會在叢集裡安裝最新可用的版本。
移除代理程式
若要使用 Helm來刪除代理程式,您必須解除安裝該 Chart。
請完成下列步驟:
-
列出已安裝的圖表。
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
是版次的名稱。如果您忘記在指令中包含名稱空間,則會收到下列錯誤:
Error: uninstall: Release not loaded: sysdig-agent: release: not found
。