Google?Kubernetes?Engine?集群實(shí)戰(zhàn)詳解
GKE 集群介紹
Google Kubernetes Engine (GKE) 集群由 Kubernetes 開源集群管理系統(tǒng)提供支持。Kubernetes 為用戶提供了與容器集群進(jìn)行交互的機(jī)制。您可以使用 Kubernetes 命令和資源來部署和管理應(yīng)用、執(zhí)行管理任務(wù)、設(shè)置政策,以及監(jiān)控您部署的工作負(fù)載的運(yùn)行狀況。
K8s 帶來的好處
- 自動(dòng)管理
- 對(duì)應(yīng)用容器進(jìn)行監(jiān)控和活躍性探測(cè)
- 自動(dòng)擴(kuò)縮
- 滾動(dòng)更新
Google Cloud 上的 Kubernetes 運(yùn)行 GKE 集群時(shí),您還可以獲享 Google Cloud 提供的高級(jí)集群管理功能所帶來的好處,其中包括:
- 針對(duì) Compute Engine 實(shí)例提供的負(fù)載平衡功能
- 節(jié)點(diǎn)池(可用于在集群中指定節(jié)點(diǎn)子集以提高靈活性)
- 自動(dòng)擴(kuò)縮集群的節(jié)點(diǎn)實(shí)例數(shù)量
- 自動(dòng)升級(jí)集群的節(jié)點(diǎn)軟件
- 節(jié)點(diǎn)自動(dòng)修復(fù),以保持節(jié)點(diǎn)的正常運(yùn)行和可用性
- 利用 Cloud Monitoring 進(jìn)行日志記錄和監(jiān)控,讓您可以清楚了解自己集群的狀況
使用 GKE 編排集群
1.打開cloud shell,并設(shè)置project (如果默認(rèn)連接成功則不需要)
gcloud config set project <Project ID>
2.設(shè)置默認(rèn)計(jì)算可用區(qū)域
gcloud config set compute/zone <Zone>
3.啟動(dòng)新的GKE集群,要耗時(shí)幾分鐘,耐心等待
gcloud container clusters create --machine-type=e2-medium lab-cluster
輸出結(jié)果如下:

創(chuàng)建集群后,您需要身份驗(yàn)證憑據(jù)才能與其交互,所以接下來獲取身份驗(yàn)證憑據(jù)。
4.獲取用于集群的身份驗(yàn)證憑據(jù)
gcloud container clusters get-credentials lab-cluster
輸出結(jié)果如下所示:

5.將應(yīng)用部署到集群中
GKE 使用 Kubernetes 對(duì)象創(chuàng)建和管理集群的資源。Kubernetes 提供了 Deployment 對(duì)象,用以部署網(wǎng)絡(luò)服務(wù)器等無狀態(tài)應(yīng)用。Service 對(duì)象則用于定義從互聯(lián)網(wǎng)訪問您的應(yīng)用時(shí)需要遵循的規(guī)則和負(fù)載平衡機(jī)制。
kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0
輸出結(jié)果如下所示:

此 Kubernetes 命令kubectl會(huì)創(chuàng)建一個(gè)代表 hello-server 的 Deployment 對(duì)象。在本例中,--image 指定了要部署的容器映像。該命令會(huì)從 Container Registry 存儲(chǔ)分區(qū)中拉取示例映像。gcr.io/google-samples/hello-app:1.0 指定了要拉取的特定映像版本。如果未指定版本,則使用最新版本。
6.運(yùn)行命令kubectl expose 以創(chuàng)建K8s Service
kubectl expose deployment hello-server --type=LoadBalancer --port 8080
在上面的命令中:
- --port 指定了該容器公開的端口。
- type="LoadBalancer" 表示為您的容器創(chuàng)建一個(gè) Compute Engine 負(fù)載平衡器。
輸出結(jié)果如下所示:

注意: 生成外部 IP 地址可能需要一分鐘時(shí)間。如果 EXTERNAL-IP 列的狀態(tài)為 pending,請(qǐng)?jiān)俅芜\(yùn)行上述命令。
7.運(yùn)行 kubectl get 命令,以檢查 hello-server Service:
kubectl get service
輸出結(jié)果如下所示:

8.瀏覽器上訪問http://[EXTERNAL-IP]:8080,會(huì)獲取到如下信息

9.刪除集群,可能需要幾分鐘的時(shí)間
gcloud container clusters delete lab-cluster
以上就是Google Kubernetes Engine 集群實(shí)戰(zhàn)詳解的詳細(xì)內(nèi)容,更多關(guān)于Google Kubernetes Engine集群的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
kubelet為cadvisor添加namespace/pod/container標(biāo)簽示例詳解
這篇文章主要為大家介紹了kubelet為cadvisor添加namespace/pod/container標(biāo)簽示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
云原生技術(shù)kubernetes之volumes容器的使用
這篇文章主要為大家介紹了云原生技術(shù)kubernetes之volumes容器使用方式,?有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
一文解析Kubernetes使用PVC后數(shù)據(jù)丟失
這篇文章主要為大家介紹了Kubernetes使用PVC后數(shù)據(jù)丟失原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
青龍面板拉庫解決沒有或丟失依賴can‘t?find?module的保姆級(jí)教程(附青龍面板腳本倉庫)
這篇文章主要介紹了青龍面板拉庫解決沒有或丟失依賴can‘t?find?module的保姆級(jí)教程(附青龍面板腳本倉庫),需要的朋友可以參考下2022-05-05

