自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Kubernetes 復(fù)制控制器如何工作

云計(jì)算
復(fù)制控制器負(fù)責(zé)管理吊艙的生命周期并確保在任何時(shí)候運(yùn)行著所需的指定數(shù)量的吊艙。

[[436665]]

復(fù)制控制器負(fù)責(zé)管理吊艙的生命周期并確保在任何時(shí)候運(yùn)行著所需的指定數(shù)量的吊艙。

你有沒有想過,誰負(fù)責(zé)監(jiān)督和管理 Kubernetes 集群內(nèi)運(yùn)行的“吊艙pod”的確切數(shù)量?Kubernetes 可以通過多種方式做到這一點(diǎn),但一個(gè)常見的方法是使用 “復(fù)制控制器ReplicationController(RC)”。RC 負(fù)責(zé)管理吊艙的生命周期,并確保在任何時(shí)候運(yùn)行著所需的指定數(shù)量的吊艙。但另一方面,它不負(fù)責(zé)高級的集群能力,如執(zhí)行自動擴(kuò)展、準(zhǔn)備度和活躍探測以及其他高級的復(fù)制能力。Kubernetes 集群中的其他組件可以更好地執(zhí)行這些功能。

簡而言之,RC 的職責(zé)有限,通常用于不需要復(fù)雜邏輯就能達(dá)到某些要求的具體實(shí)現(xiàn)(例如,確保所需的吊艙數(shù)量總是與指定的數(shù)量相符)。如果超過了所需的數(shù)量,RC 會刪除多余的,并確保即使在節(jié)點(diǎn)故障或吊艙終止的情況下,也有相同數(shù)量的存在。

簡單的事情不需要復(fù)雜的解決方案,對我來說,這就是 RC 如何被使用的一個(gè)完美的比喻。

如何創(chuàng)建一個(gè) RC

像大多數(shù) Kubernetes 資源一樣,你可以使用 YAML 或 JSON 格式創(chuàng)建一個(gè) RC,然后將其發(fā)布到 Kubernetes API 端點(diǎn)。

  1. $ kubectl create -f rcexample.yaml
  2. replicationcontroller/rcexample created

現(xiàn)在,我將深入一下 rcexample.yaml 的樣子。

  1. apiVersion: v1
  2. kind: ReplicationController RC 描述符
  3. metadata:
  4. name: rcexample 復(fù)制控制器名字
  5. spec:
  6. replicas: 3 預(yù)期的吊艙數(shù)量
  7. selector: 這個(gè) RC 的吊艙選擇器
  8. app: nginx
  9. template: 用于創(chuàng)建新吊艙的模板
  10. metadata:
  11. labels:
  12. app: nginx
  13. spec:
  14. containers:
  15. - name: nginx
  16. image: nginx

進(jìn)一步解釋,這個(gè)文件在執(zhí)行時(shí)創(chuàng)建了一個(gè)名為 rcexample 的 RC,確保三個(gè)名為 nginx 的吊艙實(shí)例一直在運(yùn)行。如果一個(gè)或所有的 app=nginx 吊艙沒有運(yùn)行,新的吊艙將根據(jù)定義的吊艙模板創(chuàng)建。

一個(gè) RC 有三個(gè)部分:

  • 復(fù)制品:3
  • 吊艙模板:app=nginx
  • 吊艙選擇器:app=nginx

注意,吊艙模板要與吊艙選擇器相匹配,以防止 RC 一直創(chuàng)建吊艙。如果你創(chuàng)建的 RC 的吊艙選擇器與模板不匹配,Kubernetes API 服務(wù)器會給你一個(gè)錯(cuò)誤。

為了驗(yàn)證 RC rcexample 是否被創(chuàng)建:

  1. $ kubectl get po
  2. NAME READY STATUS RESTARTS AGE
  3. rcexample-53thy 0/1 Running 0 10s
  4. rcexample-k0xz6 0/1 Running 0 10s
  5. rcexample-q3vkg 0/1 Running 0 10s

要?jiǎng)h除 RC:

  1. $ kubectl delete rc rcexample
  2. replicationcontroller "rcexample" deleted

注意,你可以對 RC 中的服務(wù)使用 滾動更新 策略,逐個(gè)替換吊艙。

其他復(fù)制容器的方法

在 Kubernetes 部署中,有多種方法可以實(shí)現(xiàn)容器的復(fù)制。Kubernetes 成為容器平臺的主要選擇的主要原因之一是復(fù)制容器以獲得可靠性、負(fù)載平衡和擴(kuò)展的原生能力。

我在上面展示了你如何輕松地創(chuàng)建一個(gè) RC,以確保在任何時(shí)候都有一定數(shù)量的吊艙可用。你可以通過更新副本的數(shù)量來手動擴(kuò)展吊艙。

另一種可能的方法是通過使用 “復(fù)制集ReplicaSet(RS)”來達(dá)到復(fù)制的目的。

  1. (kind: ReplicaSet)

RS 的功能幾乎與 RC 相同。主要區(qū)別在于,RS 不允許滾動更新策略。

另一種實(shí)現(xiàn)復(fù)制的方法是通過使用 “部署Deployments”。

  1. (kind: Deployment)

部署是一種更高級的容器復(fù)制方法。從功能上講,部署提供了相同的功能,但在需要時(shí)可以推出和回滾變化。這種功能之所以能夠?qū)崿F(xiàn),是因?yàn)椴渴鹩?“策略類型StrategyType” 規(guī)范來用新的吊艙替換舊的吊艙。你可以定義兩種類型的部署策略:“重新創(chuàng)建Recreate” 和 “滾動更新RollingUpdate”。你可以如下指定部署策略:

  1. StrategyType: RollingUpdate

總結(jié)

容器的復(fù)制功能是大多數(shù)企業(yè)考慮采用 Kubernetes 的主要原因之一。復(fù)制可以讓你達(dá)到大多數(shù)關(guān)鍵應(yīng)用程序需要的可靠性和可擴(kuò)展性,作為生產(chǎn)的最低要求。

了解在 Kubernetes 集群中使用哪些方法來實(shí)現(xiàn)復(fù)制,對于決定哪種方法最適合你的應(yīng)用架構(gòu)考慮非常重要。 

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2022-05-27 08:55:33

Kubernetes集群

2011-07-14 10:28:54

額外域控制器

2020-04-02 09:58:26

Kubernetes容器開發(fā)

2020-02-24 20:45:33

控制器技術(shù)選型技巧

2023-09-07 10:38:08

Kubernetes控制器

2011-07-15 14:54:48

域控制器

2011-07-13 13:13:10

域控制器活動目錄

2016-01-12 10:11:13

WLAN控制器WLAN

2018-01-10 21:07:35

2015-08-07 15:28:46

選取城市控制器源碼

2023-08-13 18:31:45

SDN控制器

2021-02-26 14:40:16

Kubernetes調(diào)度器

2015-02-02 09:37:42

SDN控制器

2015-10-20 14:52:50

Steam控制器Ubuntu

2011-07-12 09:29:10

主域控制器備份域控制器

2024-06-06 09:19:09

2011-07-20 09:01:33

域控制器ntp服務(wù)器

2013-09-17 09:18:02

SDN控制SDN軟件定義網(wǎng)絡(luò)

2024-09-27 16:28:07

2024-06-18 13:22:42

Nginx云原生Kubernetes
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號