<未完成> 使用 Stackdriver 在 Kubernetes Engine 上實施監控

概述

Stackdriver Kubernetes Monitoring 是 Stackdriver 上個一個新功能, 它更緊密地與 GKE 整合, 可以更好的顯示你運行在 GKE 上的工作、服務的重要統計資訊。
新功能也包含了匯入, 可以匯入我們用 Prometheus 在 pods 取得的 metrics(指標), 就像是原生 Stackdriver metrics 一樣。 這讓我們可以使用 Prometheus 的 metrics 來觸發 Stackdriver 原生的警告功能, 不需要額外的設定以及串接。

在這個教程中, 你將會在 Kubernetes Engine 叢集設定 Monitoring 以及具現象 metrics 。 你將會使用 Terraform, 它是一個宣告式的 Infrastructure as Code 工具, 它讓我們可以使用設定檔來自動化部署, 以及更新雲端基礎設施。 我們從 Kubernetes Engine 取得的 logs(紀錄) 將會被利用來演示 Stackdriver 的監控能力。

注意: Stackdriver Monitoring workspace 不會被 script 自動化, 因為現階段 Terraform 或 gcloud command line 工具都不支援

本教程由 GKE Helmsman 工程師創建來幫助你更理解 Kubernetes Engine 上使用 Stackdriver Monitoring, 你可以從 Github repo 檢視範例程式碼。
我們歡迎你們一起貢獻這個專案。




架構

本教程將會建立一個 Kubernetes Engine 叢集, 這個叢集會部署一個範例應用。 這個叢集的紀錄以及指標會預設被載入到 Stackdriver Logging, 在本教程中會自動設定一個 Stackdriver Monitoring 帳號以檢視被捕捉到的指標

設定及要求

在你按下 Start Lab 按鈕之前

詳讀所有的教學。 Labs 是有時間限制的, 而且你不可以停止時間倒數。 倒數計時器在你按下 Start Lab 按鈕後開始倒數, 上面顯示的時間為你還能使用 Cloud 資源的時間。

Qwiklabs 的手把手環境, 讓你可以在真實環境中來操作進行 Qwiklabs 上提供的課程, 而不是在一個模擬或是展示的環境。 我們透過提供你一個全新的、暫時的帳號密碼, 在計時器歸零之前, 你可以用來登入並存取 Google Cloud Platform。

你需要什麼?

要完成這個 lab, 你需要:

  • 一個一般的網路瀏覽器(推薦 Chrome)
  • 完成這個 lab 的時間

備註: 如果你已經有你自己的個人 GCP 帳號或專案,請不要使用在這一個 lab

現在你已經開始你的 lab, 你將會登入 Google Cloud Shell 主控台, 然後開啟命令列工具

如何開始你的 lab, 然後登入 Console?

  • 按下 Start Lab 按鈕。 如果你需要付費, 會有一個彈出視窗來讓你選擇付費的方式。 在左方你會看到一個面板, 上面有暫時的帳號密碼, 你必須使用這些帳號密碼在此次 lab

  • 複製 username, 然後點擊 Open Google Console。 Lab 會開啟另外一個視窗, 顯示選擇帳號的頁面

tip: 開啟一個全新的視窗,然後跟原本的頁面並排

  • 選擇帳號頁面, 點擊 Use Another Account

  • 登入頁面開啟, 貼上之前複製的 username 以及 password, 然後貼上

重要:必須使用之前於 Connection Details 面板 取得的帳號密碼,不要使用你自己的 Qwiklabs 帳號密碼。 如果你有自己的 GCP 帳號, 請不要用在這裡(避免產生費用)

  • 點擊並通過接下來的頁面:
    • 接受 terms 以及 conditions
    • 不要增加 recovery optoinstwo factor authentication (因為這只是一個臨時帳號)
    • 不要註冊免費體驗

稍待一些時候, GCP 控制台將會在這個視窗開啟。

