目錄
- GKE 集群介紹
- K8s 帶來的好處
- 使用 GKE 編排集群
GKE 集群介紹
Google Kubernetes Engine (GKE) 集群由 Kubernetes 開源集群管理系統提供支持。Kubernetes 為用戶提供了與容器集群進行交互的機制。您可以使用 Kubernetes 命令和資源來部署和管理應用、執行管理任務、設置政策,以及監控您部署的工作負載的運行狀況。
K8s 帶來的好處
- 自動管理
- 對應用容器進行監控和活躍性探測
- 自動擴縮
- 滾動更新
Google Cloud 上的 Kubernetes 運行 GKE 集群時,您還可以獲享 Google Cloud 提供的高級集群管理功能所帶來的好處,其中包括:
- 針對 Compute Engine 實例提供的負載平衡功能
- 節點池(可用于在集群中指定節點子集以提高靈活性)
- 自動擴縮集群的節點實例數量
- 自動升級集群的節點軟件
- 節點自動修復,以保持節點的正常運行和可用性
- 利用 Cloud Monitoring 進行日志記錄和監控,讓您可以清楚了解自己集群的狀況
使用 GKE 編排集群
1.打開cloud shell,并設置project (如果默認連接成功則不需要)
gcloud config set project <Project ID>
2.設置默認計算可用區域
gcloud config set compute/zone <Zone>
3.啟動新的GKE集群,要耗時幾分鐘,耐心等待
gcloud container clusters create --machine-type=e2-medium lab-cluster
輸出結果如下:
創建集群后,您需要身份驗證憑據才能與其交互,所以接下來獲取身份驗證憑據。
4.獲取用于集群的身份驗證憑據
gcloud container clusters get-credentials lab-cluster
輸出結果如下所示:
5.將應用部署到集群中
GKE 使用 Kubernetes 對象創建和管理集群的資源。Kubernetes 提供了 Deployment 對象,用以部署網絡服務器等無狀態應用。Service 對象則用于定義從互聯網訪問您的應用時需要遵循的規則和負載平衡機制。
kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0
輸出結果如下所示:
此 Kubernetes 命令kubectl
會創建一個代表 hello-server 的 Deployment 對象。在本例中,–image 指定了要部署的容器映像。該命令會從 Container Registry 存儲分區中拉取示例映像。gcr.io/google-samples/hello-app:1.0 指定了要拉取的特定映像版本。如果未指定版本,則使用最新版本。
6.運行命令kubectl expose
以創建K8s Service
kubectl expose deployment hello-server --type=LoadBalancer --port 8080
在上面的命令中:
- –port 指定了該容器公開的端口。
- type="LoadBalancer" 表示為您的容器創建一個 Compute Engine 負載平衡器。
輸出結果如下所示:
注意: 生成外部 IP 地址可能需要一分鐘時間。如果 EXTERNAL-IP 列的狀態為 pending,請再次運行上述命令。
7.運行 kubectl get
命令,以檢查 hello-server Service:
kubectl get service
輸出結果如下所示:
8.瀏覽器上訪問http://[EXTERNAL-IP]:8080
,會獲取到如下信息
9.刪除集群,可能需要幾分鐘的時間
gcloud container clusters delete lab-cluster
以上就是Google Kubernetes Engine 集群實戰詳解的詳細內容,更多關于Google Kubernetes Engine集群的資料請關注其它相關文章!