sasa :)
3 min readMay 25, 2020

GKE學習心得(二)-Cluster

#GKE #Cluster

第一集在這裡

本集重點就是傳說中的Cluster

Cluster稱為叢集

在GKE中,每個project可以最多有50個Clusters(per zone)[1]

如第一集所說

一個Cluster可以有多個Node Pools(instance groups)

一個Node Pools可以有多個Nodes(instances)

一個Node上面可以跑多個Pods(扯遠了)

Pod是kubernetes中運行的最小單位

[1] https://cloud.google.com/kubernetes-engine/quotas

Cluster Type

在Google文件中 Cluster分很多種

single-zone cluster, multi-zone cluster, regional cluster[1]

其實沒有這麼複雜

這就只是cluster的腳(vm)插在哪裡罷了

cluster的腳(vm)在同一個zone就叫single-zone cluster

若腳(vm)在指定的兩個zone就叫multi-zone cluster

以此類推

Public Cluster vs Private Cluster

這兩個的差異,其實也不大

就是差在cluster裡面的Node有沒有對外ip而已

其他的使用方式都一樣

那衍伸的問題是,Node如果沒有對外ip:

  • Node怎麼抓外面的東西?

就跟設定private VPC一樣,給他一個Cloud NAT就可以啦!

  • Node可以對外嗎?(讓外面的服務摸到嗎?)

可以啊,將裡面的service宣告type=Load Balancer/NodePort,或是使用Ingress就好啦!

所以其實阿 Public vs private cluster是差不多的呀!

從命名上面,這倒是一個誤區

會讓人以為private cluster是不能對外的❌❌❌

這觀念是不對的喔!

private cluster是可以對外的

private cluster是可以對外的

private cluster是可以對外的

VPC native vs Route-based

這兩個指的是cluster的網路架構,我覺得是Cluster裡面比較複雜的

也還沒有理解的很透徹

但簡單來說[2]

VPC-native 是利用alias ip range來找到cluster裡面的Pod

Route-based 是利用Cloud Routes來找到cluster裡面的Pod

VPC native

記得我們在第一集裡面說到的 service address range , pod service range

這個設定的range就是alias ip range

kubernetes會用這個ip range找到對應的Pod

ps. 在同一個cluster中的pod是互相認識彼此的!

用VPC native有很多好處[2],不過設完後是不能再改回route-based的

因為兩個架構的網路架構是完全不一樣

[1] https://cloud.google.com/kubernetes-engine/docs/concepts/types-of-clusters
[2] https://cloud.google.com/kubernetes-engine/docs/how-to/alias-ips

以上

咱們下集待續!

一樣,有問題歡迎一起討論 :)

sasa :)
sasa :)

Written by sasa :)

目標是做一個讓所有人都聽得懂技術語言的transfer person

No responses yet