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

kubernetes-控制器

這篇具有很好參考價值的文章主要介紹了kubernetes-控制器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、replicaset

二、deployment

1、版本迭代

2、回滾

3、滾動更新策略

4、暫停與恢復(fù)

三、daemonset

四、statefulset

五、job

六、cronjob


一、replicaset

ReplicaSet用于保證指定數(shù)量的 Pod 副本一直運行

vim rs-example.yml

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: replicaset-example
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

kubectl apply -f rs-example.yml
kubectl get pod --show-labels

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

replicaset是通過標(biāo)簽匹配pod

kubectl label pod replicaset-example-c7bs2 app=myapp --overwrite
kubectl get pod --show-labels

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

kubectl label pod replicaset-example-c7bs2 app=nginx --overwrite
kubectl get pod --show-labels

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

replicaset自動控制副本數(shù)量,pod可以自愈

kubectl delete pod replicaset-example-c7bs2
kubectl get pod --show-labels

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

回收資源

kubectl delete -f rs-example.yml

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

二、deployment

Deployment 的主要作用是實現(xiàn)應(yīng)用程序的無縫升級和回滾
vim deployment-example.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment-example
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:v1


kubectl apply -f deployment-example.yaml

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

1、版本迭代

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

replicaset就是deployment的一個版本

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

2、回滾

vim deployment-example.yaml 

kubectl apply -f deployment-example.yaml
kubectl get all

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

3、滾動更新策略

vim deployment-example.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment-example
spec:
  minReadySeconds: 5
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:v1

kubectl apply -f deployment-example.yaml
kubectl describe deployments.apps deployment-example
kubernetes-控制器,kubernetes,kubernetes,容器,云原生

4、暫停與恢復(fù)

暫停,避免觸發(fā)不必要的線上更新

kubectl rollout pause deployment deployment-example

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

vim deployment-example.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment-example
spec:
  minReadySeconds: 5
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
  replicas: 6
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: nginx
        resources:
          limits:
            cpu: 0.5
            memory: 200Mi
          requests:
            cpu: 0.5
            memory: 200Mi

kubectl apply -f deployment-example.yaml

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

調(diào)整副本數(shù),不受影響

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

但是更新鏡像和修改資源并沒有觸發(fā)更新

kubectl rollout history deployment deployment-example

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

恢復(fù)后開始觸發(fā)更新

kubectl rollout resume deployment deployment-example
kubectl rollout history  deployment deployment-example

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

回收

kubectl delete -f deployment-example.yaml

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

三、daemonset

Taints(污點)是一種標(biāo)記,可以應(yīng)用于節(jié)點,用于表示這個節(jié)點上的某些條件不適合運行某些 Pod。

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

vim daemonset-example.yml

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: daemonset-example
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      tolerations:
      - effect: NoSchedule
        operator: Exists
      containers:
      - name: nginx
        image: nginx

kubectl apply -f daemonset-example.yml
kubectl get pod -o wide

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

記得回收資源

四、statefulset


當(dāng)使用StatefulSet時,Pod的名稱會包括一個索引,例如web-0,web-1,web-2等,這些索引是按順序遞增的,并且在Pod的生命周期中保持不變

StatefulSet保證每個Pod的名稱在整個集群中是唯一的,例如,如果您有一個名為web-0的Pod,任何時候都不能重新創(chuàng)建一個叫做web-0的Pod。

vim statefulset.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
spec:
  selector:
    matchLabels:
      app: nginx
  serviceName: "nginx"
  replicas: 3
  minReadySeconds: 3
  template:
    metadata:
      labels:
        app: nginx
    spec:
      terminationGracePeriodSeconds: 10
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
          name: web

kubectl apply -f statefulset.yaml
kubectl get pod

kubernetes-控制器,kubernetes,kubernetes,容器,云原生

五、job

