欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文搞懂K8S中的NodeSelector

 更新時(shí)間:2024年10月06日 09:11:47   作者:糖~豆豆  
NodeSelector是Kubernetes用于指定Pod運(yùn)行節(jié)點(diǎn)的機(jī)制,通過(guò)節(jié)點(diǎn)上的標(biāo)簽(label)來(lái)選擇性地調(diào)度Pod,增加調(diào)度的靈活性和精確性,首先需要給節(jié)點(diǎn)打上標(biāo)簽,本文給大家介紹K8S中的NodeSelector,感興趣的朋友一起看看吧

NodeSelector是什么?

NodeSelector 是 Kubernetes 中的一個(gè)概念,它允許用戶通過(guò)標(biāo)簽選擇器(label selectors)來(lái)指定 Pod 應(yīng)該被調(diào)度到哪些節(jié)點(diǎn)上運(yùn)行。這一機(jī)制為Pod的調(diào)度提供了靈活性,使得用戶可以根據(jù)節(jié)點(diǎn)的標(biāo)簽屬性來(lái)控制Pod的分布。

為什么使用NodeSelector?

  • 通過(guò)NodeSelector,我們可以指定固定節(jié)點(diǎn)運(yùn)行服務(wù)
  • 解決PV ReadWriteOnce情況下,不影響項(xiàng)目運(yùn)行情況下,實(shí)現(xiàn)節(jié)點(diǎn)調(diào)度

怎么用NodeSelector?

  • 在使用NodeSelector之前,首先需要在目標(biāo)節(jié)點(diǎn)上設(shè)置標(biāo)簽。標(biāo)簽是鍵值對(duì),用于描述節(jié)點(diǎn)的特征
  • 在Pod的定義文件(YAML或JSON)中,可以通過(guò).spec.nodeSelector字段來(lái)設(shè)置NodeSelector。
  • Pod將會(huì)被調(diào)度到至少有一個(gè)標(biāo)簽滿足NodeSelector中所有指定條件的節(jié)點(diǎn)上。

POD配置示例

   apiVersion: v1
   kind: Pod
   metadata:
     name: my-pod
   spec:
     nodeSelector:
       kubernetes.io/hostname: uat-xxxxx # 關(guān)鍵代碼
     containers:
     - name: my-container
       image: my-image

yaml配置示例

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      nodeSelector:        # 節(jié)點(diǎn)選擇器
        kubernetes.io/hostname: uat-xxxxx # 關(guān)鍵代碼
      containers:
      - name: my-container
        image: my-image

如何知道K8S上面有哪些節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都有什么信息呢?

1. 使用kubectl命令行工具查看所有節(jié)點(diǎn)及其標(biāo)簽

使用以下命令可以列出集群中所有節(jié)點(diǎn)的信息,并顯示它們的標(biāo)簽:

kubectl get nodes --show-labels

這條命令會(huì)返回一個(gè)表格,列出每個(gè)節(jié)點(diǎn)的名稱、狀態(tài)以及它們所攜帶的所有標(biāo)簽。

2. 使用kubectl命令行工具查看特定節(jié)點(diǎn)的標(biāo)簽

kubectl describe node NODE_NAME

代碼舉例

假設(shè)你想要查看名為k8s-node-1的節(jié)點(diǎn)標(biāo)簽,可以執(zhí)行:

kubectl describe node k8s-node-1

常見(jiàn)的NodeSelector節(jié)點(diǎn)標(biāo)簽有哪些?

區(qū)域和可用區(qū)標(biāo)簽:

  • failure-domain.beta.kubernetes.io/zone: 表示節(jié)點(diǎn)所在的可用區(qū)(AZ),用于實(shí)現(xiàn)高可用性和容災(zāi)策略。
  • topology.kubernetes.io/zone: (推薦的新標(biāo)簽,逐步替代上面的beta標(biāo)簽)同樣表示節(jié)點(diǎn)的可用區(qū)信息。

地區(qū)標(biāo)簽:

  • failure-domain.beta.kubernetes.io/region: 表示節(jié)點(diǎn)所屬的地理區(qū)域,用于跨區(qū)域的高可用部署。
  • topology.kubernetes.io/region: (推薦的新標(biāo)簽)表示節(jié)點(diǎn)的地理區(qū)域信息。

硬件和能力標(biāo)簽:

  • beta.kubernetes.io/instance-type: 指示節(jié)點(diǎn)上實(shí)例的類型,如云提供商的實(shí)例規(guī)格。
  • kubernetes.io/hostname: 節(jié)點(diǎn)的主機(jī)名,每個(gè)節(jié)點(diǎn)都會(huì)自動(dòng)添加此標(biāo)簽。
  • node-role.kubernetes.io/: 表示節(jié)點(diǎn)的角色,如控制平面節(jié)點(diǎn)(control-plane)、worker節(jié)點(diǎn)等,其中 可以是具體角色名稱。

硬件類型:

  • beta.kubernetes.io/instance-type: 實(shí)例類型,如m5.large,適用于云提供商。

特性標(biāo)簽:

  • kubernetes.io/os: 表示節(jié)點(diǎn)的操作系統(tǒng)類型,如 linux。
  • kubernetes.io/arch: 表示節(jié)點(diǎn)的CPU架構(gòu),如 amd64、arm64。
  • node.kubernetes.io/lifecycle: 表示節(jié)點(diǎn)的生命周期狀態(tài),如 shutdown,但這個(gè)標(biāo)簽并不常用。

