iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0
DevOps

Terraform 從零開始 - 實戰Lab打造GCP雲端自動化架構系列 第 26

Day 26 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 運算服務 Kubernetes GKE

  • 分享至 

  • xImage
  •  

示範如何使用 GCP Console 創建 Kubernetes GKE 集群。

Day 26 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 運算服務 Kubernetes GKE

文章同步分享到

1. Google 運算服務 Kubernetes GKE 的主要功能和用途

Google 運算服務 Kubernetes GKE 是一項由 Google 提供的雲端容器管理服務。它的主要功能是讓用戶能夠輕鬆地建立、部署和管理容器化的應用程式,而不必擔心底層的基礎設施。GKE 使用 Kubernetes 作為容器管理平台,並提供自動化的容器操作、高可用性、安全性以及快速的叢集建立功能。,以下是它的主要功能和用途:

  1. 自動化容器操作:Kubernetes GKE 可以自動化執行許多容器操作,減輕使用者的負擔,例如平衡負載、擴展、回滾等功能。

  2. 可靠的容器運營環境:Kubernetes GKE 提供多層次的安全機制,例如身份驗證、訪問控制、網路安全等,確保應用程式的安全性和可靠性。

  3. 快速建立 Kubernetes 叢集:使用者可以快速建立 Kubernetes 叢集,而不需要自己建置和維護基礎設施。

  4. 高可用性的應用程式支援:Kubernetes GKE 可以支援高可用性的應用程式,並且可以根據需要進行擴展,以滿足不斷增長的使用者需求。

Google Kubernetes GKE 的主要功能和用途

2. Google 運算服務 Kubernetes GKE 的使用情境

Google Cloud Platform 的運算服務 Kubernetes GKE 可在多種場景下使用,以下是一些常見的使用情境:

  1. 建立和管理 Kubernetes 叢集:例如一個應用程式需要在多個地區建立 Kubernetes 叢集,使用者可以使用 Kubernetes GKE 快速建立和管理這些叢集。

  2. 自動化容器操作:例如一個網站需要自動化載入平衡和水平擴展,使用者可以使用 Kubernetes GKE 自動化執行這些容器操作,以確保網站的正常運作。

  3. 支援高可用性的應用程式:例如一個金融應用程式需要保證高可用性和可靠性,使用者可以使用 Kubernetes GKE 支援這種高可用性的應用程式。

  4. 安全的容器運營環境:例如一個企業需要確保容器運營環境的安全性和可靠性,使用者可以使用 Kubernetes GKE 提供的多層次的安全機制來保護容器環境。

Google 運算服務 Kubernetes GKE 的使用情境

3. GCP 運算服務 — 使用GCP Console創建GCP Kubernetes GKE

在這個章節中,我們將深入探討如何使用GCP Console在Google Cloud Platform上創建Cloud Kubernetes GKE。我們將依次進行以下步驟:

  1. 創建自定義GKE

  2. 如何使用console來連線節點與查看狀況

  3. 部署nginx的服務到GKE上 (option)

使用GCP Console創建GCP Kubernetes GKE

登入GCP Kubernetes GKE服務:

  • 登入GCP Console:首先,使用您的Google帳戶登入Google Cloud Platform(GCP)Console:https://console.coud.google.com

  • 選擇或創建專案:在GCP Console左上角,點擊專案選單,然後選擇現有的專案或創建一個新專案。

創建GCP Kubernetes GKE服務:

  • 在GCP Console左側的導覽窗格中,點選Kubernetes選項。
  • 創建Kubernetes GKE,在Kubernetes GKE 叢集頁面點擊建立按鈕來開始創建一個新的Kubernetes GKE。

選擇 Kubernetes,創建 Kubernetes GKE 服務

設定Kubernetes GKE 服務的基本設定:

  • 建立叢集(Cluster):預設GKE會建立autopilot的叢集,由GCP來管理大多數的建置,但我們會建立 GKE Standard 的叢集,可以做更多的客製化。
  • 叢集類型:在選擇叢集是**區域型(Zone)或是地區型(Region)**時,其實隱含著高可靠度 (High Available, HA)的概念,一般建議Production生產環境使用地區型叢集(Region Cluster)。一般的地區會有至少三個區域,使用地區型叢集時,可以避免單一區域出問題時,造成的單點崩潰。
  • 叢集基本資訊:輸入服務名稱**,**為您的GKE 指定一個唯一的名稱,gke-demo。選擇GKE所在的地區,這邊我們使用asia-northeast1 作為示範,建議可以選擇接近您的使用者或資源的地區,以減少延遲。控制層版本一般是使用預設的發佈版本。
  • 節點集區(Node Pool):預設名稱為default pool,可以修改對應名稱。節點數量也可以做修改,一般預設是3個節點,可以做到最小程度的高可靠度設計 (High Available, HA)。後續相關設定都先使用預設的設定即可。

Kubernetes GKE 服務 — 建立叢集

Kubernetes GKE 服務 — 叢集基本資訊 名稱與地區

Kubernetes GKE 服務 — 叢集基本資訊 發佈版本

Kubernetes GKE 服務 — 節點集區相關設定

