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

【云原生】kubernetes控制器deployment的使用

這篇具有很好參考價(jià)值的文章主要介紹了【云原生】kubernetes控制器deployment的使用。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

?

【云原生】kubernetes控制器deployment的使用,云原生,kubernetes,kubernetes,容器,云原生

?

目錄

?編輯

1 Controller 控制器

1.1 什么是 Controller

1.2 常見的 Controller 控制器

1.3 Controller 如何管理 Pod

2 Deployment

2.1 創(chuàng)建 deployment

2.2 查看 deployment

2.3 擴(kuò)縮 deployment

2.4 回滾 deployment

2.5 刪除 deployment


1 Controller 控制器

官網(wǎng): 控制器 | Kubernetes

1.1 什么是 Controller

Kubernetes 通常不會直接創(chuàng)建 Pod, 而是通過 Controller 來管理 Pod 的。Controller 中定義了 Pod 的部署特性,比如有幾個(gè)副本、在什么樣的 Node 上運(yùn)行等。通俗的說可以認(rèn)為 Controller 就是用來管理 Pod 一個(gè)對象。其核心作用可以通過一句話總結(jié): 通過監(jiān)控集群的公共狀態(tài),并致力于將當(dāng)前狀態(tài)轉(zhuǎn)變?yōu)槠谕臓顟B(tài)。

通俗定義: controller 可以管理 pod 讓 pod 更具有運(yùn)維能力

1.2 常見的 Controller 控制器
  • Deployment 是最常用的 Controller。Deployment 可以管理 Pod 的多個(gè)副本,并確保 Pod 按照期望的狀態(tài)運(yùn)行。

    • ReplicaSet 實(shí)現(xiàn)了 Pod 的多副本管理。使用 Deployment 時(shí)會自動創(chuàng)建 ReplicaSet,也就是說 Deployment 是通過 ReplicaSet 來管理 Pod 的多個(gè)副本的,我們通常不需要直接使用 ReplicaSet。

  • Daemonset 用于每個(gè)Node 最多只運(yùn)行一個(gè) Pod 副本的場景。正如其名稱所揭示的,DaemonSet 通常用于運(yùn)行 daemon。

  • Statefuleset 能夠保證 Pod 的每個(gè)副本在整個(gè)生命周期中名稱是不變的,而其他Controller 不提供這個(gè)功能。當(dāng)某個(gè) Pod 發(fā)生故障需要刪除并重新啟動時(shí),Pod 的名稱會發(fā)生變化,同時(shí) StatefuleSet 會保證副本按照固定的順序啟動、更新或者刪除。

  • Job 用于運(yùn)行結(jié)束就刪除的應(yīng)用,而其他 Controller 中的 Pod 通常是長期持續(xù)運(yùn)行。

1.3 Controller 如何管理 Pod

注意: Controller 通過 label 關(guān)聯(lián)起來 Pods

【云原生】kubernetes控制器deployment的使用,云原生,kubernetes,kubernetes,容器,云原生

2 Deployment

官方地址: Deployments | Kubernetes

一個(gè) Deployment 為 Pod 和 ReplicaSet提供聲明式的更新能力。

你負(fù)責(zé)描述 Deployment 中的 目標(biāo)狀態(tài),而 Deployment 控制器(Controller)以受控速率更改實(shí)際狀態(tài), 使其變?yōu)槠谕麪顟B(tài)。你可以定義 Deployment 以創(chuàng)建新的 ReplicaSet,或刪除現(xiàn)有 Deployment, 并通過新的 Deployment 收養(yǎng)其資源。

2.1 創(chuàng)建 deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
 ?  app: nginx
spec:
  replicas: 3
  selector:
 ?  matchLabels: 
 ? ?  app: nginx
  template:
 ?  metadata:
 ? ?  labels:
 ? ? ?  app: nginx
 ?  spec: 
 ? ?  containers:
 ? ? ?  - name: nginx
 ? ? ? ?  image: nginx:1.19
 ? ? ? ?  ports:
 ? ? ? ? ?  - containerPort: 80
