Day 26 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 運算服務 Kubernetes GKE
10 min readSep 29, 2023
示範如何使用 GCP Console 創建 Kubernetes GKE 集群。
- Day1 — Introduction — 現代 IT 架構問題與解決方案
- Day 2 — Introduction — Terraform 與基礎架構即代碼 (IAC) 的解決方案
- Day 3 — Terraform 基礎 — 申請 GCP 免費帳號
- Day 4 — Terraform基礎 — Terraform 簡介與安裝
- Day 5 — Terraform基礎 — 掌握 Terraform 元件
- Day 6 — Terraform基礎 — Terraform 工作流程
- Day 7 — Terraform基礎 — 效率提升:使用 bash alias
- Day 8 — Terraform基礎 — Provider version 的概念與使用
- Day 9 — Terraform基礎 — 資源 (Resources) 的概念與使用
- Day 10 — Terraform基礎 — 配置器 Provisioners 的概念與使用
- Day 11 — Terraform基礎 — 變數 (Variables) 與輸出 (Outputs)
- Day 12 — Terraform基礎 — 變數 (Variables) 種類與使用順序
- Day 13 — Terraform基礎 — 資料來源 Data Sources 的概念與使用
- Day 14 — Terraform基礎 — State 的概念與使用
- Day 15 — Terraform基礎 — Backend 遠端狀態後台的概念與使用
- Day 16 — Terraform/GCP基礎 — GCP服務帳號 (Service Account) 與使用者 (User) 的差異
- Day 17 — Terraform/GCP基礎 — 設定 GCP 服務帳號 Service Account
- Day 18 — Terraform/GCP基礎 — 連結 Terraform 與 GCP:使用者帳號與密碼
- Day 19 — Terraform/GCP基礎 — 建議的 Terraform 開發最佳實踐 best practices
- Day 20 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 運算資源服務
- Day 21 — Terraform/GCP實戰:使用 Terraform 創建 GCP 運算資源服務
- Day 22 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 無伺服器服務Cloud Function
- Day 23 — Terraform/GCP實戰:使用 Terraform 創建 GCP 無伺服器服務Cloud Function
- Day 24 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 無伺服器服務 (Cloud Run)
- Day 25 — Terraform/GCP實戰:使用 Terraform 創建 GCP 無伺服器服務 (Cloud Run)
- Day 26 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 運算服務 Kubernetes GKE
- Day 27 — Terraform/GCP實戰 :使用 Terraform 創建 GCP 運算服務 Kubernetes GKE
- Day 28 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 資料庫服務 Cloud Sql (PostgreSQL)
- Day 29 — Terraform/GCP實戰:使用 Terraform 創建 GCP 資料庫服務 Cloud Sql (PostgreSQL)
- Day 30 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 資料庫服務 Cloud MemoryStore — Redis
- Day 31 — Terraform/GCP實戰:使用 Terraform 創建 GCP 資料庫服務Cloud MemoryStore — Redis
1. Google 運算服務 Kubernetes GKE 的主要功能和用途
- 設定Kubernetes GKE 服務的進階設定:
- 自動化:可以選擇垂直自動化調度pod資源(hpa)與節點自動佈建功能(auto cluster),可以讓節點根據需求自動縮放。這邊建議先不勾選,先實作功能即可,後續可以再進行調整。
- 功能:可以看到預設會啟用logging 與cloud monitoring自動為GKE做好logging的收集與監控數據等,是整合在gcp上非常實用的功能。最後執行創建GKE。
- 創建與部署Kubernetes GKE 服務:
- 部屬GKE:執行部署後,會看到cluster叢集正在被創建中,可以點選進去,看到目前的進度,通常需要等5–10分鐘才會完成。
- GKE基本資訊:可以看到GKE中的各種詳細資訊,會分為叢集資訊、自動化資訊、網路資訊,也可以點上面的列表觀察節點資訊,會看到建立了三個節點提供服務使用。
- GKE子網路詳細資料:可以看到GKE使用default網路,會產生次要的ip v4範圍,主要是為了提供GKE內部pod 與service作為使用的ip範圍。這個屬於比較進階的設定,但在多cluster共用網路時,這是需要特別考慮的部分。
測試部署的 Kubernetes GKE 服務
創建修改完畢,並看到 Kubernetes GKE 後,可以點選查看節點的詳細資料。後續我們會利用工作負載來建立nginx的部署,同時暴露服務於公開網路中,方便我們測試。
創建 Kubernetes GKE 建立工作部署:
- 新增容器:新增容器並使用映像檔 nginx:latest
,設定使用預設設定後,可以點選查看yaml檔案,來查看部署的yaml檔案。
- 暴露容器:點選公開後,用service的方式公開部署檔案,通訊port使用80來暴露nginx,最後點選服務類型是負載平衡器 load balancer,最後執行部署。
Kubernetes GKE 中的 nginx 工作負載:
- 工作負載:新增容器完成後,可以看到nginx的部署已經完成,點選後可以看到3個pod,第二個可以看到公開服務service與對外ip。
接下來可以嘗試觸發服務,點選觸發條件中的網址,就可以轉發到服務。例如下面ip地址,就會轉發到我們部署的nginx server。
4. 總結 Summary
- GCP 運算服務 Kubernetes GKE 的主要功能和用途:GKE 可以作為
- 無伺服器運算,執行程式碼而無需管理伺服器。
- 自動化容器操作,包括平衡負載和擴展。可靠的容器運營環境,提供多層次的安全機制。
- 快速建立 Kubernetes 叢集,無需操心基礎設施。
- 支援高可用性的應用程式,可根據需求進行擴展。 - GCP 運算服務 Kubernetes GKE 的使用情境:常見使用情境像是
- 建立和管理 Kubernetes 叢集,提供高可用性。
- 自動化容器操作,適用於網站的負載平衡和擴展。
- 支援高可用性的應用程式,確保應用程式可靠運行。
- 安全容器運營環境,適用於企業需求。 - GCP 運算服務 — 使用GCP Console創建 Kubernetes GKE:介紹如何在GCP Console上創建Kubernetes GKE並進行以下的任務
- 節點和工作負載的詳細資訊:包括察看節點和工作負載的詳細資訊,指定名稱、建立叢集與節點、網路設定等
- 新增容器:設定nginx容器映像和相關設定。
- 暴露容器服務:設定nginx server 通訊端口、部署nginx server 服務service 和負載平衡器。
- 觸發服務:測試 nginx server 服務運行。
5. 相關連結
- Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Code — https://github.com/qwedsazxc78/Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Code
- Terraform-project-best-practice — https://github.com/qwedsazxc78/terraform-project-best-practice
- 歡迎訂閱我的udemy課程:Terraform 從零開始 — 10+實戰Lab打造GCP雲端自動化架構課程