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

Kubernetes實(shí)戰(zhàn)(十六)-k8s節(jié)點(diǎn)打標(biāo)簽

這篇具有很好參考價(jià)值的文章主要介紹了Kubernetes實(shí)戰(zhàn)(十六)-k8s節(jié)點(diǎn)打標(biāo)簽。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

pod可以根據(jù)調(diào)度策略讓pod調(diào)度到想要的節(jié)點(diǎn)上運(yùn)行,或者不在某節(jié)點(diǎn)運(yùn)行。

1?查看現(xiàn)有節(jié)點(diǎn)運(yùn)行環(huán)境已有標(biāo)簽

$ kubectl get nodes --show-labels
NAME           STATUS   ROLES                  AGE   VERSION   LABELS
ops-master-1   Ready    control-plane,master   26d   v1.21.9   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=ops-master-1,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=,node.kubernetes.io/exclude-from-external-load-balancers=
ops-master-2   Ready    control-plane,master   26d   v1.21.9   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=ops-master-2,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=,node.kubernetes.io/exclude-from-external-load-balancers=
ops-master-3   Ready    control-plane,master   26d   v1.21.9   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=ops-master-3,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=,node.kubernetes.io/exclude-from-external-load-balancers=
ops-worker-1   Ready    <none>                 26d   v1.21.9   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=ops-worker-1,kubernetes.io/os=linux
ops-worker-2   Ready    <none>                 26d   v1.21.9   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=ops-worker-2,kubernetes.io/os=linux

2 添加標(biāo)簽


#給節(jié)點(diǎn)ops-worker-1打上標(biāo)簽env=uat
$ kubectl label node ops-worker-1 env=uat
 
#給節(jié)點(diǎn)ops-worker-2打上標(biāo)簽env=prod
$ kubectl label node ops-worker-2 env=prod
 
#查看生成的標(biāo)簽
$ kubectl get node --show-labels | grep env 
ops-worker-1   Ready    <none>                 26d   v1.21.9   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,env=uat,kubernetes.io/arch=amd64,kubernetes.io/hostname=ops-worker-1,kubernetes.io/os=linux
ops-worker-2   Ready    <none>                 26d   v1.21.9   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,env=prod,kubernetes.io/arch=amd64,kubernetes.io/hostname=ops-worker-2,kubernetes.io/os=linux

3?指定標(biāo)簽分發(fā)pod

3.1?創(chuàng)建pod時(shí)候指定調(diào)度節(jié)點(diǎn)

3.1.1 生成deployment文件

$ cat nginx.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      nodeSelector:        #添加此行  
        env: uat      #指定標(biāo)簽
      containers:
      - name: nginx-test
        image: nginx:latest
        ports:
        - containerPort: 80

3.1.2 執(zhí)行生成pod?

$ kubectl apply -f nginx.yaml 
deployment.apps/nginx-test created

3.1.3 查看結(jié)果?

$ kubectl get pod  -o wide 
NAME                           READY   STATUS    RESTARTS   AGE   IP             NODE           NOMINATED NODE   READINESS GATES
nginx-test-6895cc9759-989h8    1/1     Running   0          7s      172.25.78.78   ops-worker-1   <none>           <none>
nginx-test-6895cc9759-slzcm    1/1     Running   0          7s      172.25.78.79   ops-worker-1   <none>           <none>

3.2?運(yùn)行狀態(tài)pod遷移到指定節(jié)點(diǎn)

遷移過程相當(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)簽

$ kubectl edit deploy nginx-test 
修改
      nodeSelector:
        env: uat
為
      nodeSelector:
        env: prod

deployment.apps/nginx-test edited

3.2.2 查看結(jié)果?

$ kubectl get pod  -o wide 
NAME                           READY   STATUS    RESTARTS   AGE     IP              NODE           NOMINATED NODE   READINESS GATES
nginx-test-6b7c99bbb-8sfh7     1/1     Running   0          49s     172.25.50.140   ops-worker-2   <none>           <none>
nginx-test-6b7c99bbb-hp62s     1/1     Running   0          67s     172.25.50.139   ops-worker-2   <none>           <none>

?pod已經(jīng)切換至ops-worker-2節(jié)點(diǎn)上,且pod創(chuàng)建時(shí)間不足1分鐘。

4?刪除標(biāo)簽

$ kubectl label node ops-worker-1 env-
node/ops-worker-1 labeled

?查看節(jié)點(diǎn)上pod狀態(tài)。

$ kubectl get pod  -o wide 
NAME                           READY   STATUS    RESTARTS   AGE     IP              NODE           NOMINATED NODE   READINESS GATES
nginx-node1-5f9555db6b-db2cq   1/1     Running   0          12m     172.25.78.76    ops-worker-1   <none>           <none>
nginx-node1-5f9555db6b-rq2pn   1/1     Running   0          12m     172.25.78.77    ops-worker-1   <none>           <none>