2.2 查看 deployment
# 部署應(yīng)用
$ kubectl apply -f app.yaml
# 查看 deployment
$ kubectl get deployment
# 查看 pod
$ kubectl get pod -o wide
# 查看 pod 詳情
$ kubectl describe pod pod-name
# 查看 deployment 詳細(xì)
$ kubectl describe deployment 名稱
# 查看 log
$ kubectl logs pod-name
# 進(jìn)入 Pod 容器終端, -c container-name 可以指定進(jìn)入哪個(gè)容器。
$ kubectl exec -it pod-name -- bash
# 輸出到文件
$ kubectl get deployment nginx-deployment -o yaml >> test.yaml
  • NAME 列出了名字空間中 Deployment 的名稱。

  • READY 顯示應(yīng)用程序的可用的“副本”數(shù)。顯示的模式是“就緒個(gè)數(shù)/期望個(gè)數(shù)”。

  • UP-TO-DATE 顯示為了達(dá)到期望狀態(tài)已經(jīng)更新的副本數(shù)。

  • AVAILABLE 顯示應(yīng)用可供用戶使用的副本數(shù)。

  • AGE 顯示應(yīng)用程序運(yùn)行的時(shí)間。

請注意期望副本數(shù)是根據(jù) .spec.replicas 字段設(shè)置 3。

2.3 擴(kuò)縮 deployment
# 查詢副本
$ kubectl get rs|replicaset
# 伸縮擴(kuò)展副本
$ kubectl scale deployment nginx --replicas=5
2.4 回滾 deployment

說明:

僅當(dāng) Deployment Pod 模板(即 .spec.template)發(fā)生改變時(shí),例如模板的標(biāo)簽或容器鏡像被更新, 才會觸發(fā) Deployment 上線。其他更新(如對 Deployment 執(zhí)行擴(kuò)縮容的操作)不會觸發(fā)上線動作。文章來源地址http://www.zghlxwxcb.cn/news/detail-644573.html

# 查看上線狀態(tài)
$ kubectl rollout status [deployment nginx-deployment | deployment/nginx]
# 查看歷史
$ kubectl rollout history deployment nginx-deployment
# 查看某次歷史的詳細(xì)信息
$ kubectl rollout history deployment/nginx-deployment --revision=2
# 回到上個(gè)版本
$ kubectl rollout undo deployment nginx-deployment
# 回到指定版本
$ kubectl rollout undo deployment nginx-deployment --to-revision=2
# 重新部署
$ kubectl rollout restart deployment nginx-deployment
# 暫停運(yùn)行,暫停后,對 deployment 的修改不會立刻生效,恢復(fù)后才應(yīng)用設(shè)置
$ kubectl rollout pause deployment ngixn-deployment
# 恢復(fù)
$ kubectl rollout resume deployment nginx-deployment
2.5 刪除 deployment
# 刪除 Deployment
$ kubectl delete deployment nginx-deployment
$ kubect delete -f nginx-deployment.yml
# 刪除默認(rèn)命名空間下全部資源
$ kubectl delete all --all
# 刪除指定命名空間的資源
$ kubectl delete all --all -n 命名空間的名稱

