用 label 控制 Pod 的位置

2022-10-11 11:48:08 字數 1316 閱讀 5430

預設配置下,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。

在 pod 模板的spec裡通過nodeselector指定將此 pod 部署到具有 labeldisktype=ssd的 node 上。

部署 deployment 並檢視 pod 的執行節點:

全部 6 個副本都執行在 k8s-node1 上,符合我們的預期。

要刪除 labeldisktype,執行如下命令:

kubectl label node k8s-node1 disktype-
- 即刪除。

不過此時 pod 並不會重新部署,依然在 k8s-node1 上執行。

kubernetes 會刪除之前的 pod 並排程和執行新的 pod。

k8s通過label來控制pod的位置

預設情況下,scheduler會將pod排程到所有可用的node,不過有些情況我們希望將 pod 部署到指定的 node,比如將有大量磁碟 i o 的 pod 部署到配置了 ssd 的 node 或者 pod 需要 gpu,需要執行在配置了 gpu 的節點上。kubernetes通過label來實現...

K8s使用label進行pod節點的篩選

在一些有特殊需求的情況下,可能會涉及到將某些服務或者是某些pod固定要起在哪些節點上的需求,例如某些可能對磁碟io效能要求比較高的pod,要固定起在使用ssd的node上,以下為通過lables來實現以上的需求 基礎語法 新增label kubectl label nodes 刪除label kub...

在頁面內, 滑塊位置的控制

要求 1.頁面分三部,head,content,foot,另外有浮動的滑塊 2.當前視窗處在content時,滑塊固定在最底部 3.當滾動條滑到foot出現時,滑塊固定在content的最底部 4.當滾動條往上滑動,滑至head 滑塊的高度時,滑塊固定在content的頂部 var block bl...