Job是用于處理一次性任務(wù)的控制器,它可以保證任務(wù)成功完成后自動停止。Job中包含一個或多個Pods,在Pods成功完成后便完成任務(wù)。如果Pods失敗,則Job會重啟Pods,直到任務(wù)完成。

提前將perl上傳至harbor倉庫

vim job.yml


apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  completions: 6        //完成任務(wù)的Pod數(shù)量
  parallelism: 2        //并行執(zhí)行的Pod數(shù)量
  template:
    spec:
      containers:
      - name: pi
        image: perl:5.34.0
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never        //完成后不會重啟
  backoffLimit: 4            //當(dāng)任務(wù)執(zhí)行失敗時,最多重試的次數(shù)

kubectl apply -f job.yml
kubernetes-控制器,kubernetes,kubernetes,容器,云原生
kubernetes-控制器,kubernetes,kubernetes,容器,云原生
kubernetes-控制器,kubernetes,kubernetes,容器,云原生
記得回收資源

六、cronjob

CronJob是用于處理周期性任務(wù)的控制器,它類似于傳統(tǒng)的Cron定時任務(wù),可以基于指定的時間或時間間隔來執(zhí)行任務(wù)。CronJob會創(chuàng)建一個Job對象來運行任務(wù),Job對象運行完成后自動被刪除。如果Job對象出現(xiàn)錯誤,CronJob將會自動重啟Job對象,直到任務(wù)成功完成。

vim cronjob.yml

apiVersion: batch/v1
kind: CronJob
metadata:
  name: hello
spec:
  schedule: "* * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox
            imagePullPolicy: IfNotPresent
            command:
            - /bin/sh
            - -c
            - date; echo Hello from the Kubernetes cluster
          restartPolicy: OnFailure

kubectl apply -f cronjob.yml
kubectl get all
kubectl get pod
kubectl delete -f cronjob.yml

每分鐘的每一秒都會執(zhí)行一次,使用busybox鏡像來打印當(dāng)前時間并輸出"Hello from the Kubernetes cluster"

kubernetes-控制器,kubernetes,kubernetes,容器,云原生文章來源地址http://www.zghlxwxcb.cn/news/detail-738032.html

