《關於我怎麼把一年內學到的新手 IT/SRE 濃縮到 30 天筆記這檔事》 Day 11 Kubernetes - 組建真正的服務吧(一)
本篇大綱
邁向真正的要組合服務了,今天我們先來從 Deployment 來測試起,來試試 Service 有沒有達到負載平衡的效果。
內文
我們先來建立只有顯示 Hostname 的 Deployment,我把 Docker image 下載回來本機查詢他有 Expose 9376 的 Port,因此 containerPort 就是 9376。
1 |
|
再來是建立 Service,為了 Demo 方便,我這裡會使用 NodePort。
1 |
|
那我們就輸入 apply 把設定檔套用進去:
1 |
|
方便確認,可以用 kubectl get all
確認服務有沒有上去:
1 |
|
根據 Service 內容得知,我們設定為 NodePort 30000,因此可以知道我在內網裡面可以直接連 Worker node 的 30000 Port,就可以進去此服務。
那我們就可以用 curl
來測試個五次:
1 |
|
有顯示 Hostname 就代表成功了,系統會顯示 Pod 的名稱。
那我們就來試著 replica 開多一點,幾種方式可以修改:
- 修改完
hostname-deploy.yaml
再 apply 一次。 - 用
kubectl edit
直接編輯 Deployment,replicas
數量調高。 - 用
kubectl scale
把 Deployment 擴充。
1 |
|
那我們就可以再來用 curl
來測試個十次:
1 |
|
就會發現後面每次接的 Pod 不見得都是同一個,證明 Service 有做到簡單的負載平衡,連線到各自不同的 Pod。
那我們就把他刪除掉結束這個實驗:
1 |
|
下一篇我會來介紹,如何使用 Deployment + Secret + EmptyDir 架設 Wordpress + MySQL。
本系列內容也會同步貼到我的 iT 邦幫忙 https://ithelp.ithome.com.tw/users/20112934 歡迎來點一下追蹤,那我們就下一篇文章見啦!
Source
《關於我怎麼把一年內學到的新手 IT/SRE 濃縮到 30 天筆記這檔事》 Day 11 Kubernetes - 組建真正的服務吧(一)
https://blog.yangjerry.tw/it2022-day11/