**注意:** 按下左上方位於 `Google Cloud Platform` 隔壁的 `Navigation menu`, 你可以瀏覽選單, 裡面有一系列的 GCP 產品以及服務


啟動 Google Cloud Shell

Google Cloud Shell 是載有開發工具的虛擬機器。 它提供了5GB的 home 資料夾, 並且運行在 Google Cloud 上。 Google Cloud Shell 讓你可以利用 command-line 存取 GCP 資源

  • GCP 控制台, 右上的工具列,點擊 Open Cloud Shell 按鈕

  • 在打開的對話框裡, 按下 START CLOUD SHELL:

你可以立即按下 START CLOUD SHELL 當對話視窗打開。

連結並提供環境會需要一點時間。 當你連結成功, 這代表你已成功獲得授權, 且此專案已被設為你的專案ID, 例如:

gcloudGoogle Cloud Platform 的 command-line 工具, 他已事先被安裝在 Cloud Shell 並且支援自動補齊

使用這個 command, 你可以列出有效帳戶名稱:

gcloud auth list

輸出:

Credentialed accounts:
- <myaccount>@<mydomain>.com (active)

範例輸出:

Credentialed accounts:
- google1623327_student@qwiklabs.net

你可以使用以下 command 來列出專案 ID

gcloud config list project

輸出:

[core]
project = <project_ID>

範例輸出:

[core]
project = qwiklabs-gcp-44776a13dea667a6

gcloud 的完整文件可以參閱 Google Cloud gcloud Overview

故障排除: 在 production 環境, 當你在運行 Teffaform 時如果出現 Permission denied 並且安裝腳本失敗, 那很有可能是因為 Terraform 使用的憑證沒有提供在該專案建立資源需要的權限。 務必確認 gcloud config list 指令列出的帳號有建立資源需要的權限。 如果有的話, 使用 gcloud auth applications-default login 來重新產生 application default 的憑證。


設定你的 region 和 zone

某些 Compute Engine 的資源位於 regions 以及 zones 。 region 是一個特定的地理位置,你只能在這個執行 region 運行你的資源, 每一個 region 有一個或多個 zone

如果你想要了解更多有關 region 以及 zone, 可以參考官方文件

執行以下指令來設定本教程中的 region 以及 zone (你可以使用對你來說最佳的 region 跟 zone)

gcloud config set compute/region us-central1
gcloud config set compute/zone us-central1-a



複製範例

執行以下指令來複製此教程需要的範例檔案

git clone https://github.com/GoogleCloudPlatform/gke-monitoring-tutorial.git

到範例資料夾內:

cd gke-monitoring-tutorial

驗證設定

Terraform 設置會執行你的 GCP 環境並建立一個運行著簡單應用的 Kubernetes Engine 叢集。 這個設置會使用你的私人帳號來建立資源。 執行以下指令選擇適合的帳戶, Terraform 設置預設使用的帳戶

gcloud auth application-default login

複製輸出的 URL, 貼到新的瀏覽器視窗
選擇本教程的登入憑證, 並點擊 Allow
複製提供的程式碼並貼到 Cloud Shell 視窗




建立 Stackdriver workspace

要使用 Stackdriver, 你的專案必須在 Stackdriver 帳號內。 以下的步驟會建立一個帳號, 這個帳號可以試用 Stackdriver

  • 在 Google Cloud Platform 主控台, 點擊 Navigation menu > Monitoring, 使用本教程提供的憑證資訊登入。
  • 點擊 NO THANKS!, 不使用 beta 版本的 Stackdriver Monitoring

當 Stackdriver 主控台開啟, 這代表此工作區已就緒。

測試進度
點擊 Check my progress 來確認目前的進度。如果你已經成功建立 Stackdriver 工作區, 你將獲得一個評價分數。


部署叢集

使用 Spinnaker 在 Kubernetes Engine 中實作持續交付管道 GKE Migrating to Containers

留言

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×