iT邦幫忙

2021 iThome 鐵人賽

DAY 9
0

GKE簡介

今天要說的是GKE GKE是什麼?由於近年微服務崛起使用k8s的需求大增,衍生各大小公司在建立服務時首選的架構,所以無論是在傳統機房或是雲端平台上可說是必備服務沒有之一,而GKE就是在Google Platform上的半代管的的k8s,這邊會用兩天的時間去說說GKE這大項服務的內容。

首先今天先來說明如何使用與建立GKE,在近半年Google上GKE出現了一種新的建立Cluster方式(全自動最佳化叢集)大概是可以更簡便的不需人工介入的叢集,我就先不討論這部分,所以接下來要說的是GKE Standard版本的建立叢集方式:

建立叢集位置與版本

  1. 選擇區域性或是地區性這兩者差異在於若選擇後者你可以多方部署該地區的不同zone,可以說是輩份相同服務至不同的區域上,算是比免單點破壞但成本也是N倍
  2. 版本選擇 靜態版本 和 發布版本 這兩者是有差異的若選擇發佈版本意味著你無法關閉自動更新叢集內部版本,因為google本生所使用的Kubernetes版本與原生的Kubernetes版本是有差異的google有另外的包裝過Kubernetes,所以在google上看到的版本會像是 1.20.9-gke.1000 這要的形式而1.20前面的版號是對應該Kubernetes版本,這邊會建議使用靜態版本(預設)相對穩定,且在需要升級上可控多的點彈性。 如圖:
    https://ithelp.ithome.com.tw/upload/images/20210828/20129516Bpb4uO8gBQ.png

建立叢集Pool(pool可以分開建立事後建立修改彈性高)

  1. 顧名思義就是建立叢集的VM群這邊比必須使用google VM上的OS版本如同一開始所說GKE算是半託管叢集有滿多東西需照著google規範去建立實行,但還是有許多可控,其中包含了個節點(VM)硬體系統硬碟種類Pod可使用上線(這部分建議使用預設因為這會因為你所開的IP range CIRD影響了你的pod數量運行)
    https://ithelp.ithome.com.tw/upload/images/20210828/20129516uY4RetU4QT.png
  2. 安全性這邊如果有使用API外部監控k8s狀態建議勾選(提供所有 Cloud API 的完整存取權限)
  3. 中繼層也是在這邊設定但我通常不會去異動以及添加可以在之後有需求時再去使用Cli設置,但這邊有一個比較特別的東西"標籤"可以設置著東西來標記該叢集(例如查詢費用等...)

建立叢集細部(這邊設定需小心若設定錯誤可能需重新建立)

  1. 網路設置也就是使用前幾天所說的VPC為基礎去設置,這邊的叢集會建議使用“私人叢集”這表示此叢集外網無法對外,相對會教安全至於外部IP會使用NAT方式去對外(這後面會在提到)。
  2. 如果有使用google monitor metric這邊也需要勾選google會自動部署對應pod監控該叢集當然你也可以關閉節省資源。
  3. google內建istio架構也是這邊要設置(但這邊建議可以自建istio 有興趣可以參考我去年鐵人賽文章XD)。

若覺得介面麻煩,建立方式也可以使用commandline大致如下,可以提供參考:/images/emoticon/emoticon07.gif

gcloud beta container --project "project_name" clusters create "cluster-test" \
--zone "asia-east1-a" \
--no-enable-basic-auth \
--cluster-version "1.18.20-gke.901" \
--machine-type "n1-standard-4" \
--image-type "COS" \
--disk-type "pd-standard" \
--disk-size "100" \
--metadata disable-legacy-endpoints=true \
--scopes "https://www.googleapis.com/auth/cloud-platform" \
--num-nodes "3" \
--enable-stackdriver-kubernetes \
--enable-private-nodes --master-ipv4-cidr "172.16.0.0/28" \
--enable-ip-alias \
--network "projects/project_name/global/networks/vpc" \
--subnetwork "projects/test/regions/asia-east1/subnetworks/sub_network" \
--cluster-ipv4-cidr "10.60.0.0/14" \
--default-max-pods-per-node "110" \
--no-enable-master-authorized-networks \
--addons HorizontalPodAutoscaling,HttpLoadBalancing \
--enable-autoupgrade --enable-autorepair

上一篇
網路對等連線
下一篇
GKE (二)
系列文
GCP的雲端世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言