雲端容器化技術與資源調度
快速透過 Kubernetes 部署程式
建立 k8s Cluster (叢集)
- GCP Console —> Kubernetes Engine
- 如果還沒啟用免費額度,請先為你的 Google 帳號啟用免費額度
- 點選
建立叢集
按鈕 - 叢集名稱:
standard-cluster-1
-
節點集區(Node Pool)設定:
- 集區名稱:
default-pool
- 系列:
N1
- 機器類型:
n1-standard-1
- 數量: 1
- 集區名稱:
將 hello-site 的 Image 發布上 Registry (GCR)
# 先透過 gcloud 指令讓 cloud shell 自動設定 docker registry 的登入資訊
$ gcloud auth configure-docker
# 將 Dockerfile 製成 Image, 並設定 tag 為: gcr.io/[PROJECT-ID]/hello-site:v1
$ docker build -t gcr.io/[PROJECT-ID]/hello-site:v1 .
# 確認 Image 有順利製作出來
$ docker images
# 將 Image 上傳至 GCR
$ docker push gcr.io/[PROJECT-ID]/hello-site:v1
記得將 [PROJECT-ID] 處換為自己的實際 Project ID
最後,到 GCP Console 的 Container Registry 頁面,應該要能看到剛剛推上來的 Image。
部署 hello-site 容器進叢集內的 VM
- GCP Console —> Kubernetes Engine —> 工作負載
- 點選
部署
按鈕 - 在 現有容器映像檔 處,選擇剛剛上傳到 GCR 的 Image
-
設定:
- 應用程式名稱:
hello-site-app
- 命名空間:
default
- 叢集: 選擇
standard-cluster-1
- 應用程式名稱:
公開 hello-site
-
GCP Console —> Kubernetes Engine —> 工作負載
-
點選剛剛建出來的
hello-site-app
-
點選
公開
-
通訊服對應設定:
- 通訊埠:
80
- 通訊協定:
TCP
- 服務類型:
負載平衡器
- 服務名稱:
hello-site-app-service
- 通訊埠:
瀏覽網站
- GCP Console —> Kubernetes Engine —> Service 與 Ingress
- 點選剛剛建出來的
hello-site-service
- 找到
外部端點
,這便是我們服務在網際網路上的 IP 與 Port