国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

k8s~節(jié)點(diǎn)的親和性

這篇具有很好參考價(jià)值的文章主要介紹了k8s~節(jié)點(diǎn)的親和性。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在Kubernetes中,你可以使用節(jié)點(diǎn)親和性(Node Affinity)來控制Pod部署在哪些節(jié)點(diǎn)上。通過配置節(jié)點(diǎn)親和性,你可以指定一些規(guī)則,以確保多個(gè)服務(wù)不會(huì)被調(diào)度到同一個(gè)節(jié)點(diǎn)上。

兩種策略

  • requiredDuringSchedulingIgnoredDuringExecution:通過 requiredDuringSchedulingIgnoredDuringExecution,可以定義在調(diào)度期間必須滿足的 Affinity 規(guī)則。這意味著規(guī)則在調(diào)度期間必須滿足,但如果在運(yùn)行時(shí)不滿足,則不會(huì)強(qiáng)制執(zhí)行。

  • preferredDuringSchedulingIgnoredDuringExecution:使用 preferredDuringSchedulingIgnoredDuringExecution,可以定義首選的 Affinity 規(guī)則。這意味著規(guī)則是首選的,但不是強(qiáng)制的,如果無法滿足則可以繼續(xù)調(diào)度。

節(jié)點(diǎn)親和性實(shí)現(xiàn)

以下是一些在部署Deployment時(shí)避免多個(gè)服務(wù)部署到同一節(jié)點(diǎn)的常用方法:

  1. 使用節(jié)點(diǎn)親和性標(biāo)簽(Node Affinity):你可以給每個(gè)服務(wù)定義一個(gè)獨(dú)特的節(jié)點(diǎn)親和性標(biāo)簽,然后通過affinity字段將這些標(biāo)簽添加到對(duì)應(yīng)的PodSpec中。例如,給服務(wù)A定義service=a的標(biāo)簽,給服務(wù)B定義service=b的標(biāo)簽。然后,在Deployment的PodSpec中使用nodeAffinity字段來指定節(jié)點(diǎn)親和性規(guī)則,確保兩個(gè)服務(wù)不會(huì)調(diào)度到同一個(gè)節(jié)點(diǎn)上。
  • 使用requiredDuringSchedulingIgnoredDuringExecution強(qiáng)制策略,如果不滿足,你的pod將不能被調(diào)度
  • 節(jié)點(diǎn)A上添加標(biāo)簽type=product,service-a將被調(diào)度到這個(gè)節(jié)點(diǎn)
  • 節(jié)點(diǎn)B上添加標(biāo)簽type=order,service-b將被調(diào)度到這個(gè)節(jié)點(diǎn)
  • service-a.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: service-a
spec:
  replicas: 1
  selector:
    matchLabels:
      app: service-a
  template:
    metadata:
      labels:
        app: service-a
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: type
                operator: In
                values:
                - product
      containers:
      - name: service-a
        image: nginx:stable-alpine

  • service-b.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: service-b
spec:
  replicas: 1
  selector:
    matchLabels:
      app: service-b
  template:
    metadata:
      labels:
        app: service-b
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: type
                operator: In
                values:
                - order
      containers:
      - name: service-b
        image: nginx:stable-alpine

上面使用正則表達(dá)式matchExpressions來確定目標(biāo),也可以使用標(biāo)簽matchLabels的方式,更簡(jiǎn)潔,如下:

     # 親和性
      affinity:
        # Pod親和性規(guī)則
        podAffinity:
          # 強(qiáng)制性的調(diào)度規(guī)則, 但不會(huì)影響已在節(jié)點(diǎn)上運(yùn)行的Pod
          requiredDuringSchedulingIgnoredDuringExecution:
          - topologyKey: kubernetes.io/hostname
            # 標(biāo)簽選擇器
            labelSelector:
              matchLabels:
                app: service-a
  1. 使用非強(qiáng)制策略,配置weight權(quán)重一起使用
apiVersion: apps/v1
kind: Deployment
metadata:  
  name: service-a-order
