使用 HELM 圖表在 Red Hat OpenShift 中管理 Monitoring 代理程式
您可以使用 Helm 圖表在 Kubernetes 叢集上安裝、升級和刪除 Monitoring 代理。
開始之前
-
在本端機器上安裝最新版本的第 3 版 Helm CLI。
Helm 這是一款基於 Kubernetes 的套件管理工具,透過 Helm 圖表來定義、安裝及升級叢集中的複雜 Kubernetes 應用程式。 Helm Chart 會包裝規格,以針對建置應用程式的 Kubernetes 資源產生 YAML 檔案。 這些 Kubernetes 資源會在叢集裡自動套用,並由 Helm 指派版本。 您也可以使用 Helm 來指定並包裝自己的應用程式,並讓 Helm 針對 Kubernetes 資源產生 YAML 檔案。
-
檢查您是否具有在叢集上部署 Monitoring 代理程式的存取權及許可權。
-
驗證叢集裡的
ibm-observe名稱空間是否可用。 代理程式已部署在此名稱空間中。
部署代理程式
請完成下列步驟,以使用 Helm來部署代理程式:
步驟 1. 設定 Sysdig Helm儲存庫
將 Monitoring Helm 儲存庫新增至 Helm 實例。
請完成下列步驟:
-
設定叢集環境定義。
obmcloud ks cluster config --cluster <CLUSTER_NAME> -
新增 Helm 儲存庫。
helm repo add sysdig https://charts.sysdig.com -
更新儲存庫,以擷取所有 Helm Chart 的最新版本。
helm repo update -
列出 Sysdig 儲存庫中目前可用的 Helm 圖表。
helm search repo sysdig -
驗證已列出 Helm Chart
sysdig/sysdig-deploy。
如果您遇到以下錯誤:
helm repo add sysdig https://charts.sysdig.com --debug
Error: context deadline exceeded
helm.go:84: [debug] context deadline exceeded
請執行下列指令,然後再試一次。
rm $HOME/Library/Preferences/helm/repositories.lock
步驟 2. 建立值 YAML 檔案
定義 yaml 檔案,並包含值以部署您計劃部署的 Monitoring 代理程式及 Workload Protection 元件。 例如,將檔案命名為 agent-values-monitor-secure.yaml。
下列 yaml 是可用來配置 Monitoring 代理程式及 Workload Protection 元件的範本。 您可以透過移除或註解 # 代理程式部署不需要的區段來自訂檔案。
global:
clusterConfig:
name: CLUSTER_NAME
sysdig:
accessKey: MONITORING_INSTANCE_ACCESS_KEY
secureAPIToken: SECURE_TOKEN
kspm:
deploy: true
agent:
image:
tag: AGENT_TAG
registry: icr.io
slim:
enabled: true
image:
repository: ext/sysdig/agent-slim
kmoduleImage:
repository: ext/sysdig/agent-kmodule
collectorSettings:
collectorHost: INGESTION_ENDPOINT # for example, ingest.eu-gb.monitoring.cloud.ibm.com
nodeAnalyzer:
nodeAnalyzer:
deploy: true
apiEndpoint: API_ENDPOINT # for example, eu-gb.monitoring.cloud.ibm.com
benchmarkRunner:
deploy: false
kspmCollector:
apiEndpoint: API_ENDPOINT # for example, eu-gb.monitoring.cloud.ibm.com
admissionController:
enabled: true
sysdig:
url: WEB_UI_ENDPOINT # for example, https://ingest.eu-gb.monitoring.cloud.ibm.com
clusterName: CLUSTER_NAME
其中
CLUSTER_NAME是您要在其中部署代理程式的叢集名稱。MONITORING_INSTANCE_ACCESS_KEY是 Monitoring 實例存取金鑰。SECURE_TOKEN是安全 API 記號。AGENT_TAG是您計劃部署的代理程式版本。INGESTION_ENDPOINT是實例的汲取端點。API_ENDPOINT是實例的 API 端點。WEB_UI_ENDPOINT是實例的 Web 使用者介面端點。
用於部署代理程式的值 yaml 檔案範例
例如,請參閱值檔案的下列範例,該檔案僅部署 Monitoring 代理程式:
global:
clusterConfig:
name: mycluster-au-syd
sysdig:
accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
secureAPIToken: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
kspm:
deploy: true
agent:
image:
registry: icr.io
slim:
enabled: true
image:
repository: ext/sysdig/agent-slim
kmoduleImage:
repository: ext/sysdig/agent-kmodule
collectorSettings:
collectorHost: ingest.au-syd.monitoring.cloud.ibm.com
值 yaml 檔案的範例,用於部署代理程式及 Node Analyzer
例如,請參閱值檔案的下列範例,該檔案會部署 Monitoring 代理程式及 Node Analyzer 元件:
global:
clusterConfig:
name: mycluster-au-syd
sysdig:
accessKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
secureAPIToken: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
kspm:
deploy: true
agent:
image:
registry: icr.io
slim:
enabled: true
image:
repository: ext/sysdig/agent-slim
kmoduleImage:
repository: ext/sysdig/agent-kmodule
collectorSettings:
collectorHost: ingest.au-syd.monitoring.cloud.ibm.com
nodeAnalyzer:
nodeAnalyzer:
deploy: true
apiEndpoint: API_ENDPOINT # for example, eu-gb.monitoring.cloud.ibm.com
benchmarkRunner:
deploy: false
步驟 3. 安裝 Helm Chart
若要部署代理程式及/或 Workload Protection 元件,您必須安裝 sysdig/sysdig-deploy Chart 並使用在前一個步驟中配置的變數 yaml 檔案。
執行下列指令,以使用 Helm Chart 來安裝代理程式:
helm install -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.yaml
如果您遇到下列錯誤: Error: INSTALLATION FAILED: Kubernetes cluster unreachable: xxxxxx failed to refresh token: oauth2: cannot fetch token: 400 Bad Request,請設定叢集環境定義,然後再試一次。
更新代理程式
若要使用 Helm來更新代理程式版本,請完成下列步驟:
-
更新圖表。
helm repo update -
尋找您用來部署代理程式的值 yaml 檔案,並使用您要部署的代理程式版本修改
agent.image.tag。 -
升級代理程式。
helm upgrade -n ibm-observe sysdig-agent sysdig/sysdig-deploy -f agent-values-monitor-secure.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.