在實際情況下,可能需要將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...