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

Alex.hsieh
10 min readSep 29, 2023

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

Day 26 — Terraform/GCP實戰:使用 GCP Console 創建 GCP 運算服務 Kubernetes GKE
Terraform 從零開始 — 10+實戰Lab打造GCP雲端自動化架構

DevOps with Alex部落格同步分享

1. Google 運算服務 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 叢集,無需操心基礎設施。
    - 支援高可用性的應用程式,可根據需求進行擴展。
  2. GCP 運算服務 Kubernetes GKE 的使用情境:常見使用情境像是
    - 建立和管理 Kubernetes 叢集,提供高可用性。
    - 自動化容器操作,適用於網站的負載平衡和擴展。
    - 支援高可用性的應用程式,確保應用程式可靠運行。
    - 安全容器運營環境,適用於企業需求。
  3. 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雲端自動化架構課程

--

--

Alex.hsieh

SRE Manager at awoo. Love devops culture and python language!! Share to everyone for growing zero to hero. https://devops-with-alex.com