到了這里,關(guān)于【云原生】kubernetes控制器deployment的使用的文章就介紹完了。如果您還想了解更多內(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)文章

  • K8S中Deployment控制器的概念、原理解讀以及使用技巧

    Deployment官方文檔: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ Deployment是kubernetes中最常用的資源對象,為ReplicaSet和Pod的創(chuàng)建提供了一種聲明式的定義方法, 在Deployment對象中描述一個(gè)期望的狀態(tài),Deployment控制器就會按照一定的控制速率把實(shí)際狀態(tài)改成期望狀態(tài),

    2024年02月21日
    瀏覽(25)
  • 15-k8s控制器資源-deployment/部署控制器

    15-k8s控制器資源-deployment/部署控制器

    ? ? ? ? 在學(xué)習(xí)rc和rs控制器資源時(shí),我們指導(dǎo),這兩個(gè)資源都是控制pod的副本數(shù)量的,但是,他們兩個(gè)有個(gè)缺點(diǎn),就是在部署新版本pod或者回滾代碼的時(shí)候,需要先apply資源清單,然后再刪除現(xiàn)有pod,通過資源控制,重新拉取新的pod來實(shí)現(xiàn)回滾或者迭代升級; ? ? ? ? 那么

    2024年02月21日
    瀏覽(29)
  • k8s 的 Deployment控制器

    k8s 的 Deployment控制器

    RC(Replication Controller)主要作用就是用來確保容器應(yīng)用的副本數(shù)始終保持在用戶定義的副本數(shù)。即如果有容器異常退出,會自動創(chuàng)建新的pod來替代;而如果異常多出來的容器也會自動回收。 K8S官方建議使用RS(ReplicaSet)替代RC(Replication Controller)進(jìn)行部署,RS跟RC沒有本質(zhì)的

    2024年02月09日
    瀏覽(25)
  • k8s控制器之Deployment第七彈之查看Deployment的狀態(tài)

    Deployment 的生命周期中有不同狀態(tài),大致可分為三種 rogressing 正在執(zhí)行滾動更新 complete fail to progress Progressing 狀態(tài) 當(dāng)如下任何一個(gè)任務(wù)正在執(zhí)行時(shí),kubernnete將Deployment 的狀態(tài)標(biāo)記為 progressing ; Deployment 創(chuàng)建了一個(gè)新的 ReplicaSet Deployment 正在 scale up 其最新的 ReplicaSet Deployment 正在

    2024年02月14日
    瀏覽(19)
  • K8S之Deployment控制器管理應(yīng)用(十一)

    K8S之Deployment控制器管理應(yīng)用(十一)

    Deployment 介紹 ???? Deployment是最常用的K8s工作負(fù)載控制器(Workload Controllers), 是K8s的一個(gè)抽象概念,用于更高級層次對象,部署和管理Pod。 ???? Deployment的主要功能: ? 管理Pod,即應(yīng)用程序 ? 具有上線部署、副本設(shè)定、滾動升級、回滾等功能 應(yīng)用場景:網(wǎng)站、API、微

    2024年02月08日
    瀏覽(19)
  • k8s基礎(chǔ)4——deployment控制器、應(yīng)用部署、升級、回滾、水平擴(kuò)容縮容

    k8s基礎(chǔ)4——deployment控制器、應(yīng)用部署、升級、回滾、水平擴(kuò)容縮容

    基本了解: Deployment是最常用的K8s工作負(fù)載控制器(Workload Controllers),實(shí)際項(xiàng)目部署調(diào)試中必用資源之一,所以必須要熟練掌握deploy資源的使用。 它是K8s的一個(gè)抽象概念,用于更高級層次對象,部署和管理Pod。 其他控制器還有DaemonSet、StatefulSet等,不同控制器針對不同的需

    2024年02月03日
    瀏覽(28)
  • kubernetes-控制器

    kubernetes-控制器

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

    2024年02月06日
    瀏覽(18)
  • Kubernetes 準(zhǔn)入控制器

    Kubernetes 準(zhǔn)入控制器

    Kubernetes 極大地提高了當(dāng)今生產(chǎn)中后端集群的速度和可管理性。由于靈活、可擴(kuò)展、易用,Kubernetes 已成為容器編排的事實(shí)標(biāo)準(zhǔn)。Kubernetes 還提供了一系列保護(hù)功能。而 Admission Controllers(準(zhǔn)入控制器) 是一組安全相關(guān)的插件,啟用后能進(jìn)一步使用 Kubernetes 更高級的安全功能。

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

    Kubernetes Pod控制器

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

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

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

    2024年02月11日
    瀏覽(43)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包