antony@notes:~/misc$ cat "面試-口說.md"
面試 - 口說
面試 - 口說
Deployment
- Deployment 由 Replicaset 和 pod 組成
- Deployment 管理 ReplicaSet , ReplicaSet 管理 Pods
- Deployment 為 Replicaset 和 pod 提供一種宣告式的設定和更新方式,可以在 Deployment object yaml 檔裡面的 replicas 或是 透過命令式
kubectl scale deploy deployment的名字 --replicas=多少來設定 pod 的數量。 - 在硬體資源允許下,Replicaset 會幫我們建立出使用者期望的 pod 數量,並且一直維持這個數量,也就是說當有一台 pod 毀損時,Replicaset 會自動再產生同樣的 pod 出來,而多個 pod 是本尊與分身的概念,都提供同樣的服務,這麼做的目的是為了讓服務可以達到平衡負載。
- 透過
kubectl set image deployment.v1.apps/deployment的名字 Container名字=image完整資訊 --record可以在更新 Deployment 的 image 版本的同時,將 image 的資訊記錄下來,而它的更新方式會先建立出新的 pod 再把舊的版本移除 - 也可以透過
kubectl rollout undo deployment.v1.apps/deployment的名字 --to-revision=回到指定的版本
sts,
service (3),
deamonset,
static pod,
nginx.ingress,
k8s叢集變複雜後我們一定會記不住有那些 pod,有哪些 ip,透過 ingress,輸入記得住的域名,再透過輸入不同的 path 會到不同的 service,不同的 service 就代表不同的 pod,不同的服務。