遷移至 Stackdriver Kubernetes Engine Monitoring

Stackdriver 選項

無論是針對新叢集或現有叢集的更新,所有 GKE 版本目前均提供以下兩個 Stackdriver 支援選項:

安裝 Stackdriver 支援頁面說明如何將 GKE 叢集更新為 Stackdriver Kubernetes Engine Monitoring。本頁面說明更新後在 Stackdriver 中看到的差異,以及使用與 Stackdriver Kubernetes Engine Monitoring 搭配的 Stackdriver Monitoring 和 Stackdriver Logging 時必須變更的內容。

何時需要遷移?

當您開始使用 Stackdriver Kubernetes Engine Monitoring 時,您就必須遷移現有的 Stackdriver 設定。未來的 GKE 版本將撤銷對舊版 Stackdriver 的支援,並要求您使用 Stackdriver Kubernetes Engine Monitoring。

下表摘要說明即將推出的 GKE 發行版本和其 Stackdriver 支援選項:

GKE 版本 選擇無支援 舊版 Stackdriver Stackdriver Kubernetes Engine Monitoring
1.10、1.11、1.12.5 啟用 預設 (正式發行) 啟用 (Beta 版)
1.12.7 啟用 預設 (正式發行) 啟用 (正式發行)
1.13 啟用 預設 (正式發行) 啟用 (正式發行)
1.14 啟用 啟用 (正式發行) 預設 (正式發行)

有哪些異動?

Stackdriver Kubernetes Engine Monitoring 使用不同的資料模型來組織其指標、記錄和中繼資料。使用 Stackdriver Kubernetes Engine Monitoring 的叢集有一些具體的變更:

  • 您的 Stackdriver Monitoring 資訊主頁現在位於名為「Resources」(資源) >「Kubernetes Engine NEW」(Kubernetes Engine (新版)) 的新選單中。如果您沒有任何叢集使用 Stackdriver Kubernetes Engine Monitoring,則不會顯示此資訊主頁。

  • 受控資源的類型名稱不同。例如,您的 Kubernetes 節點會列在受控資源類型 k8s_node (Kubernetes 節點) 下方,而非 gce_instance (Compute Engine VM 執行個體) 下方。

  • Kubernetes 指標的名稱不同。指標類型名稱的前置字串現在是 kubernetes.io/ (Stackdriver Kubernetes 指標),而非 container.googleapis.com/

下表總結上述變更:

變更 (舊) 舊版 Stackdriver (新) Stackdriver Kubernetes Engine Monitoring
資訊主頁選單 Resources (資源) > Kubernetes Engine Resources (資源) > Kubernetes Engine NEW (Kubernetes Engine (新版))
指標前置字串 container.googleapis.com kubernetes.io
資源類型 gke_container (指標)
container (記錄)
gce_instance
(無)
gke_cluster
k8s_container
k8s_container
k8s_node
k8s_pod
k8s_cluster

我需要做些什麼?

本節將進一步說明 Stackdriver Kubernetes Engine Monitoring 中的資料模型變更,以及這些變更對現有 Stackdriver 設定的影響。

使用遷移狀態資訊主頁

Stackdriver 提供了一個遷移狀態資訊主頁,以讓您辨識在升級到 Stackdriver Kubernetes Engine Monitoring 時必須遷移的許多 Stackdriver 設定。

如要查看此資訊主頁,請選擇一個工作區,其中須包含要更新到 Stackdriver Kubernetes Engine Monitoring 的 Kubernetes 叢集。請在專案選擇下拉式選單中選取「Workspace Settings」(工作區設定) >「Kubernetes Migration Status」(Kubernetes 遷移狀態)

造訪 Kubernetes 遷移狀態資訊主頁

以下範例資訊主頁顯示沒有其他待更新項目:

遷移資訊主頁

資源類型變更

Stackdriver Kubernetes Engine Monitoring 具有新的資源類型名稱、新的資源類型顯示名稱,和辨識特定資源的新標籤名稱,這些變更都列在下表中。

資源類型變更
(舊) 舊版 Stackdriver 資源類型 (新) Stackdriver Kubernetes Engine Monitoring 資源類型
資料表註釋
1 在僅限用於監控的新資源類型中,instance_idmetadata.system_labels 中變為 node_name
2 zone 指的是此容器或執行個體的位置,location 是指叢集主要節點的位置。
3 metadata.system_labels.node_name 在用於記錄的 k8s_container 資源類型中無法使用。您無法按節點名稱搜尋記錄。
4 gce_instance 資源類型可以表示 Kubernetes 節點以及非 Kubernetes VM 執行個體。升級至 Stackdriver Kubernetes Engine Monitoring 時,節點使用的相關資源類型會變更為使用新的資源類型 k8s_node,包括具有下列名稱的節點層級記錄:kubeletdockerkube-proxystartupscriptnode-problem-detector
5 k8s_podk8s_cluster 節點可能包含舊版 Stackdriver 支援中不存在的記錄。
僅限 Monitoring:
gke_container (GKE 容器)