設定Kubernetes GKE 服務的進階設定:

  • 自動化:可以選擇垂直自動化調度pod資源(hpa)與節點自動佈建功能(auto cluster),可以讓節點根據需求自動縮放。這邊建議先不勾選,先實作功能即可,後續可以再進行調整。
  • 功能:可以看到預設會啟用logging 與cloud monitoring自動為GKE做好logging的收集與監控數據等,是整合在gcp上非常實用的功能。最後執行創建GKE。

Kubernetes GKE 服務的進階設定 — 自動化

Kubernetes GKE 服務的進階設定 — 功能

創建與部署Kubernetes GKE 服務:

  • 部屬GKE:執行部署後,會看到cluster叢集正在被創建中,可以點選進去,看到目前的進度,通常需要等5–10分鐘才會完成。
  • GKE基本資訊:可以看到GKE中的各種詳細資訊,會分為叢集資訊、自動化資訊、網路資訊,也可以點上面的列表觀察節點資訊,會看到建立了三個節點提供服務使用。
  • GKE子網路詳細資料:可以看到GKE使用default網路,會產生次要的ip v4範圍,主要是為了提供GKE內部pod 與service作為使用的ip範圍。這個屬於比較進階的設定,但在多cluster共用網路時,這是需要特別考慮的部分。

Kubernetes GKE 服務 — 創建與部署中

Kubernetes GKE 服務 — 創建進度

Kubernetes GKE 服務 — 詳細資訊

Kubernetes GKE 服務 — 子網路資訊

測試部署的 Kubernetes GKE 服務

創建修改完畢,並看到 Kubernetes GKE 後,可以點選查看節點的詳細資料。後續我們會利用工作負載來建立nginx的部署,同時暴露服務於公開網路中,方便我們測試。

Kubernetes GKE 服務 — 節點資訊

創建 Kubernetes GKE 建立工作部署:

  • 新增容器:新增容器並使用映像檔 nginx:latest,設定使用預設設定後,可以點選查看yaml檔案,來查看部署的yaml檔案。
  • 暴露容器:點選公開後,用service的方式公開部署檔案,通訊port使用80來暴露nginx,最後點選服務類型是負載平衡器 load balancer,最後執行部署。

Kubernetes GKE 服務 — 新增容器並使用映像檔 nginx:latest

Kubernetes GKE 服務 — 容器設定

Kubernetes GKE 服務 — 容器yaml檔案設定

Kubernetes GKE 服務 — 容器公開服務並部署

Kubernetes GKE 服務 — 部署中

Kubernetes GKE 中的 nginx 工作負載:

  • 工作負載:新增容器完成後,可以看到nginx的部署已經完成,點選後可以看到3個pod,第二個可以看到公開服務service與對外ip。

Kubernetes GKE 服務 — nginx 工作負載

Kubernetes GKE 服務 — nginx 公開服務 service

接下來可以嘗試觸發服務,點選觸發條件中的網址,就可以轉發到服務。例如下面ip地址,就會轉發到我們部署的nginx server。

Kubernetes GKE 服務 — nginx server

4. 總結 Summary

  1. GCP 運算服務 Kubernetes GKE 的主要功能和用途:GKE 可以作為
  • 無伺服器運算,執行程式碼而無需管理伺服器。
  • 自動化容器操作,包括平衡負載和擴展。可靠的容器運營環境,提供多層次的安全機制。
  • 快速建立 Kubernetes 叢集,無需操心基礎設施。
  • 支援高可用性的應用程式,可根據需求進行擴展。
  1. GCP 運算服務 Kubernetes GKE 的使用情境:常見使用情境像是
  • 建立和管理 Kubernetes 叢集,提供高可用性。
  • 自動化容器操作,適用於網站的負載平衡和擴展。
  • 支援高可用性的應用程式,確保應用程式可靠運行。
  • 安全容器運營環境,適用於企業需求。
  1. GCP 運算服務 — 使用GCP Console創建 Kubernetes GKE:介紹如何在GCP Console上創建Kubernetes GKE並進行以下的任務
  • 節點和工作負載的詳細資訊:包括察看節點和工作負載的詳細資訊,指定名稱、建立叢集與節點、網路設定等
  • 新增容器:設定nginx容器映像和相關設定。
  • 暴露容器服務:設定nginx server 通訊端口、部署nginx server 服務service 和負載平衡器。
  • 觸發服務:測試 nginx server 服務運行。

5. 相關連結

  1. Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Codehttps://github.com/qwedsazxc78/Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Code

  2. Terraform-project-best-practicehttps://github.com/qwedsazxc78/terraform-project-best-practice

  3. 歡迎訂閱我的udemy課程:Terraform 從零開始 - 10+實戰Lab打造GCP雲端自動化架構課程 - https://devops-with-alex.com/go/terraform


上一篇
Day 25 — Terraform/GCP實戰:使用 Terraform 創建 GCP 無伺服器服務 Cloud Run
下一篇
Day 27 — Terraform/GCP實戰 :使用 Terraform 創建 GCP 運算服務 Kubernetes GKE
系列文
Terraform 從零開始 - 實戰Lab打造GCP雲端自動化架構31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言