您好,登錄后才能下訂單哦!
如何用label控制Pod的位置,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
默認配置下,Scheduler 會將 Pod 調度到所有可用的 Node。不過有些情況我們希望將 Pod 部署到指定的 Node,比如將有大量磁盤 I/O 的 Pod 部署到配置了 SSD 的 Node;或者 Pod 需要 GPU,需要運行在配置了 GPU 的節點上。
Kubernetes 是通過 label 來實現這個功能的。
label 是 key-value 對,各種資源都可以設置 label,靈活添加各種自定義屬性。比如執行如下命令標注 k8s-node1 是配置了 SSD 的節點。
kubectl label node k8s-node1 disktype=ssd
然后通過 kubectl get node --show-labels
查看節點的 label。
disktype=ssd
已經成功添加到 k8s-node1,除了 disktype
,Node 還有幾個 Kubernetes 自己維護的 label。
有了 disktype
這個自定義 label,接下來就可以指定將 Pod 部署到 k8s-node1。編輯 nginx.yml:
全部 6 個副本都運行在 k8s-node1 上,符合我們的預期。
要刪除 label disktype
,執行如下命令:
kubectl label node k8s-node1 disktype-
- 即刪除。
除非在 nginx.yml 中刪除 nodeSelector
設置,然后通過 kubectl apply
重新部署。
Kubernetes 會刪除之前的 Pod 并調度和運行新的 Pod。
Deployment 相關操作就討論到這里。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。