標籤:
  cluster_name
  container_name
  instance_id1
  namespace_id
  pod_id
  project_id
  zone2

僅限 Logging:
container (GKE 容器)

標籤:
  cluster_name
  container_name
  instance_id1
  namespace_id
  pod_id
  project_id
  zone2

Monitoring 和 Logging:
k8s_container (Kubernetes 容器)

標籤:
  cluster_name
  container_name
  metadata.system_labels.node_name3
  namespace_name
  pod_name
  project_id
  location2

僅限 Logging:
gce_instance (Compute Engine VM 執行個體)4

標籤
  cluster_name
  instance_id
  project_id
  zone2
Monitoring 和 Logging
k8s_node4 (Kubernetes 節點)

標籤
  cluster_name
  node_name
  project_id
  location2
 
(無)
Monitoring 和 Logging:
k8s_pod5 (Kubernetes Pod)

標籤
  cluster_name
  namespace_name
  pod_name
  project_id
  location2

僅限 Logging:
gke_cluster (GKE_cluster)

標籤
  cluster_name
  project_id
  location

Monitoring 和 Logging:
k8s_cluster5 (Kubernetes 叢集)

標籤
  cluster_name
  project_id
  location

指標名稱異動

下表顯示一些不同指標名稱的範例。您必須使用以「kubernetes.io/」名稱為開頭的新指標,取代每一個以「container.googleapis.com/」名稱為開頭的指標。除了新的前置字串外,新指標名稱在其他方面可能也有所不同。請在 kubernetes.io (Stackdriver Kubernetes 指標) 中尋找新指標。

指標名稱異動
(舊) 舊版 Stackdriver 指標 (新) Stackdriver Kubernetes Engine Monitoring 指標
舊版 GKE 指標
container.googleapis.com/

範例
  .../container/cpu/utilization
  .../container/uptime
  .../container/memory/bytes_total
Stackdriver Kubernetes 指標
kubernetes.io/

範例
  .../container/cpu/request_utilization
  .../container/uptime
  .../node/memory/total_bytes
  .../node/cpu/total_cores

資源群組變更

如果您要定義自己的資源群組,並使用上述「資源類型變更」資料表中顯示的任何舊版 Stackdriver 資源類型,或上述「指標名稱異動」資料表中顯示的任何舊版 Stackdriver 指標,則請將這些類型和指標變更為對應的 Stackdriver Kubernetes Engine Monitoring 資源類型和指標。如果您的資源群組包含自訂圖表,則可能必須更改它們。

提示:檢查更新後的群組是否包含與升級前相同的資源數量。資源太少可能表示您錯過了一些更改。

自訂圖表和資訊主頁變更

如果您要定義自己的自訂圖表和資訊主頁,並使用上述「資源類型變更」資料表中顯示的任何舊版 Stackdriver 資源類型,或上述「指標名稱變更」資料表中顯示的任何舊版 Stackdriver 指標,則請將這些類型和指標變更為對應的 Stackdriver Kubernetes Engine Monitoring 資源類型和指標。

提示:檢查更新後的圖表,確認其中包含更新後時間的資料。若缺少資料可能表示您未能正確更改某些指標。

如需自訂圖表和資訊主頁的相關說明,請查看 Kubernetes 遷移狀態資訊主頁:

  1. 在 Stackdriver Monitoring 頁面頂端選擇一個工作區,其中須包含要更新到 Stackdriver Kubernetes Engine Monitoring 的 Kubernetes 叢集。

  2. 選取「Workspace Settings」(工作區設定) >「Kubernetes Migration Status」(Kubernetes 遷移狀態)

    造訪 Kubernetes 遷移狀態資訊主頁

快訊和運作時間政策變更

如果您要定義快訊政策運作時間檢查,並使用上述「資源類型變更」資料表中顯示的任何舊版 Stackdriver 資源類型,或上述「指標名稱異動」資料表中顯示的任何舊版 Stackdriver 指標,則請將這些類型和指標變更為對應的 Stackdriver Kubernetes Engine Monitoring 資源類型和指標。

