中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

kubernetes yaml 文件 調動 污點容忍

發布時間:2020-07-08 13:34:01 來源:網絡 閱讀:225 作者:wx5a98a78793203 欄目:系統運維

1.基本用法

apiVersion: v1
kind: Pod
#創建的資源類型可以是,Deployment、Job、Ingress、Service等
metadata:
#包含Pod的一些meta信息,比如名稱、namespace、標簽等信息
  name: ng1
  #Podname
  labels:
  #標簽
    app: web
spec:
  containers:
    - name: ng1
      #容器name
      image:  hub.c.163.com/library/nginx
      #鏡像拉取地址
      imagePullPolicy: IfNotPresent
      #鏡像拉取策略,Always,(無論本地是否有每次都拉取) Never,(每次都不拉取,即使本地沒有也不拉取) IfNotPresent(本地有就用,沒有就去拉) 
      ports:
      #對外開放端口
        - containerPort: 80

2.調度策略

節點選擇器: nodeSelector、nodeName
基于node_name調度

apiVersion: v1
kind: Pod
metadata:
  name: ng2
spec:
  nodeName: cs25
  #指定調度到"cs25" node節點上
  containers:
    - name: ng2
      image:  hub.c.163.com/library/nginx

基于node標簽來調度
kubectl label nodes cs25 disk=ssd
#給節點cs25 添加標簽

apiVersion: v1
kind: Pod
metadata:
  name: ng2
spec:
  nodeSelector:
    disk: ssd
    #表示要只有node節點上有"disk=ssd",才能被調度上去
  containers:
    - name: ng2
      image:  hub.c.163.com/library/nginx

節點親和性調度: nodeAffinity

apiVersion: v1
kind: Pod
metadata:
  name: ng2
spec:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
      #requiredDuringSchedulingIgnoredDuringExecution 硬親和性 必須滿足親和性,滿足不調用
      #preferredDuringSchedulingIgnoredDuringExecution 軟親和性 能滿足最好,不滿足也沒關系。
        nodeSelectorTerms:
        - matchExpressions:
          - key: disk
            operator: In
            #表示上面那個字段必須包含下面兩個值, 還可以換成"NotIn"取反
            values:
            - jx
            - ssd
      #表示 只能調度到node有"disk=jx" 或"node=ssd"
  containers:
    - name: ng2

POD調度 podAffinity 和 podAntiAffinity

apiVersion: v1
kind: Pod
metadata:
  name: ng2
  labels:
    app: nginx
spec:
  containers:
    - name: ng2
      image:  hub.c.163.com/library/nginx
---
apiVersion: v1
kind: Pod
metadata:
  name: ng3
spec:
  containers:
    - name: ng3
      image:  hub.c.163.com/library/nginx
  affinity:
    podAntiAffinity:
    #反親和,表示滿足條件的,讓兩個主機不在同一臺node主機上運行,換成"podAffinity:"功能相反
      requiredDuringSchedulingIgnoredDuringExecution:
      - labelSelector:
          matchExpressions:
          - {key: app, operator: In, values: ["nginx"]}
        topologyKey: kubernetes.io/hostname
                #親和標準,表示node 都有hostname這個鍵名,及value 一樣我們就認為他們在同一臺節點

labelSelector : 選擇跟那組Pod親和
namespaces : 選擇哪個命名空間
topologyKey : 指定節點上的哪個鍵
假如在反親和場景"topologyKey: type" 這個node標簽所有主機都有,則第二臺容器無法被調度到任何主機

3.污點容忍調度

kubectl taint nodes cs25 key=value:NoSchedule
NoSchedule:僅影響調度過程,對現存的Pod對象不產生影響;
NoExecute:既影響調度過程,也影響顯著的Pod對象;不容忍的Pod對象將被驅逐
PreferNoSchedule: 表示盡量不調度

創建污點
kubectl taint node cs25 rongren=true:NoSchedule
#表示在cs25節點上創建一個 rongren的鍵 鍵值為"true",調度策略為NoSchedule
kubectl taint node cs25 rongren-
#刪除污點,指定鍵名加"-"即可
kubernetes yaml 文件 調動 污點容忍

apiVersion: v1
kind: Pod
metadata:
  name: ng6
spec:
  containers:
    - name: ng6
      image:  nginx
  tolerations:
  #設置容忍性
  - key: "rongren"
    operator: "Equal"
    #如果操作符為Exists,那么value屬性可省略,表示key這個存在即通過,如果不指定operator,則默認為Equal,value一定要和設置的值相等,否則無法通過
    value: "true"
    effect: "NoSchedule"
  #意思是這個Pod要容忍的有污點的Node的key是”rongren“ Equal true,效果是NoSchedule,
  #tolerations屬性下各值必須使用引號,容忍的值都是設置Node的taints時給的值。

如果在設置node的Taints(污點)之前,就已經運行了一些Pod,那么這些Pod是否還能繼續在此Node上運行? 這就要看設置Taints污點時的effect(效果)了。

    如果effect的值是NoSchedule或PreferNoSchedule,那么已運行的Pod仍然可以運行,只是新Pod(如果沒有容忍)不會再往上調度。

   而如果effect的值是NoExecute,那么此Node上正在運行的Pod,只要沒有容忍的,立刻被驅逐。

   雖然是立刻被驅逐,但是K8S為了彰顯人性化,又給具有NoExecute效果的污點, 在容忍屬性中有一個可選的

      tolerationSeconds字段,用來設置這些Pod還可以在這個Node之上運行多久,給它們一點寬限的時間,到時間才驅逐。

   如果是以Pod來啟動的,那么Pod被驅逐后, 將不會再被運行,就等于把它刪除了。

   如果是deployment/rc,那么刪除的pod會再其它節點運行。

   如果是DaemonSet在此Node上啟動的Pod,那么也不會再被運行,直到Node上的NoExecute污被去除或者Pod容忍。
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南郑县| 廉江市| 平果县| 广汉市| 始兴县| 闽侯县| 宣武区| 县级市| 宝应县| 武冈市| 青铜峡市| 仁寿县| 上虞市| 丰城市| 洛扎县| 静乐县| 安陆市| 沁阳市| 信丰县| 于都县| 泰兴市| 鄂伦春自治旗| 六枝特区| 卓尼县| 永仁县| 耒阳市| 双鸭山市| 涟水县| 松原市| 涿鹿县| 丁青县| 神农架林区| 崇义县| 泸水县| 岱山县| 玛曲县| 富阳市| 美姑县| 武山县| 绥芬河市| 长葛市|