建立自己的GKE Cluster

承上,Google Container Engine (GKE)是Google所推出的Container Host Cluster服務,也就是說可以讓執行Container(Docker)的環境可以Cluster起來。一方面允許擴展可以使用的資源,另一方面則可以讓執行時候可以有容錯的可能性(避免單點錯誤的狀況發生)。

安裝kubectl指令與相關設定

在gcloud工具已經安裝好的前提下,設定GKE的工具以及預設的ZONE只要透過下面步驟即可:

$ gcloud components update kubectl
$ gcloud config set compute/zone asia-east1-a

安裝gcloud與kubectl無誤後,可以透過clusters list可以確認目前專案中有哪些Cluster

$ gcloud container clusters list
NAME  ZONE  MASTER_VERSION  MASTER_IP  MACHINE_TYPE  NUM_NODES  STATUS
Listed 0 items.

以及kubectl get確認目前狀態

$ kubectl get cluster-info
the server doesn't have a resource type "cluster-info"

建立GKE Cluster

透過clusters create可已建立自己的GKE cluster...

$ gcloud container clusters create mygke
Creating cluster mygke...done.
Created [https://container.googleapis.com/v1/projects/my-gcp-project/zones/asia-east1-a/clusters/mygke].
kubeconfig entry generated for mygke.
NAME   ZONE          MASTER_VERSION  MASTER_IP        MACHINE_TYPE   NUM_NODES  STATUS
mygke  asia-east1-a  1.1.2           104.199.140.230  n1-standard-1  3          RUNNING

然後執行在環境中設定預設的cluster為所建立的名稱

設定環境使用

如果想要了解一些細部的資訊,可以開啟Debug mode來看看指令做了些什麼...

調整 GKE group 大小

檢查目前的Cluster Size

執行調整指令,調整instance group大小...

kubectl操作指令與K8S API

K8S本身具備完整的環境管理、操控API,也提供kubectl這個指令讓使用者可以透過Command Line的方式管理Cluster,下面稍微介紹使用API與kubectl的方式...

K8S所提供的APIS

我們可以透過kubectl的Cluster info可以知道K8S環境上的一些資訊,其中包含API與K8S Web Console的位置資訊。

如果想要使用上述的API與Web Console,可以使用下面指令,取出環境的存取帳號密碼:

在GKE的環境中,我們也可以透過web console中的cluster detail頁面來找到連線API的資訊:

GKE cluster info

Request example:

Result:

Reference

Last updated