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)文章
安裝ingress-nginx遇到的一些坑實(shí)戰(zhàn)記錄
ingress是kubernetes集群對(duì)外暴露服務(wù)的一種方式,下面這篇文章主要給大家介紹了關(guān)于安裝ingress-nginx遇到的一些坑,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09KVM虛擬化技術(shù)之virt-manager使用及KVM虛擬化平臺(tái)網(wǎng)絡(luò)模型介紹
這篇文章主要介紹了KVM虛擬化技術(shù)之virt-manager使用及KVM虛擬化平臺(tái)網(wǎng)絡(luò)模型介紹,需要的朋友可以參考下2016-10-10KubeSphere中部署Wiki系統(tǒng)wiki.js并啟用中文全文檢索
這篇文章主要為大家介紹了KubeSphere中部署Wiki系統(tǒng)wiki.js并啟用中文全文檢索實(shí)現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Kubekey安裝Kubernetes-1.24.8的詳細(xì)過程
這篇文章主要介紹了Kubekey安裝Kubernetes-1.24.8的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05云原生技術(shù)kubernetes(K8S)簡(jiǎn)介
這篇文章主要介紹了云原生技術(shù)kubernetes的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用K8S,感興趣的朋友可以了解下2021-03-03