自定義標(biāo)簽:

  • 用戶可以根據(jù)需要自定義標(biāo)簽,如 disktype: ssd 或 gpu: true,來(lái)標(biāo)識(shí)節(jié)點(diǎn)是否具備SSD硬盤(pán)或GPU等特定硬件。

其他常見(jiàn)問(wèn)題

與親和性與反親和性區(qū)別是什么呢?

  • NodeSelector 提供了基本的調(diào)度控制
  • 節(jié)點(diǎn)親和性(nodeAffinity)和反親和性(nodeAntiAffinity)是更高級(jí)的調(diào)度規(guī)則,它們不僅支持基于標(biāo)簽的選擇,還支持更復(fù)雜的邏輯表達(dá),比如集合操作、硬軟限制等,提供了更細(xì)粒度的控制。

到此這篇關(guān)于一文搞懂K8S中的NodeSelector的文章就介紹到這了,更多相關(guān)K8S NodeSelector內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • kubernetes?k8s?CRD自定義資源學(xué)習(xí)筆記

    kubernetes?k8s?CRD自定義資源學(xué)習(xí)筆記

    這篇文章主要介紹了kubernetes?k8s?CRD自定義資源學(xué)習(xí)筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • k8s series初級(jí)calico使用介紹

    k8s series初級(jí)calico使用介紹

    這篇文章主要為大家介紹了k8s series初級(jí)calico使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • K8s-helm簡(jiǎn)介及基本概念詳解

    K8s-helm簡(jiǎn)介及基本概念詳解

    ?Helm?使用的包格式稱為?chart,它是一個(gè)描述?Kubernetes?相關(guān)資源對(duì)象的文件集合,這篇文章主要介紹了K8s-helm簡(jiǎn)介及基本概念,需要的朋友可以參考下
    2022-07-07
  • K8S中Pod重啟策略及重啟可能原因詳細(xì)講解

    K8S中Pod重啟策略及重啟可能原因詳細(xì)講解

    在k8s集群中當(dāng)某個(gè)pod資源需要重啟時(shí),我們只會(huì)對(duì)其進(jìn)行刪除,由其pod控制器進(jìn)行重新構(gòu)建,下面這篇文章主要給大家介紹了關(guān)于K8S中Pod重啟策略及重啟可能原因的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • 詳解Kubernetes 中容器跨主機(jī)網(wǎng)絡(luò)

    詳解Kubernetes 中容器跨主機(jī)網(wǎng)絡(luò)

    這篇文章主要為大家介紹了Kubernetes中容器跨主機(jī)網(wǎng)絡(luò)是怎么樣的,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 普通人如何在區(qū)塊鏈行業(yè)賺錢(qián)

    普通人如何在區(qū)塊鏈行業(yè)賺錢(qián)

    區(qū)塊鏈?zhǔn)且豁?xiàng)新技術(shù)。之所以快速吸引人們的關(guān)注,是因?yàn)楸忍貛旁?017年的暴漲,迅速吸引了大眾的視線。而比特幣的底層技術(shù),主要是區(qū)塊鏈技術(shù)
    2018-03-03
  • 玩客云內(nèi)置EMMC存儲(chǔ)刷入Armbian系統(tǒng)(圖文詳解)

    玩客云內(nèi)置EMMC存儲(chǔ)刷入Armbian系統(tǒng)(圖文詳解)

    Armbian是其他項(xiàng)目可以信賴的單板計(jì)算機(jī)(SBC)的基本操作系統(tǒng)平臺(tái),接下來(lái)通過(guò)本文給大家介紹玩客云內(nèi)置EMMC存儲(chǔ)刷入Armbian系統(tǒng),需要的朋友可以參考下
    2022-05-05
  • k8s dashboard安裝過(guò)程記錄

    k8s dashboard安裝過(guò)程記錄

    這篇文章主要介紹了k8s dashboard安裝過(guò)程記錄,本案例k8s版本為v1.22.17,所以安裝v2.7.0版本的dashboard,需要的朋友可以參考下
    2024-05-05
  • kubernetes k8s常用問(wèn)題排查方法

    kubernetes k8s常用問(wèn)題排查方法

    新手學(xué)習(xí)K8s最大的難度感覺(jué)是在起步動(dòng)手實(shí)踐的時(shí)候,Pod沒(méi)有正常啟動(dòng)起來(lái),或者運(yùn)行了一段時(shí)間Pod自己崩潰了。是什么問(wèn)題導(dǎo)致了它沒(méi)運(yùn)行起來(lái),或是什么因素導(dǎo)致了它的崩潰,本文來(lái)學(xué)習(xí)總結(jié)幾個(gè)使用 K8s時(shí)常見(jiàn)的錯(cuò)誤現(xiàn)象以及排查這些現(xiàn)象背后問(wèn)題的方法
    2022-06-06
  • k8s查看pod日志的幾種實(shí)用方法匯總

    k8s查看pod日志的幾種實(shí)用方法匯總

    Pod是Kubernetes中能夠創(chuàng)建和部署的最小單元,是Kubernetes集群中的一個(gè)應(yīng)用實(shí)例,總是部署在同一個(gè)節(jié)點(diǎn)Node上,下面這篇文章主要給大家介紹了k8s查看pod日志的幾種實(shí)用方法,需要的朋友可以參考下
    2022-07-07

最新評(píng)論