設定NetApp Kubernetes監控操作員
貢獻者
提供* NetApp Kubernetes監控操作員*(NKMO)的Kubernetes系列產品。Cloud Insights新增資料收集器時、只要選擇「Kubernetes」方塊即可。
從 Cloud Insights Docker 登錄下載操作員和資料收集器。安裝完成後、NKMO便會管理Kubernetes叢集節點中部署的任何與營運者相容的收集器、以取得資料、包括管理這些收集器的生命週期。在這條鏈之後、資料會從收集器中擷取、並傳送至Cloud Insights
安裝NetApp Kubernetes監控操作員之前
|
閱讀 "* 安裝或升級之前 *" 安裝或升級 NetApp Kubernetes 監控操作員之前的文件。 |
安裝NetApp Kubernetes監控操作員
-
輸入唯一的叢集名稱和命名空間。如果您是 升級 從先前的 Kubernetes 運算子中、使用相同的叢集名稱和命名空間。
-
一旦輸入這些指令碼、您就可以將 Download Command 片段複製到剪貼簿。
-
將程式碼片段貼到_bash_視窗中並執行。將下載操作員安裝檔案。請注意、程式碼片段具有獨特的金鑰、有效時間為24小時。
-
如果您有自訂或私有儲存庫、請複製選用的「影像」抽取片段、將其貼入 bash Shell 並加以執行。影像擷取完成後、請將其複製到您的私有儲存庫。請務必維持相同的標記和資料夾結構。更新 operer-deployment.yaml 中的路徑、以及 operer-config.yaml 中的泊塢視窗儲存庫設定。
-
如有需要、請檢閱可用的組態選項、例如 Proxy 或私有儲存庫設定。您可以深入瞭解 "組態選項"。
-
準備好之後、請複製 KUBECtl 套用程式碼片段、下載並執行、以部署操作員。
-
安裝會自動繼續進行。完成後、按一下 _ 下一步 _ 按鈕。
-
安裝完成後、按一下 _ 下一步 _ 按鈕。請務必刪除或安全儲存 operer-Secrets 。 yaml 檔案。
深入瞭解 設定 Proxy。
深入瞭解 使用自訂 / 私有泊塢視窗儲存庫。
安裝 NetApp Kubernetes Monitoring Operator 時、依預設會啟用 Kubernetes EMS 記錄收集。若要在安裝後停用此集合、請按一下 Kubernetes 叢集詳細資料頁面頂端的 * 修改部署 * 按鈕、然後取消選取「記錄集合」。
此畫面也會顯示目前的記錄收集狀態。以下是可能的狀態:
-
已停用
-
已啟用
-
啟用 - 安裝進行中
-
已啟用 - 離線
-
已啟用 - 線上
-
錯誤 - API 金鑰權限不足
升級
升級至最新的NetApp Kubernetes監控操作員
判斷現有運算子是否存在 AgentConfiguration (如果您的命名空間不是預設的 _NetApp-monitoring 、請改用適當的命名空間):
kubectl -n netapp-monitoring get agentconfiguration netapp-monitoring-configuration 如果存在 AgentConfiguration :
如果 AgentConfiguration 不存在:
-
請記下 Cloud Insights 所識別的叢集名稱(如果您的命名空間不是預設的 NetApp-Monitoring 、請改用適當的命名空間):
kubectl -n netapp-monitoring get agent -o jsonpath='{.items[0].spec.cluster-name}' * 建立現有運算子的備份(如果您的命名空間不是預設的 NetApp 監控功能、請改用適當的命名空間):
kubectl -n netapp-monitoring get agent -o yaml > agent_backup.yaml * <<to-remove-the-netapp-kubernetes-monitoring-operator,解除安裝>> 現有的運算子。 * <<installing-the-netapp-kubernetes-monitoring-operator,安裝>> 最新的運算子。
-
請使用相同的叢集名稱。
-
下載最新的 Operator YAML 檔案之後、請先將 agent_backup.yaml 中的任何自訂項目連接至下載的 operator-config.yaml 、然後再進行部署。
-
確保您是 擷取最新的容器映像 如果您使用的是自訂儲存庫。
-
停止並啟動NetApp Kubernetes監控操作員
若要停止NetApp Kubernetes監控操作員:
kubectl -n netapp-monitoring scale deploy monitoring-operator --replicas=0 若要啟動NetApp Kubernetes監控操作員:
kubectl -n netapp-monitoring scale deploy monitoring-operator --replicas=1
正在解除安裝
移除NetApp Kubernetes監控操作員
請注意、NetApp Kubernetes監控操作員的預設命名空間為「NetApp監控」。 如果您已設定自己的命名空間、請在這些名稱空間以及所有後續命令和檔案中取代該命名空間。
可使用下列命令解除安裝較新版本的監控操作員:
kubectl delete agent -A -l installed-by=nkmo-<name-space> kubectl delete ns,clusterrole,clusterrolebinding,crd -l installed-by=nkmo-<name-space>
如果第一個命令傳回「找不到資源」、請依照下列指示解除安裝舊版監控操作員。
依序執行下列每個命令。視您目前的安裝情況而定、其中一些命令可能會傳回「找不到物件」訊息。這些訊息可能會被安全忽略。
kubectl -n <NAMESPACE> delete agent agent-monitoring-netapp kubectl delete crd agents.monitoring.netapp.com kubectl -n <NAMESPACE> delete role agent-leader-election-role kubectl delete clusterrole agent-manager-role agent-proxy-role agent-metrics-reader <NAMESPACE>-agent-manager-role <NAMESPACE>-agent-proxy-role <NAMESPACE>-cluster-role-privileged kubectl delete clusterrolebinding agent-manager-rolebinding agent-proxy-rolebinding agent-cluster-admin-rolebinding <NAMESPACE>-agent-manager-rolebinding <NAMESPACE>-agent-proxy-rolebinding <NAMESPACE>-cluster-role-binding-privileged kubectl delete <NAMESPACE>-psp-nkmo kubectl delete ns <NAMESPACE>
如果先前已建立安全性內容限制:
kubectl delete scc telegraf-hostaccess
關於Kube-state指標
NetApp Kubernetes監控操作員會自動安裝Kube-state指標、不需要使用者互動。
Kube-state指標計數器
請使用下列連結來存取這些kube狀態度量計數器的資訊:
== Configuring the Operator 在較新版本的運算子中、最常修改的設定可在 _AgentConfiguration_ 自訂資源中進行設定。您可以編輯 _operer-config.yaml_ 檔案、在部署運算子之前編輯此資源。此檔案包含一些設定的註解範例。請參閱清單 link:telegraf_agent_k8s_config_options.html["可用的設定"] 適用於最新版的運算子。
您也可以使用下列命令在部署運算子之後編輯此資源:
kubectl -n netapp-monitoring edit AgentConfiguration 若要判斷您部署的營運者版本是否支援 AgentConfiguration 、請執行下列命令:
kubectl get crd agentconfigurations.monitoring.netapp.com 如果您看到「錯誤來自伺服器( NotFound )」訊息、則必須先升級您的營運商、才能使用 AgentConfiguration 。
設定Proxy支援
您可以在兩個地方使用Proxy來安裝NetApp Kubernetes監控操作員。這些可能是相同或獨立的Proxy系統:
-
在執行安裝程式碼片段時(使用「Curl」)需要Proxy、以便將執行程式碼片段的系統連接Cloud Insights 至您的作業系統環境
-
目標Kubernetes叢集需要Proxy才能與Cloud Insights 您的支援環境進行通訊
如果您使用其中一種或兩種Proxy、為了安裝NetApp Kubernetes作業監視器、您必須先確定您的Proxy已設定為允許與Cloud Insights 您的點菜環境進行良好的通訊。如果您有Proxy、而且可以Cloud Insights 從要安裝該運算子的伺服器/ VM存取功能、則您的Proxy可能設定正確。
對於用來安裝NetApp Kubernetes作業監視器的Proxy、請先設定_http代理伺服器/https代理伺服器環境變數、然後再安裝「運算子」。在某些Proxy環境中、您可能也需要設定_no_proxyEnvironments _變數。
若要設定變數、請在系統*安裝NetApp Kubernetes監控操作員之前*執行下列步驟:
-
為目前使用者設定_https_proxy_和/或_https_proxy_環境變數:
-
如果正在設定的Proxy沒有驗證(使用者名稱/密碼)、請執行下列命令:
export https_proxy=<proxy_server>:<proxy_port> .. 如果正在設定的Proxy具有驗證(使用者名稱/密碼)、請執行下列命令:
export http_proxy=<proxy_username>:<proxy_password>@<proxy_server>:<proxy_port>
-
若要讓Kubernetes叢集用於與Cloud Insights 您的環境進行通訊的Proxy、請在閱讀所有這些指示之後、安裝NetApp Kubernetes監控操作員。
在部署 NetApp Kubernetes Monitoring Operator 之前、請先在 operator-config.yaml 中設定 AgentConfiguration 的 Proxy 區段。
agent: ... proxy: server: <server for proxy> port: <port for proxy> username: <username for proxy> password: <password for proxy> # In the noproxy section, enter a comma-separated list of # IP addresses and/or resolvable hostnames that should bypass # the proxy noproxy: <comma separated list> isTelegrafProxyEnabled: true isFluentbitProxyEnabled: <true or false> # true if Events Log enabled isCollectorsProxyEnabled: <true or false> # true if Network Performance and Map enabled isAuProxyEnabled: <true or false> # true if AU enabled ... ...
使用自訂或私有泊塢視窗儲存庫
根據預設、 NetApp Kubernetes Monitoring Operator 會從 Cloud Insights 儲存庫中提取容器影像。如果您使用 Kubernetes 叢集做為監控目標、且該叢集設定為僅從自訂或私有 Docker 儲存庫或容器登錄中提取容器映像、則必須設定對 NetApp Kubernetes Monitoring Operator 所需容器的存取權。
從 NetApp Monitoring Operator 安裝方塊執行「影像提取片段」。此命令會登入 Cloud Insights 儲存庫、擷取操作員的所有映像相依性、然後登出 Cloud Insights 儲存庫。出現提示時、請輸入提供的儲存庫暫存密碼。此命令會下載操作員所使用的所有影像、包括選用功能。請參閱下方、瞭解這些影像的用途。
核心營運者功能與 Kubernetes 監控
-
NetApp 監控
-
Kube-RBAC 代理程式
-
Kube-state 指標
-
Telegraf
-
無 distrouse-root 使用者
事件記錄
-
Fluent 位元
-
Kubernetes-event-Exporter
網路效能與地圖
-
CI-net-觀察者
根據您的企業原則、將「operator」泊塢視窗影像推送到您的「私有/本機/企業」泊塢視窗儲存庫。確保儲存庫中這些映像的映像標記和目錄路徑與 Cloud Insights 儲存庫中的映像標記和目錄路徑一致。
在 operer-deployment.yaml 中編輯監控營運者部署、並修改所有映像參照以使用您的私有 Docker 儲存庫。
image: <docker repo of the enterprise/corp docker repo>/kube-rbac-proxy:<kube-rbac-proxy version> image: <docker repo of the enterprise/corp docker repo>/netapp-monitoring:<version>
在 operer-config.yaml 中編輯 AgentConfiguration 、以反映新的泊塢視窗 repo 位置。為您的私有儲存庫建立新的 imagePullSecret 、如需詳細資料、請參閱 https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
agent: ... # An optional docker registry where you want docker images to be pulled from as compared to CI's docker registry # Please see documentation link here: https://docs.netapp.com/us-en/cloudinsights/task_config_telegraf_agent_k8s.html#using-a-custom-or-private-docker-repository dockerRepo: your.docker.repo/long/path/to/test # Optional: A docker image pull secret that maybe needed for your private docker registry dockerImagePullSecret: docker-secret-name
OpenShift指示
如果您是在 OpenShift 4.6 或更新版本上執行、則必須在 operer-config.yaml 中編輯 AgentConfiguration 、才能啟用 runPrivileged 設定:
# Set runPrivileged to true SELinux is enabled on your kubernetes nodes runPrivileged: true
OpenShift可能會實作額外的安全層級、以封鎖對某些Kubernetes元件的存取。
'''
正在驗證Kubernetes Checksum
雖然無法執行完整性檢查、Cloud Insights 但有些使用者可能想在安裝或套用下載的成品之前、先執行自己的驗證。若要執行純下載作業(而非預設的下載與安裝)、這些使用者可以編輯從UI取得的代理程式安裝命令、並移除後續的「install」選項。
請遵循下列步驟:
-
依照指示複製代理程式安裝程式程式片段。
-
不要將程式碼片段貼到命令視窗中、而是貼到文字編輯器中。
-
從命令中刪除後端"--install"。
-
從文字編輯器複製整個命令。
-
現在請將其貼到命令視窗(工作目錄)中、然後執行。
-
下載並安裝(預設):
installerName=cloudinsights-kubernetes.sh … && sudo -E -H ./$installerName --download –-install ** 僅限下載:
installerName=cloudinsights-kubernetes.sh … && sudo -E -H ./$installerName --download
-
純下載命令會將Cloud Insights 所有必要的成品從功能性資訊下載到工作目錄。 這些成品包括但不限於:
-
安裝指令碼
-
環境檔案
-
Y反 洗錢檔案
-
簽署的Checksum檔案(sh256.signed)
-
用於簽名驗證的一個PES檔案(NetApp_CERT.pem)
安裝指令碼、環境檔案及Yaml檔案均可使用目視檢查進行驗證。
您可以確認其指紋為下列項目、以驗證該PEM檔案:
1A918038E8E127BB5C87A202DF173B97A05B4996 更具體地說、
openssl x509 -fingerprint -sha1 -noout -inform pem -in netapp_cert.pem 簽署的Checksum檔案可以使用PEM檔案進行驗證:
openssl smime -verify -in sha256.signed -CAfile netapp_cert.pem -purpose any 一旦所有成品都已通過驗證、即可執行下列步驟來啟動代理程式安裝:
sudo -E -H ./<installation_script_name> --install
疑難排解
如果您在設定NetApp Kubernetes監控操作員時遇到問題、請嘗試下列事項:
問題: | 試用: |
---|---|
我看不到Kubernetes持續Volume與對應的後端儲存設備之間的超連結/連線。我的Kubernetes持續Volume是使用儲存伺服器的主機名稱來設定。 |
請依照步驟解除安裝現有的Telegraf代理程式、然後重新安裝最新的Telegraf代理程式。您必須使用Telegraf 2.0版或更新版本、而且Kubernetes叢集儲存設備必須由Cloud Insights 效益管理系統主動監控。 |
我在記錄中看到類似下列內容的訊息: |
如果您執行Kubernetes版本低於1.20的Kubernetes 2.0.0版或更新版本之Kube-state度量、則可能會出現這些訊息。 |
我看到 Telegraf 的錯誤訊息類似下列內容、但 Telegraf 確實啟動並執行: |
這是已知的問題。 請參閱 "這篇GitHub文章" 以取得更多詳細資料。只要Telegraf已啟動且正在執行、使用者就可以忽略這些錯誤訊息。 |
在 Kubernetes 上、我的 Telegraf Pod 回報下列錯誤: |
如果啟用並強制執行 SELinux 、則可能會阻止 Telegraf Pod 存取 Kubernetes 節點上的 /proc/1/mountstats 檔案。若要克服此限制、請編輯 agentconfiguration 、然後啟用 RunPrivileged 設定。如需詳細資訊、請參閱: https://docs.netapp.com/us-en/cloudinsights/task_config_telegraf_agent_k8s.html#openshift-instructions。 |
在 Kubernetes 上、我的 Telegraf ReplicicaSet Pod 回報下列錯誤: |
Telegraf ReplicaSet Pod可在指定為主節點或etcd節點上執行。如果ReplicaSet Pod未在其中一個節點上執行、您將會收到這些錯誤。檢查您的主節點/ etcd節點是否有問題。如果有、請將必要的容許值新增至Telegraf ReplicaSet、Telegraf-RS。 |
我有PSP/PSA.環境。這是否會影響我的監控操作員? |
如果您的Kubernetes叢集正在執行Pod安全政策(PSP)或Pod安全許可(PSA)、您必須升級至最新的NetApp Kubernetes監控操作員。請依照下列步驟升級至目前支援 PP/PSA 的 NKMO : |
我在嘗試部署NKMO時遇到問題、我使用PP/PSA. |
1. 使用下列命令編輯代理程式: |
grep -i PSP (應顯示找不到任何項目) |
出現「ImagePullBackOff」錯誤 |
如果您擁有自訂或私有泊塢視窗儲存庫、但尚未設定NetApp Kubernetes監控操作員來正確辨識、就可能會看到這些錯誤。 瞭解更多資訊 關於設定自訂/私有repo。 |
我的監控操作員部署有問題、目前的文件無法協助我解決問題。 |
擷取或記下下列命令的輸出、然後聯絡技術支援團隊。 kubectl -n netapp-monitoring get all kubectl -n netapp-monitoring describe all kubectl -n netapp-monitoring logs <monitoring-operator-pod> --all-containers=true kubectl -n netapp-monitoring logs <telegraf-pod> --all-containers=true |
NKMO 命名空間中的網路觀察者(工作負載對應) Pod 位於 CrashLoopBackOff |
這些 Pod 對應於網路可觀察性的工作負載對應資料收集器。請嘗試下列項目: |
NKMO 命名空間中的網路觀察者 Pod 位於 OpenShift 4 環境中的 CrashLoopBackOff |
目前不支援這項功能。請留意未來更新中要新增的支援。 |
Pod 在 NKMO 命名空間中執行(預設值: NetApp-Monitoring )、但查詢中的工作負載對應或 Kubernetes 度量、 UI 中不會顯示任何資料 |
檢查 K8S 叢集節點上的時間設定。為了準確地進行稽核和資料報告、強烈建議您使用網路時間傳輸協定( NTP )或簡易網路時間傳輸協定( SNTP )、同步代理機器上的時間。 |
NKMO 命名空間中的某些網路觀察者 Pod 處於「擱置中」狀態 |
Net-觀察者 是一組示範集、在 k8s 叢集的每個節點上執行 Pod 。 |
安裝 NetApp Kubernetes 監控操作員之後、我會立即在記錄中看到下列內容: |
此訊息通常只有在安裝新的營運者、且_Telefra-Rs_ pod在_ksm_ pod啟動之前就已啟動時才會出現。所有Pod都在執行時、這些訊息應該會停止。 |
我沒有看到叢集中存在的 Kubernetes CronJobs 正在收集任何度量。 |
驗證 Kubernetes 版本(即 |
安裝操作員之後、 Telegraf-DS Pod 會進入 CrashLoopBackOff 、 Pod 記錄會顯示「 su :驗證失敗」。 |
在 AgentConfiguration 中編輯 NetApp-monitoring 組態區段、並將 dockerMetricCollectionEnabled 設為 false 。如需詳細資訊、請參閱操作員的 "組態選項"。 |
我在 Telegraf 記錄檔中看到類似以下內容的重複錯誤訊息: |
如需其他資訊、請參閱 "支援" 頁面或中的 "資料收集器支援對照表"。