【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

最近稍微接觸了一下所謂的K8s(Kubernetes)

這套Google設計用來管理容器(containerized)應用程式的開源系統

不過GCP(Google Cloud Platform)上面也有提供服務可以方便使用

只是對於部署docker容器的部分似乎就與使用linux建置時有點不同

後來發現其實好像也沒那麼難用, 在此做個紀錄先…

 

由於使用GCP部署時需要使用Git類的存儲空間

可以使用GCP自家的Cloud Source Repositories, GitHub與Bitbucket

比較之下水哥覺得Github比較方便, 所以建議是使用Github來部署程式碼

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

 

首先在Github建立帳號

https://github.com/

登入後建立存放區, 已存在的話則不用!

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

建立後使用專用連結存取上下傳

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

 

下載Github客戶端

https://desktop.github.com/

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

 

登入客戶端並選擇存放區

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

 

點右邊Show Explorer 可開啟檔案夾

放入需要更新的檔案就會自動跳出新的變更

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

 

左下角則是寫註解跟說明等, 確認後按Commit

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

第一次會跳選擇分支

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

選完分支後發佈

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

以後有新的更新

commit後右邊點push就可以

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

Github存放區重新整理就可以看到放上的檔案

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

接下來到GCP的管理介面部屬

https://console.cloud.google.com/kubernetes/

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

 

依據需求選不同的存放區

這裡選Github

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

dockerfile檔案名稱打錯會導致建立容器失敗, 小心不要打錯

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

 

下一步設定應用程式名稱與需要部署的叢集

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

 

建立需要一點時間, 需要稍等一下

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

過幾分鐘後就會跳轉到這裡

這代表POD已建立

如果我們要對外服務, 就需要點選公開

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

 

左側設定對外PORT, 右側則是容器使用PORT

如果要設定同一個, 就只要輸入左邊的就好

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

建立完成會產生service

外連資訊會顯示在下方

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

 

剛剛設定的外部內部對應PORT則會顯示在下方

若是照剛剛的設定就會呈現這樣, 而展示的nodejs-demo3則是設定了30999

所以測試時使用30999

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

測試連線…顯示ok!

【數位3C】淺談K8S容器部署流程-以GCP GKE(Google Kubernetes Engine)為例 3C/資訊/通訊/網路 GCP-google cloud platform Linux 架站 網路 虛擬主機

 

花了不少時間才搞懂GCP上K8s的用法= =

實在是有點無奈

不過至少基本的能運行, 之後要佈其他的東西或是做負載平衡也會比較容易了

 

請多指教, 有什麼想法都可以說