成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

親和性實(shí)踐 容器云 UK8S

ernest.wang / 3543人閱讀

摘要:節(jié)點(diǎn)親和與反親和性節(jié)點(diǎn)親和與反親和性節(jié)點(diǎn)親和與反親和性使用節(jié)點(diǎn)親和性與反親和性,需要在下增加字段,節(jié)點(diǎn)親和分為硬匹配和軟匹配兩種。

親和性實(shí)踐

本篇目錄

1. 標(biāo)簽2. 節(jié)點(diǎn)篩選器(nodeSelector)3. 節(jié)點(diǎn)親和與反親和性(nodeAffinity)

Kubernetes 提供了多種節(jié)點(diǎn)分配使用的方法,常用的有以下4種:

節(jié)點(diǎn)篩選器(nodeSelector)節(jié)點(diǎn)親和與反親和性(nodeAffinity)Pod親和與反親和性(podAffinity)節(jié)點(diǎn)隔離/限制

1. 標(biāo)簽

在做節(jié)點(diǎn)選擇的時(shí)候很多時(shí)候用到了 Kubernetes 的 Label 功能,這里我們分別展示給節(jié)點(diǎn)及 Pod Label 的方法。

給 10.10.10.10 節(jié)點(diǎn)增加 disktype=ssd 標(biāo)簽
# kubectl label nodes 10.10.10.10 disktype=ssd
給 Pod 增加 disktype=ssd 標(biāo)簽,同理可以針對(duì) Deployment、Service 等對(duì)象進(jìn)行增加標(biāo)簽操作
# kubectl label po unginx-7db67b8c69-zcxmm disktype=ssd

2. 節(jié)點(diǎn)篩選器(nodeSelector)

節(jié)點(diǎn)篩選器,用于創(chuàng)建 Pod(及 Deployment、StatefulSet 等控制器時(shí)),將 Pod 分配給相應(yīng)的節(jié)點(diǎn)。

實(shí)例 yaml 創(chuàng)建了一個(gè) Pod 對(duì)象,在 spec.nodeSelector 下以 Map 形式增加改容器部署的節(jié)點(diǎn)的限制條件,nodeSelector 會(huì)篩選擁有 disktype: ssd 的 Node 節(jié)點(diǎn)進(jìn)行 Pod 部署。

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    env: test
spec:
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
  nodeSelector:
    disktype: ssd

3. 節(jié)點(diǎn)親和與反親和性(nodeAffinity)

使用節(jié)點(diǎn)親和性與反親和性,需要在 Deployment spec.template.spec 下增加 affinity 字段,節(jié)點(diǎn)親和分為硬匹配軟匹配 兩種。

3.1 硬匹配

在以下 yaml 示例中,requiredDuringSchedulingIgnoredDuringExecution 可以理解為排除不具備指定 Label 的節(jié)點(diǎn),如果節(jié)點(diǎn)不含有 ucloud=yes 則 Pod 不會(huì)被分配到該節(jié)點(diǎn)。

nodeSelectorTerms 下提供了 matchExpressions(匹配表達(dá)式)和 matchFields(匹配字段),選擇使用其一,我們這里使用了 matchExpressions,下面的表達(dá)式中 Key 和 Values對(duì)應(yīng),operator 的可選參數(shù)有In、NotIn、Exists、DoesNotExist、Gt、Lt,這里可以設(shè)置 NotIn、DoesNotExist 進(jìn)行反親和的設(shè)置,也就是如果這里寫入了 operator: NotIn 的時(shí)候,Pod 將分配在沒有 ucloud=yes Label 的節(jié)點(diǎn)上。

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    run: ucloud
  name: ucloud
spec:
  replicas: 3
  selector:
    matchLabels:
      run: ucloud
  template:
    metadata:
      creationTimestamp: null
      labels:
        run: ucloud
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution: 
            nodeSelectorTerms: 
            - matchExpressions:
              - key: ucloud
                operator: In
                values:
                - "yes"
      containers:
      - image: nginx
        name: ucloud
        ports:
        - containerPort: 80
        resources: {}
3.2 軟匹配

requiredDuringSchedulingIgnoredDuringExecution 對(duì)應(yīng)還有 preferredDuringSchedulingIgnoredDuringExecution,這里稱為軟匹配,這個(gè)參數(shù)為對(duì)應(yīng)節(jié)點(diǎn)進(jìn)行打分,降低不具備 Label 的節(jié)點(diǎn)的選中幾率。

這里的 weight 字段在1-100范圍內(nèi)。對(duì)于滿足所有調(diào)度要求的每個(gè)節(jié)點(diǎn),調(diào)度程序?qū)⑼ㄟ^迭代此字段的元素計(jì)算總和,并在節(jié)點(diǎn)與對(duì)應(yīng)的節(jié)點(diǎn)匹配時(shí)將「權(quán)重」添加到總和 MatchExpressions,然后將該分?jǐn)?shù)與節(jié)點(diǎn)的其他優(yōu)先級(jí)函數(shù)的分?jǐn)?shù)組合。總得分最高的節(jié)點(diǎn)是最優(yōu)選的。

preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
  preference:
    matchExpressions:
    - key: another-node-label-key
      operator: In
      values:
      - another-node-label-value
3.3 說明

如果同時(shí)指定 nodeSelector 和 nodeAffinity,節(jié)點(diǎn)必須滿足全部條件,Pod 才會(huì)被調(diào)度到該節(jié)點(diǎn)。

如果指定了多個(gè) nodeSelectorTerms 關(guān)聯(lián) nodeAffinity 類型,如果能滿足其中一個(gè) nodeSelectorTerms,則 Pod 就可以調(diào)度到這個(gè)節(jié)點(diǎn)。

如果指定了多個(gè) matchExpressions 關(guān)聯(lián)的 nodeSelectorTerms,則只有在節(jié)點(diǎn)滿足所有 matchExpressions 要求情況下才能將該容器調(diào)度到節(jié)點(diǎn)上。

如果刪除或更改已有容器節(jié)點(diǎn)的 Label,Kubernetes 不會(huì)主動(dòng)刪除該容器,親和的調(diào)度選擇僅在調(diào)度 Pod 時(shí)起作用。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/127026.html

相關(guān)文章

  • 容器UK8S】新手指導(dǎo)

    摘要:詳細(xì)請見產(chǎn)品價(jià)格產(chǎn)品概念使用須知名詞解釋漏洞修復(fù)記錄集群節(jié)點(diǎn)配置推薦模式選擇產(chǎn)品價(jià)格操作指南集群創(chuàng)建需要注意的幾點(diǎn)分別是使用必讀講解使用需要賦予的權(quán)限模式切換的切換等。UK8S概覽UK8S是一項(xiàng)基于Kubernetes的容器管理服務(wù),你可以在UK8S上部署、管理、擴(kuò)展你的容器化應(yīng)用,而無需關(guān)心Kubernetes集群自身的搭建及維護(hù)等運(yùn)維類工作。了解使用UK8S為了讓您更快上手使用,享受UK...

    Tecode 評(píng)論0 收藏0
  • 集群節(jié)點(diǎn)配置推薦 容器 UK8S

    摘要:對(duì)于存儲(chǔ)資源,的節(jié)點(diǎn)默認(rèn)系統(tǒng)盤。節(jié)點(diǎn)創(chuàng)建時(shí)可選擇數(shù)據(jù)盤掛載亦可在節(jié)點(diǎn)創(chuàng)建完成后在主機(jī)側(cè)掛載,如節(jié)點(diǎn)掛載有數(shù)據(jù)盤,將用于存放本地鏡像的,否則本地鏡像等將保存在系統(tǒng)盤。 集群節(jié)點(diǎn)配置推薦本篇目錄1. Master 配置推薦2. 如何選擇 Node 配置大小1. Master 配置推薦Master 規(guī)格跟集群規(guī)模有關(guān),集群規(guī)模越大,所需要的 Master 規(guī)格也越高,不同集群規(guī)模的,Master ...

    ernest.wang 評(píng)論0 收藏2218
  • UK8S通過CNCF Kubernetes軟件一致性認(rèn)證

    摘要:最佳實(shí)踐使用方法及支持日志解決方案基于的實(shí)踐基于的監(jiān)控解決方案通過軟件一致性認(rèn)證已正式通過云原生計(jì)算基金會(huì)軟件一致性認(rèn)證。1、集群自動(dòng)伸縮 UK8S新上線集群自動(dòng)伸縮功能(Cluster Autoscaler),配置好伸縮策略后,可實(shí)現(xiàn)自動(dòng)擴(kuò)縮Node節(jié)點(diǎn),配合HPA(Horizontal Pod Autoscaler)一起使用,可輕松應(yīng)對(duì)突發(fā)的業(yè)務(wù)流量,降低IT運(yùn)營成本,減輕運(yùn)維負(fù)擔(dān)...

    Kerr1Gan 評(píng)論0 收藏0
  • 容器 UK8S】最佳實(shí)踐:基于Jenkins的CI/CD實(shí)踐

    摘要:擴(kuò)展性好當(dāng)集群的資源嚴(yán)重不足而導(dǎo)致排隊(duì)等待時(shí),可以很容易的添加一個(gè)到集群中,從而實(shí)現(xiàn)擴(kuò)展。用法,選擇盡可能使用這個(gè)節(jié)點(diǎn)鏡像,填寫,這個(gè)容器鏡像是我們的運(yùn)行環(huán)境。更新文件,這里我們只是將中的鏡像更換成最新構(gòu)建出的鏡像?;贘enkins的CI/CD實(shí)踐[TOC]一、概要提到K8S環(huán)境下的CI/CD,可以使用的工具有很多,比如Jenkins、Gitlab CI、新興的drone等,考慮到大多公司...

    Tecode 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<