iT邦幫忙

2026 iThome 鐵人賽

DAY 8
0

先講為什麼需要它。Pod 是會死的,Node 重開、記憶體不夠被砍、程式自己 crash,Pod 就沒了

沒人管的話服務就一直掛著。Deployment 的工作是幫你盯場,你只要說我要三個,剩下的它自己想辦法

deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
  namespace: ithome-lab
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
        - name: nginx
          image: nginx:alpine
          ports:
            - containerPort: 80

apiVersion 從 v1 變成 apps/v1 了,Day 6 有先提過這件事,Pod 是最核心的資源所以是 v1,Deployment 屬於 apps 那組 API

這份 YAML 有三個重點。replicas 是我要幾份。selector.matchLabels 是我負責管哪些 Pod。template 底下那一整包,其實就是前天那個 Pod 的內容搬進來,差別是它沒有 name,因為名字之後由 Deployment 自動生成

kubectl apply -f manifests/base/deployment.yaml
kubectl get deployment,replicaset,pods -n ithome-lab

https://ithelp.ithome.com.tw/upload/images/20260922/20176154rBajuPXJzI.png

這裡會冒出一個我沒寫過的東西,ReplicaSet。實際的關係是 Deployment 生一個 ReplicaSet,ReplicaSet 再去生 Pod,總共三層。Pod 的名字會長成 web 加兩串亂碼,中間那串是 ReplicaSet 的編號,最後那串才是 Pod 自己的

https://ithelp.ithome.com.tw/upload/images/20260922/20176154gdXKEyX7BI.png

ReplicaSet 只負責維持數量,Deployment 負責換版本。明天做滾動更新的時候會看到 Deployment 開出第二個 ReplicaSet,然後把 Pod 從舊的那個慢慢搬到新的

接下來隨便挑一個 Pod 刪掉

kubectl delete pod <POD_NAME> -n ithome-lab
kubectl get pods -n ithome-lab

https://ithelp.ithome.com.tw/upload/images/20260922/201761548NTLF8CHxD.png

ReplicaSet 會一直在比對現在有幾個跟應該要有幾個,發現少了就補,數量也可以隨時改

kubectl scale deployment web -n ithome-lab --replicas=5
kubectl get pods -n ithome-lab
kubectl scale deployment web -n ithome-lab --replicas=3

https://ithelp.ithome.com.tw/upload/images/20260922/20176154bQhMQwkVYw.png

不過 scale 改的是叢集上的狀態,YAML 檔裡面還是寫 3,下次 apply 就會被拉回去。正式一點的做法是改 YAML 再 apply,指令版適合臨時測試

ok今天就這樣,明天見 :D


上一篇
Day 7 Label & Selector
下一篇
Day 9 rollout
系列文
讓Claude Code當我的 K8s 助教:部署、故障排查與入門可觀測性 共 12 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
justin_log
iT邦新手 4 級 ‧ 2026-09-22 14:53:36

學長!我昨天有在您的文章下面留幾個問題,若學長有空的話請再幫我撥冗回覆,謝謝學長!
Yes

noalowo iT邦新手 4 級 ‧ 2026-09-22 15:00:16 檢舉

快去趕你的鐵人賽:)

我要留言

立即登入留言