升級快訊政策和運作時間檢查可能是最難執行和驗證的變更。您是否在升級叢集之前或之後變更政策設定?更新叢集後,舊的政策即失效,且在更新叢集之前,新政策也會無效。

與其立即變更政策,請考慮保持現有政策不變,並使用更新的變更來建立新政策。這樣可以更容易在更新時的不同時間,追蹤哪些政策是否預期會失效。

以下是一些其他提示:

  • 在您累積足夠讓叢集以「穩定狀態」執行的資料前,檢查您的政策並預估更新的叢集執行時間。

  • 在更新之前瞭解您的政策或個別指標執行情況,以便將該行為與更新後行為進行比較。

記錄查詢

如果您在 Stackdriver Logging 中使用查詢來尋找及篩選記錄,並使用上述「資源類型變更」資料表中顯示的任何舊版 Stackdriver 資源類型,則請將這些類型變更為對應的 Stackdriver Kubernetes Engine Monitoring 類型。

記錄指標

如果您要定義自己的記錄指標,並使用上述「指標名稱異動」或「資源類型變更」資料表中顯示的舊版 Stackdriver 指標或資源類型,則請將這些指標和資源類型變更為對應的 Stackdriver Kubernetes Engine Monitoring 指標和資源類型。

提示:如果在更新到 Stackdriver Kubernetes Engine Monitoring 後沒有看到記錄指標的任何範例,那麼您可能仍在使用舊版 Stackdriver 指標或資源類型。

記錄匯出及排除

如果您要匯出排除任何記錄,且您的匯出或排除篩選器使用上述「資源類型變更」資料表中顯示的舊版 Stackdriver 資源類型,則請將匯出或排除篩選器變更為使用對應的 Stackdriver Kubernetes Engine Monitoring 資源類型。

提示:在更新到 Stackdriver Kubernetes Engine Monitoring 之前,請記下您要從 GCP 專案中匯出或排除的概略記錄項目數量,以確認您得到適當的數量。

記錄項目內容的變更

更新到 Stackdriver Kubernetes Engine Monitoring 之後,您可能會發現記錄項目中的某些資訊已移至不同名稱的欄位。此資訊可能會顯示在記錄指標、記錄接收器和記錄排除所使用的記錄查詢中。

下表記錄項目變更中列出了新欄位和標籤。以下是簡短摘要:

  • logName 欄位可能會變更。Stackdriver Kubernetes Engine Monitoring 記錄項目在其記錄名稱中使用 stdoutstderr,而舊版 Stackdriver 則使用更多種名稱,包括容器名稱。容器名稱仍可用作資源標籤。
  • 檢查記錄項目中的 labels 欄位。此欄位可能包含以前在 metadata 記錄項目欄位中的資訊。
  • 檢查記錄項目中的 resource.labels 欄位。新資源類型具有其他的標籤值。
記錄項目變更
(舊) 舊版 Stackdriver 記錄項目 (新) Stackdriver Kubernetes Engine Monitoring 記錄項目
資料表註釋
1 資源標籤會辨識產生指標的特定資源,例如特定的叢集和節點。
2 labels 欄位會顯示在 Stackdriver Kubernetes Engine Monitoring 的新記錄項目中,偶爾也會出現在某些舊版 Stackdriver 記錄項目中。在 Stackdriver Kubernetes Engine Monitoring 中,此欄位用於儲存原先的 metadata 記錄項目欄位資訊。
記錄項目資源
resource.labels (資源標籤1)
記錄項目資源
resource.labels (資源標籤1)
記錄項目中繼資料
labels (記錄項目標籤2)

標籤 (範例)
  compute.googleapis.com/resource_name:
    "fluentd-gcp-v3.2.0-d4d9p"

  container.googleapis.com/namespace_name:
    "kube-system"

  container.googleapis.com/pod_name:
    "fluentd-gcp-scaler-8b674f786-d4pq2"

  container.googleapis.com/stream:
    "stdout"
記錄項目中繼資料
labels

記錄位置變更

在 Stackdriver Logging 中,您的記錄將隨產生它們的資源類型一併儲存。由於這些類型在 Stackdriver Kubernetes Engine Monitoring 中已變更,因此請務必在 Kubernetes Container 等新資源類型中尋找記錄,不要在舊版 Stackdriver 類型 (如 GKE Container) 中尋找。

後續步驟

  • 如要瞭解新的 Stackdriver Kubernetes Engine Monitoring 資訊主頁,請參閱觀察您的系統
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Stackdriver Monitoring
需要協助嗎?請前往我們的支援網頁