共計(jì) 788 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。
如何用 label 控制 Pod 的位置,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面丸趣 TV 小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
默認(rèn)配置下,Scheduler 會(huì)將 Pod 調(diào)度到所有可用的 Node。不過有些情況我們希望將 Pod 部署到指定的 Node,比如將有大量磁盤 I/O 的 Pod 部署到配置了 SSD 的 Node;或者 Pod 需要 GPU,需要運(yùn)行在配置了 GPU 的節(jié)點(diǎn)上。
Kubernetes 是通過 label 來實(shí)現(xiàn)這個(gè)功能的。
label 是 key-value 對(duì),各種資源都可以設(shè)置 label,靈活添加各種自定義屬性。比如執(zhí)行如下命令標(biāo)注 k8s-node1 是配置了 SSD 的節(jié)點(diǎn)。
kubectl label node k8s-node1 disktype=ssd
然后通過 kubectl get node –show-labels 查看節(jié)點(diǎn)的 label。
disktype=ssd 已經(jīng)成功添加到 k8s-node1,除了 disktype,Node 還有幾個(gè) Kubernetes 自己維護(hù)的 label。
有了 disktype 這個(gè)自定義 label,接下來就可以指定將 Pod 部署到 k8s-node1。編輯 nginx.yml:
全部 6 個(gè)副本都運(yùn)行在 k8s-node1 上,符合我們的預(yù)期。
要?jiǎng)h除 label disktype,執(zhí)行如下命令:
kubectl label node k8s-node1 disktype-
– 即刪除。
除非在 nginx.yml 中刪除 nodeSelector 設(shè)置,然后通過 kubectl apply 重新部署。
Kubernetes 會(huì)刪除之前的 Pod 并調(diào)度和運(yùn)行新的 Pod。
Deployment 相關(guān)操作就討論到這里。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝您對(duì)丸趣 TV 的支持。