pod排程之NodeSelector 定向排程

2021-10-08 04:09:07 字數 1613 閱讀 2241

在實際情況下,可能需要將pod排程到指定的一些node上。我們可以通過node的標籤(lable)和pod的nodeselector屬性相匹配,來達到上述目的。

[root@bogon ~]

# kubectl get nodes

name status roles age version

server01 ready 5d12h v1.17.7

[root@bogon ~]

# kubectl label nodes server01 zone=north

node/server01 labeled

這裡為server01節點打上乙個zone=north標籤,表明它是乙個「」北方「」的乙個節點。

2. 然後在pod的定義中加上nodeselector的設定。

vim redis-master-controller.yaml

apiversion

: v1

kind

: replicationcontroller

metadata

:name

: redis-master

labels

:name

: redis-master

spec

:replicas:1

selector

:name

: redis-master

template

:metadata

:labels

:name

: redis-master

spec

:containers:-

name

: master

image

: redis

ports:-

containerport

:6379

nodeselector

:zone

: north

執行kubectl create -f 命令建立pod

[root@bogon ~]

# kubectl create -f redis-master-controller.yaml

replicationcontroller/redis-master created

使用kubectl get pod可以驗證pod所在的node:

[root@bogon ~]

# kubectl get pod -o wide

name ready status restarts age ip node nominated node readiness gates

redis-master-jsmkp 1/1 running 0 51s 172.17.0.2 server01

需要注意的是: 如果我們制定了pod的nodeselector條件,但在集群中不存在包含相應標籤的node,則這個pode無法被成功排程!

pod排程之CrontJob 定時任務

cron job 管理基於時間的 job,即 乙個 cronjob 物件類似於 crontab cron table 檔案中的一行。它根據指定的預定計畫周期性地執行乙個 job。我們需要掌握cron job的定時表示式,它基本上照搬了linux cron的表示式,區別是第1位是分鐘而不是秒,格式如下...

Kubernates之pod檔案傳遞

本地伺服器 跳轉伺服器 pod 之間資料匯入與匯出 1.pod中資料匯出 可用lrzsz,匯出到桌面中。在pod中直接操作 從伺服器中匯入檔案到pod 中 kubectl cp root integration test hpa automation tosca csar ns vgw.csar o...

k8s排程 原理 K8s排程原理和Pod生命週期

1 k8s排程原理 pod只存在某乙個物理節點上,可以執行多個container 2 pod的生命週期 暫停pod,可以暫停deployment kubectl get depolyment kubectl scale replicas 0 deployment 刪除pod。刪除之後,狀態變成suc...