spec:  
  # Pod副本數(shù)量
  replicas: 4
  selector:
    matchLabels:
      app: service-a-order
  # Pod模板
  template:
    metadata:
      # 標(biāo)簽信息: 應(yīng)用的后端服務(wù)
      labels:
        app: service-a-order
    spec:
    # 親和性
      affinity:
        # Pod親和性規(guī)則
        podAntiAffinity:
          # 強(qiáng)制性的調(diào)度規(guī)則, 但不會(huì)影響已在節(jié)點(diǎn)上運(yùn)行的Pod
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 100  
            podAffinityTerm:
                topologyKey: kubernetes.io/hostname
                # 標(biāo)簽選擇器
                labelSelector:
                  matchExpressions: # 也需要matchLabels
                  - key: app
                    operator: In
                    values:
                    - service-a-order
      # 容器信息
      containers:
      - name: service-a-order
        image: nginx:stable-alpine

擴(kuò)展閱讀

app.kubernetes.io/instance Kubernetes的應(yīng)用標(biāo)識(shí)

在Kubernetes中,app.kubernetes.io/instance是一個(gè)標(biāo)簽(Label),用于標(biāo)識(shí)應(yīng)用程序?qū)嵗膶?shí)例ID或名稱。

標(biāo)簽是鍵值對(duì)的形式,用于為資源對(duì)象(如Pod、Deployment、Service等)添加元數(shù)據(jù)信息。app.kubernetes.io/instance是一個(gè)預(yù)定義的標(biāo)簽鍵,用于表示應(yīng)用程序?qū)嵗奈ㄒ粯?biāo)識(shí)符。

通常,當(dāng)您使用Kubernetes部署多個(gè)相同類型的應(yīng)用程序?qū)嵗龝r(shí),每個(gè)實(shí)例都會(huì)被分配一個(gè)唯一的實(shí)例ID或名稱。您可以使用app.kubernetes.io/instance標(biāo)簽來標(biāo)識(shí)和區(qū)分這些應(yīng)用程序?qū)嵗?/p>

例如,假設(shè)您使用Kubernetes部署了一個(gè)名為"my-app"的應(yīng)用程序,并在該應(yīng)用程序的多個(gè)副本之間進(jìn)行了擴(kuò)展。每個(gè)副本都會(huì)被分配一個(gè)唯一的實(shí)例ID或名稱。通過為每個(gè)副本設(shè)置app.kubernetes.io/instance標(biāo)簽,您可以區(qū)分和識(shí)別每個(gè)應(yīng)用程序?qū)嵗?/p>

標(biāo)簽可以通過Kubernetes API或命令行工具(如kubectl)進(jìn)行管理和查詢。您可以使用kubectl get pods --show-labels命令來查看資源對(duì)象的標(biāo)簽信息,包括app.kubernetes.io/instance標(biāo)簽和對(duì)應(yīng)的實(shí)例ID或名稱值。

kubernetes.io/hostname 節(jié)點(diǎn)的主機(jī)名

在Kubernetes中,kubernetes.io/hostname是一個(gè)節(jié)點(diǎn)標(biāo)簽(Node Label),用于標(biāo)識(shí)節(jié)點(diǎn)的主機(jī)名(Hostname)。

節(jié)點(diǎn)標(biāo)簽是一種鍵值對(duì)的形式,用于為節(jié)點(diǎn)添加自定義的元數(shù)據(jù)信息。通過為節(jié)點(diǎn)添加標(biāo)簽,您可以根據(jù)標(biāo)簽進(jìn)行節(jié)點(diǎn)選擇和調(diào)度。kubernetes.io/hostname是一個(gè)預(yù)定義的標(biāo)簽鍵,用于表示節(jié)點(diǎn)的主機(jī)名。

節(jié)點(diǎn)的主機(jī)名是節(jié)點(diǎn)所在主機(jī)的唯一標(biāo)識(shí)符。Kubernetes使用主機(jī)名來識(shí)別和管理節(jié)點(diǎn),并在集群中唯一標(biāo)識(shí)每個(gè)節(jié)點(diǎn)。kubernetes.io/hostname標(biāo)簽的值將設(shè)置為節(jié)點(diǎn)的實(shí)際主機(jī)名。

