# K8s K8s resource 關係圖:  ## Pod 1. K8s 裡面的最小單位,可以被建立及刪除,但不會有重新建立。 2. 水平擴展的操作單位是 pod 3. 每個 pod 的 ip 都會不同,單一 pod 內的 containers 所使用的 port 不能重複,但跨 pod 的話,port 可以重複 ex. Pod A > IP: 10.0.0.1, Container1 > Port:80, Container2 > Port:30 Pod B > IP: 10.0.0.2, Container1 > Port:80, Container2 > Port:30 ## ReplicaSet 1. 管理 pods,類似 pods 的老大,只要 pods 出了問題,就會去管理 pods 接下來該如何建立修改刪除 2. 如果 pods 死了,則 replicaSet 會重新建立新的 pod 去確保 pods 維持在保證的數量 3. 也可以水平調整 pods 數量以保證不會讓服務中斷 4. 最重要的一點,讓我們可以不用手動的直接管理 pods   ## Deployment 1. 在 K8s 的歷史裡,先有 ReplicaSet 才有 Deployment 2. 會透過操作 replicaSet 去管理 pods 3. 透過建立和管理 replicaSets 去支援 zero downtime update 4. 支援 rollback 5. 建立一個 unique label 並指定給 replicaSet,讓他可以管理 pods 6. 可以執行一些佈署的方案 * rolling update * blue-green deployment * canary deployment * rollback  ## Services 1. 提供 pods 一個進入點,讓他們可以被 pod 以外的資源使用 2. service 不是一個短暫存在的資源,他會活著很久 3. Serivce 的 ip 是固定的 4. 因為 pod 變動的話,internal ip 會變動,所以不能依賴 internal ip 來連接 pod 5. Serivce 跟 pod 間是用 label 去辨別並連線的,通常會取名一樣 6. service 跟 pods 間有自動 load balance 7. Node 會幫 Service 建立一個固定的虛擬IP   ###### tags: `K8s`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up