刪除節(jié)點(diǎn)標(biāo)簽,正在運(yùn)行的pod不受影響 。

?查看節(jié)點(diǎn)標(biāo)簽。

$ kubectl get nodes --show-labels | grep ops-worker-1 
ops-worker-1   Ready    <none>                 26d   v1.21.9   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=ops-worker-1,kubernetes.io/os=linux

刪除節(jié)點(diǎn)上的pod,驗(yàn)證pod重新調(diào)度是否正常。

$ kubectl delete pod nginx-node1-5f9555db6b-db2cq 
pod "nginx-node1-5f9555db6b-db2cq" deleted
$ kubectl get pod -o wide 
NAME                           READY   STATUS    RESTARTS   AGE     IP              NODE           NOMINATED NODE   READINESS GATES
nginx-node1-5f9555db6b-ctbb9   0/1     Pending   0          59s     <none>          <none>         <none>           <none>
nginx-node1-5f9555db6b-rq2pn   1/1     Running   0          16m     172.25.78.77    ops-worker-1   <none>           <none>

?pod無法調(diào)度運(yùn)行,因?yàn)檎{(diào)度策略中的nodeSelector調(diào)度策略還存在,因此生產(chǎn)環(huán)境在清理了node標(biāo)簽后,如無其他符合條件的可用節(jié)點(diǎn),一定要將運(yùn)行在節(jié)點(diǎn)上的pod中配置的標(biāo)簽清理掉,否則pod重啟后將無法調(diào)度。

5 多標(biāo)簽

同一個(gè)node同類型只能設(shè)置一個(gè), 重復(fù)設(shè)置會報(bào)錯(cuò):

$ kubectl get nodes --show-labels | grep env
ops-worker-2   Ready    <none>                 27d   v1.21.9   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,env=prod,kubernetes.io/arch=amd64,kubernetes.io/hostname=ops-worker-2,kubernetes.io/os=linux

?看到ops-worker-2節(jié)點(diǎn)上已經(jīng)有env相關(guān)的標(biāo)簽了。

$ kubectl label node ops-worker-2 env=uat
error: 'env' already has a value (prod), and --overwrite is false

再次在?ops-worker-2節(jié)點(diǎn)上設(shè)置env相關(guān)的標(biāo)簽會提示標(biāo)簽已存在,無法重復(fù)設(shè)置同類型的標(biāo)簽。文章來源地址http://www.zghlxwxcb.cn/news/detail-795598.html

到了這里,關(guān)于Kubernetes實(shí)戰(zhàn)(十六)-k8s節(jié)點(diǎn)打標(biāo)簽的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) 管理 Secret 詳解

    【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) 管理 Secret 詳解

    Secret 是一種包含少量敏感信息例如密碼、令牌或密鑰的對象。 這樣的信息可能會被放在 Pod 規(guī)約中或者鏡像中。 用戶可以創(chuàng)建 Secret,同時(shí)系統(tǒng)也創(chuàng)建了一些 Secret。 一個(gè) Secret 可以包含 Pod 訪問數(shù)據(jù)庫所需的用戶憑證。 例如,由用戶名和密碼組成的數(shù)據(jù)庫連接字符串。 你可

    2024年02月02日
    瀏覽(96)
  • 【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) 使用 Kustomize 對 Kubernetes 對象進(jìn)行聲明式管理

    【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) 使用 Kustomize 對 Kubernetes 對象進(jìn)行聲明式管理

    Kustomize 是一個(gè)用來定制 Kubernetes 配置的工具。它提供以下功能特性來管理應(yīng)用配置文件: 從其他來源生成資源 為資源設(shè)置貫穿性(Cross-Cutting)字段 組織和定制資源集合 ConfigMap 和 Secret 包含其他 Kubernetes 對象(如 Pod)所需要的配置或敏感數(shù)據(jù)。 ConfigMap 或 Secret 中數(shù)據(jù)的來

    2024年01月17日
    瀏覽(102)
  • 【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) 如何給應(yīng)用注入數(shù)據(jù)

    【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) 如何給應(yīng)用注入數(shù)據(jù)

    前面我們已經(jīng)一起學(xué)習(xí)了很多的東西了,本篇文章,我們將一起學(xué)習(xí),如何給應(yīng)用注入數(shù)據(jù),當(dāng)然,本篇文章不會講解全部知識點(diǎn),而是帶領(lǐng)大家,一起學(xué)習(xí)如何對我們的項(xiàng)目進(jìn)行相關(guān)的配置和設(shè)置。 創(chuàng)建 Pod 時(shí),可以為其下的容器設(shè)置啟動(dòng)時(shí)要執(zhí)行的命令及其參數(shù)。如果要

    2024年02月02日
    瀏覽(94)
  • 【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) Kubernetes 對象管理之指令式命令管理和配置文件命令式管理

    【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) Kubernetes 對象管理之指令式命令管理和配置文件命令式管理

    kubectl 工具能夠支持三種對象管理方式: 聲明式對象配置 指令式命令 指令式對象配置 前面我使用了兩篇文章講解了 使用配置文件對 Kubernetes 對象進(jìn)行聲明式管理 的相關(guān)知識點(diǎn),本篇文章我將帶領(lǐng)大家一起學(xué)習(xí)剩下的兩個(gè)Kubernetes 對象管理的指令式命令管理和配置文件命令式

    2023年04月15日
    瀏覽(89)
  • 【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) 如何給應(yīng)用注入數(shù)據(jù) II 將pod數(shù)據(jù)傳遞給容器

    【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) 如何給應(yīng)用注入數(shù)據(jù) II 將pod數(shù)據(jù)傳遞給容器

    在上一篇文章中,我們學(xué)習(xí)了針對容器設(shè)置啟動(dòng)時(shí)要執(zhí)行的命令和參數(shù)、定義相互依賴的環(huán)境變量、為容器設(shè)置環(huán)境變量,三種設(shè)置方式,本篇文章,我們將繼續(xù)學(xué)習(xí)數(shù)據(jù)的傳遞。 有兩種方式可以將 Pod 和 Container 字段傳遞給運(yùn)行中的容器: 環(huán)境變量 卷文件 這兩種呈現(xiàn) Pod

    2024年01月25日
    瀏覽(526)
  • Kubernetes(k8s)實(shí)戰(zhàn):Kubernetes(k8s)部署Springboot項(xiàng)目

    Kubernetes(k8s)實(shí)戰(zhàn):Kubernetes(k8s)部署Springboot項(xiàng)目

    wordpress是用于快速搭建博客系統(tǒng)。 該yaml文件創(chuàng)建一個(gè)mysql,并且生成一個(gè)service,service對外暴露的端口是3306 我們發(fā)現(xiàn),搭建成功了,用瀏覽器訪問192.168.56.101:30493,發(fā)現(xiàn)訪問成功了! 在集群中,pod之間可以通過service 的name進(jìn)行訪問,不僅僅是ip,這就意味著,service中不僅幫

    2024年02月12日
    瀏覽(32)
  • 【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è)軟件,再模擬一臺甚至多臺“子電腦”出來。

    2024年03月26日
    瀏覽(36)
  • Kubernetes(K8S)學(xué)習(xí)(三):K8S實(shí)戰(zhàn)案例

    Kubernetes(K8S)學(xué)習(xí)(三):K8S實(shí)戰(zhàn)案例

    附:查看命名空間命令 kubectl get namespace kubectl get ns 創(chuàng)建wordpress-db.yaml文件,這里以mysql作為wordpress的db: yaml內(nèi)容: 根據(jù)wordpress-db.yaml配置,創(chuàng)建資源mysql數(shù)據(jù)庫: yaml中MySQL配置說明: 用戶:root ??????密碼:rootPassW0rd 數(shù)據(jù)庫名稱:wordpress 用戶:wordpress ??????密碼:wo

    2024年04月09日
    瀏覽(30)
  • Kubernetes 系列:了解 k8s 架構(gòu)(一)

    當(dāng)下,我們很多項(xiàng)目于都在 Cloud Native (云原生)的上面,這種方法旨在使組織能夠確保可用性并快速響應(yīng)和適應(yīng)變化,云原生其實(shí)就是一組本質(zhì)上支持在不同云環(huán)境(公共云、私有云或混合云)上大規(guī)模構(gòu)建、運(yùn)行和管理應(yīng)用程序的實(shí)踐和技術(shù)。 云原生離不開兩個(gè)概念: 容器

    2024年02月10日
    瀏覽(20)
  • 云原生 黑馬Kubernetes教程(K8S教程)筆記——第一章 kubernetes介紹——Master集群控制節(jié)點(diǎn)、Node工作負(fù)載節(jié)點(diǎn)、Pod控制單元

    云原生 黑馬Kubernetes教程(K8S教程)筆記——第一章 kubernetes介紹——Master集群控制節(jié)點(diǎn)、Node工作負(fù)載節(jié)點(diǎn)、Pod控制單元

    參考文章:kubernetes介紹 本章節(jié)主要介紹應(yīng)用程序在服務(wù)器上部署方式演變以及kubernetes的概念、組件和工作原理。 在部署應(yīng)用程序的方式上,主要經(jīng)歷了三個(gè)時(shí)代: 傳統(tǒng)部署:互聯(lián)網(wǎng)早期,會直接將應(yīng)用程序部署在物理機(jī)上 優(yōu)點(diǎn):簡單,不需要其它技術(shù)的參與 缺點(diǎn):不能為

    2024年02月04日
    瀏覽(35)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包