例如,假設(shè)您在Kubernetes集群中有多個(gè)節(jié)點(diǎn),并且每個(gè)節(jié)點(diǎn)都有不同的主機(jī)名。通過查看節(jié)點(diǎn)的kubernetes.io/hostname標(biāo)簽,您可以了解到每個(gè)節(jié)點(diǎn)的實(shí)際主機(jī)名,并在進(jìn)行節(jié)點(diǎn)選擇或調(diào)度時(shí)使用這些信息。

節(jié)點(diǎn)標(biāo)簽可以通過Kubernetes API或命令行工具(如kubectl)進(jìn)行管理和查詢。您可以使用kubectl get nodes --show-labels命令來查看節(jié)點(diǎn)標(biāo)簽信息,包括kubernetes.io/hostname標(biāo)簽和對(duì)應(yīng)的主機(jī)名值。文章來源地址http://www.zghlxwxcb.cn/news/detail-545325.html

到了這里,關(guān)于k8s~節(jié)點(diǎn)的親和性的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 22-k8s中pod的調(diào)度-親和性affinity

    22-k8s中pod的調(diào)度-親和性affinity

    ? ? ? ? 在k8s當(dāng)中,“親和性”分為三種,節(jié)點(diǎn)親和性、pod親和性、pod反親和性; 親和性分類 名稱 解釋說明 nodeAffinity 節(jié)點(diǎn)親和性 通過【節(jié)點(diǎn)】標(biāo)簽匹配,用于控制pod調(diào)度到哪些node節(jié)點(diǎn)上,以及不能調(diào)度到哪些node節(jié)點(diǎn)上;(主角node節(jié)點(diǎn)) podAffinity pod親和性 通過【節(jié)點(diǎn)+

    2024年02月20日
    瀏覽(26)
  • K8s之標(biāo)簽、Node選擇器與親和性詳解

    K8s之標(biāo)簽、Node選擇器與親和性詳解

    1、標(biāo)簽是什么? 標(biāo)簽其實(shí)就是一對(duì)key/value,key的值必須唯一 標(biāo)簽可以在創(chuàng)建一個(gè)對(duì)象的時(shí)候直接定義,也可以在后期隨時(shí)修改,每一個(gè)對(duì)象可以擁有多個(gè)標(biāo)簽 標(biāo)簽可以用來劃分特定的對(duì)象(比如版本,服務(wù)類型等) 創(chuàng)建標(biāo)簽后,方便我們對(duì)資源進(jìn)行分組管理(通過標(biāo)簽查

    2024年02月07日
    瀏覽(27)
  • K8s Pod親和性、污點(diǎn)、容忍度、生命周期與健康探測(cè)詳解(下)

    K8s Pod親和性、污點(diǎn)、容忍度、生命周期與健康探測(cè)詳解(下)

    ??明明跟你說過:個(gè)人主頁 ??個(gè)人專欄:《Kubernetes航線圖:從船長(zhǎng)到K8s掌舵者》??? ??行路有良友,便是天堂?? 目錄 五、健康探測(cè) 1、健康探測(cè)的概念 2、Pod啟動(dòng)探測(cè)(Startup Probe) 3、Pod存活探測(cè)(Liveness Probe) 4、Pod就緒探測(cè)(Readiness Probe) 5、Pod健康探測(cè)在故障轉(zhuǎn)移與

    2024年04月08日
    瀏覽(32)
  • K8s(二)Pod資源——node調(diào)度策略、node親和性、污點(diǎn)與容忍度

    K8s(二)Pod資源——node調(diào)度策略、node親和性、污點(diǎn)與容忍度

    目錄 node調(diào)度策略nodeName和nodeSelector 指定nodeName 指定nodeSelector node親和性 node節(jié)點(diǎn)親和性 硬親和性 軟親和性 污點(diǎn)與容忍度 本文主要介紹了在pod中,與node相關(guān)的調(diào)度策略,親和性,污點(diǎn)與容忍度等的內(nèi)容 在創(chuàng)建pod等資源時(shí),可以通過調(diào)整字段進(jìn)行node調(diào)度,指定資源調(diào)度到滿足

    2024年01月17日
    瀏覽(73)
  • Kubernetes親和性學(xué)習(xí)筆記

    Kubernetes親和性學(xué)習(xí)筆記

    這里分類和匯總了欣宸的全部原創(chuàng)(含配套源碼):https://github.com/zq2599/blog_demos 本文是欣宸在學(xué)習(xí)Kubernetes調(diào)度器的過程中,對(duì)親和性相關(guān)知識(shí)點(diǎn)的整理和總結(jié),這是一篇筆記性質(zhì)的博客 調(diào)度過程如下: 預(yù)選(Predicates) 優(yōu)選(Priorities) 選定(Select) 這里將親和性先分類,便

    2024年02月17日
    瀏覽(48)
  • pod的親和性和反親和性

    pod的親和性和反親和性

    調(diào)度策略: ??????匹配標(biāo)簽 ???????操作符 ?????????????拓?fù)溆???調(diào)度目標(biāo) node的親和性 ???主機(jī)標(biāo)簽 ?In Notin exists doesexists Gt Lt ?不支持 ??指定主機(jī) pod的親和性 ????pod的標(biāo)簽 In Notin exists doesexists ?????支持 ??pod和指定標(biāo)簽的pod部署在同一拓?fù)溆?pod的反親

    2024年01月23日
    瀏覽(22)
  • 【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架構(gòu)、Master節(jié)點(diǎn) Node節(jié)點(diǎn) K8S架構(gòu)圖

    【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架構(gòu)、Master節(jié)點(diǎn) Node節(jié)點(diǎn) K8S架構(gòu)圖

    一、docker的問世 ????????在LXC(Linux container)Linux容器虛擬技術(shù)出現(xiàn)之前,業(yè)界網(wǎng)紅是虛擬機(jī)。虛擬機(jī)技術(shù)的代表,是VMWare和OpenStack。 虛擬機(jī)是什么? ????????虛擬機(jī)其實(shí)就是 在你的操作系統(tǒng)里面,裝一個(gè)軟件,然后通過這個(gè)軟件,再模擬一臺(tái)甚至多臺(tái)“子電腦”出來。

    2024年03月26日
    瀏覽(36)
  • Kubernetes實(shí)戰(zhàn)(十六)-k8s節(jié)點(diǎn)打標(biāo)簽

    pod可以根據(jù)調(diào)度策略讓pod調(diào)度到想要的節(jié)點(diǎn)上運(yùn)行,或者不在某節(jié)點(diǎn)運(yùn)行。 3.1.1 生成deployment文件 3.1.2 執(zhí)行生成pod? 3.1.3 查看結(jié)果? 遷移過程相當(dāng)于刪除當(dāng)前節(jié)點(diǎn)pod,再在新node上生成pod,生產(chǎn)環(huán)境操作時(shí)需要謹(jǐn)慎。 3.2.1 調(diào)整pod運(yùn)行標(biāo)簽 3.2.2 查看結(jié)果? ?pod已經(jīng)切換至ops-wor

    2024年01月16日
    瀏覽(43)
  • Kubernetes系列-如何在k8s集群中發(fā)現(xiàn)節(jié)點(diǎn)是主節(jié)點(diǎn)還是工作節(jié)點(diǎn)

    在K8s集群中,每個(gè)集群都有一組節(jié)點(diǎn),其中一些是master節(jié)點(diǎn),另一些是工作節(jié)點(diǎn),那么如何區(qū)別哪些是master節(jié)點(diǎn),哪些是工作節(jié)點(diǎn)?有三種判斷方式: 1 進(jìn)程方式 根據(jù)系統(tǒng)進(jìn)程確認(rèn),運(yùn)行 api-server 、 kube-controller-management 和 kube-scheduler 的 node 是 master 節(jié)點(diǎn)。運(yùn)行kubelet和kube-p

    2024年02月13日
    瀏覽(54)
  • K8s的親和、反親和、污點(diǎn)、容忍

    K8s的親和、反親和、污點(diǎn)、容忍

    親和性的原理其實(shí)很簡(jiǎn)單,主要利用label標(biāo)簽結(jié)合nodeSelector選擇器來實(shí)現(xiàn) 從pod出發(fā),可以分成親和性和反親和性,分別對(duì)應(yīng)podAffinity和podAntiAffinity。 從node出發(fā),也可以分成親和性和反親和性,分別對(duì)應(yīng)nodeAffinity和nodeAntiAffinity。 從操作指令來講,可以有l(wèi)n、Notln、Exists、DoesN

    2024年04月27日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包