到了這里,關(guān)于kubernetes-控制器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • kubernetes-控制器

    kubernetes-控制器

    目錄 一、replicaset 二、deployment 1、版本迭代 2、回滾 3、滾動更新策略 4、暫停與恢復(fù) 三、daemonset 四、statefulset 五、job 六、cronjob ReplicaSet用于保證指定數(shù)量的 Pod 副本一直運行 replicaset是通過標(biāo)簽匹配pod replicaset自動控制副本數(shù)量,pod可以自愈 回收資源 Deployment 的主要作用是實

    2024年02月06日
    瀏覽(18)
  • Kubernetes Pod控制器

    Kubernetes Pod控制器

    Pod控制器及其功用 Pod控制器,又稱之為工作負(fù)載(workload),是用于實現(xiàn)管理pod的中間層,確保pod資源符合預(yù)期的狀態(tài),pod的資源出現(xiàn)故障時,會嘗試進行重啟,當(dāng)根據(jù)重啟策略無效,則會重新新建pod的資源 Deployment 部署無狀態(tài)應(yīng)用 負(fù)責(zé)創(chuàng)建和管理 ReplicaSet , 維護 Pod 副本數(shù)

    2024年02月12日
    瀏覽(27)
  • 【kubernetes系列】Kubernetes之job和cronjob控制器

    本章節(jié)將分享kubernetes中的job控制器和cronjob控制器,這是用于另外兩種場景的pod控制器。 對于Deployment、ReplicaSet、ReplicationController等類型的控制器而言,它希望pod保持預(yù)期數(shù)目、持久運行下去,除非用戶明確刪除,否則這些對象一直存在,它們針對的是耐久性任務(wù),如web服務(wù)

    2024年02月11日
    瀏覽(43)
  • 【Kubernetes資源篇】DaemonSet控制器入門實戰(zhàn)詳解

    【Kubernetes資源篇】DaemonSet控制器入門實戰(zhàn)詳解

    中文官方文檔參考: 1、DaemonSet控制器是什么? Kubernetes中的DaemonSet(簡寫ds)控制器是一種 用來運行守護進程應(yīng)用程序的控制器,它確保每個Node節(jié)點都運行具有指定配置的 Pod副本,當(dāng)Node節(jié)點的加入或刪除DaemonSet控制器會自動創(chuàng)建或刪除相應(yīng)的 Pod副本。 特點: 每個節(jié)點只運行

    2024年02月10日
    瀏覽(24)
  • Linux6.39 Kubernetes Pod控制器

    Linux6.39 Kubernetes Pod控制器

    第三章 LINUX Kubernetes Pod控制器 一、Pod控制器及其功用 Pod控制器,又稱之為工作負(fù)載(workload),是用于實現(xiàn)管理pod的中間層,確保pod資源符合預(yù)期的狀態(tài),pod的資源出現(xiàn)故障時,會嘗試進行重啟,當(dāng)根據(jù)重啟策略無效,則會重新新建pod的資源 二.pod控制器有多種類型 1.Replic

    2024年02月12日
    瀏覽(45)
  • 【Kubernetes資源篇】Replicaset控制器入門實戰(zhàn)詳解

    【Kubernetes資源篇】Replicaset控制器入門實戰(zhàn)詳解

    官方中文參考文檔: ReplicaSet是k8s中一種資源對象,簡寫 rs , 用于管理Pod副本數(shù)量和健康狀態(tài),在 spec.replicas 字段中可以定義Pod副本數(shù)量,ReplicaSet會始終保持Pod在指定數(shù)量 ,當(dāng)發(fā)現(xiàn)Pod數(shù)量大于副本數(shù)量時,會移除多出的Pod,當(dāng)發(fā)現(xiàn)Pod小于副本數(shù)量會自動創(chuàng)建Pod,使其始終維

    2024年02月09日
    瀏覽(24)
  • 【Kubernetes運維篇】RBAC之準(zhǔn)入控制器詳解

    【Kubernetes運維篇】RBAC之準(zhǔn)入控制器詳解

    中文官方參考文檔: 1、ResourceQuota是什么? ResourceQuota準(zhǔn)入控制器是K8S中內(nèi)置的準(zhǔn)入控制器,默認(rèn)該控制器是啟用狀態(tài), 主要功能是限制名稱空間下的資源使用 ,防止在一個名稱空間下的Pod占用過多的資源, 簡單理解就是針對名稱空間限制用戶資源的使用。 2、限制CPU、內(nèi)存

    2024年02月16日
    瀏覽(21)
  • 5、Kubernetes核心技術(shù) - Controller控制器工作負(fù)載

    5、Kubernetes核心技術(shù) - Controller控制器工作負(fù)載

    目錄 一、Deployments - 控制器應(yīng)用 二、Deployment升級回滾和彈性收縮 2.1、創(chuàng)建一個 1.14 版本的 pod 2.2、應(yīng)用升級 2.3、查看升級狀態(tài) 2.4、查看歷史版本 2.5、應(yīng)用回滾 2.6、彈性伸縮? 三、StatefulSet - 有狀態(tài)應(yīng)用 四、DaemonSet - 守護進程 五、Job - 單次任務(wù) 六、Cronjob - 定時任務(wù) Deplo

    2024年02月15日
    瀏覽(25)
  • 【云原生】k8s之pod控制器

    【云原生】k8s之pod控制器

    Pod 是 Kubernetes 集群中能夠被創(chuàng)建和管理的最小部署單元。所以需要有工具去操作和管理它們的生命周期,這里就需要用到控制器了。 Pod 控制器由 master 的 kube-controller-manager 組件提供,常見的此類控制器有 Replication Controller、ReplicaSet、Deployment、DaemonSet、StatefulSet、Job 和 CronJo

    2024年02月13日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包