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