最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Label,RC,HPA

2023-06-27 23:01 作者:阿兵云原生  | 我要投稿

上面簡單說了一下 pod 的基本知識點,待到后面會使用到 pod 的一些高階知識點的時候,還可以再細(xì)細(xì)琢磨底層原理

我們接著繼續(xù)學(xué)習(xí) Lable , RC,HPA 的相關(guān)知識點

Label 是什么?

label 就是標(biāo)簽,例如之前我們手寫的 yaml 文件中,每一個鍵值對都是 label,如 key =value

label 一般是在定義資源的時候就確定了,當(dāng)然我們也可以在對象創(chuàng)建之后進(jìn)行動態(tài)的添加,編輯,和刪除

我們寫的 label 可以附加到 Node,Service,Pod,RC 中,每一類資源都可以定義任意數(shù)量的 label, 同一個 label 也是可以被添加到任意數(shù)量的資源對象上的

這一點確實是很靈活了有么有

label 為什么要附加到各種資源對象上呢?

因為 label 和 label selector 都是不能單獨定義的,他們必須要依附在某一類資源對象上,這是為了能夠去管理這些資源,使用 label selector 對他們分組

例如寫一個 openresty ,寫一個 RC 使用 openresty ,Service 調(diào)用 openresty 的 label selector

apiVersion:?v1
kind:?ReplicationController?
metadata:?
??name:?openresty
spec:
??replicas:?2
??selector:
????app:?openresty
??tmplate:
????metadata:
??????labels:
????????app:?openresty
??????spec:
????????containers:
????????-?name:?openresty
????????ports:
????????-?containerPort:?80
----------------------------
apiVersion:?v1
kind:?Service?
metadata:?
??name:?openresty
spec:
??type:?NodePort
??ports:
??-?port:?80
????nodePort:?30125
??selector:
????app:?openresty

RC 是什么?

RC 是什么,前面解釋到,就是 ReplicationController 副本控制器

當(dāng)我們定義一個 RC ,提交給 K8S 的時候,這是一個期望值,Master 節(jié)點上的 Controller Manager 組件得到通知后,就會去定期檢查 pod ,會確保 pod 的數(shù)量和我們預(yù)期的數(shù)量一致

如果當(dāng)前檢測到的數(shù)量和我們的預(yù)期數(shù)量不一致,那么控制器就會對 pod 做增加和刪除的操作,這就可以實現(xiàn) pod 動態(tài)擴(kuò)縮功能

之前我們也有提到,我們可以使用如下指令來設(shè)置我們期望的副本數(shù)

kubectl?scale?rc?服務(wù)名?--replicas=具體的數(shù)字

RC ?和 Replica Sets 有何區(qū)別?

他倆在本質(zhì)上沒有什么區(qū)別,只是 Replica Sets ?支持的更多

RCReplica Sets支持基于等式的 label selector支持基于集合的 label selectorK8S 1.2 之后出現(xiàn)的,Replica Sets ?主要是被 Deployment 這樣的資源對象所使用

為了提高我們應(yīng)用的容災(zāi)能力,哪怕程序只有 ?1 個 pod 副本,也要通過 RC 的方式去管理,因為 RC 可以管理 pod 的創(chuàng)建,刪除,更新等編排機(jī)制,不用 pod 自己瞎操心

HPA 是什么?

HPA 就是 Horizontal Pod Autoscal ,pod 的橫向擴(kuò)容,他也是 K8S 的一種資源對象

HPA 的簡單原理

HAP 通過追蹤和分析 RC 的 pod 的負(fù)載變化情況,酌情調(diào)整目標(biāo) pod 的副本數(shù)

K8S 提供 2 種方式來對 pod 擴(kuò)容和縮容

  • 第一種是我們使用命令的方式對 RC,Deployment 進(jìn)行擴(kuò)容和縮容

kubectl?scale?rc/deployment?服務(wù)名?--replicas?數(shù)量

  • 第二種是使用 HPA 的方式,自動擴(kuò)容和縮容

自動的模式就需要用戶根據(jù)指定的一個性能指標(biāo),還要預(yù)先指定一個副本的數(shù)量范圍,系統(tǒng)就會自動的在我們設(shè)定的范圍內(nèi)根據(jù)性能指標(biāo)進(jìn)行調(diào)整

HPA 小案例

  • 寫一個 自己 nginx deployment

apiVersion:?extension/v1beta1
kind:?Deployment
metadata:
??name:?my?nginx?deployment
spec:
??replicas:?2
??template:
????metadata:
??????name:?my?deployment
??????labels:
????????app:?nginx
????spec:
??????containers:
??????-?name:?nginx
????????image:?nginx
????????resources:
??????????requrests:
????????????cpu:?50m
????????ports:
????????-?containerPort:?80

  • 寫一個 service

寫一個 service ,命名為 mynginx-svc

apiVersion:?v1
kind:?Service
metadata:
??name:?mynginx-svc
spec:
??ports:
??-?port:?80
??selector:
????app:?nginx

  • 寫一個 hpa

hpa 設(shè)置最小的副本數(shù) ?2, 最大的副本數(shù) 5個,CPU 在 70 % 以下 ,引用 ?my nginx deployment

apiVersion:?autoscaling/v1
kind:?HorizontalPodAutoscaler
metadata:
??name:?mynginx-hpa
spec:
??scaletargetRef:
????apiversion:?app/v1beta1
????kind:?deployment
????name:?my?nginx?deployment
??minReplicas:?2
??maxReplicas:?5
??targetCPUUtillizationPercentage:?70

今天就到這里,學(xué)習(xí)所得,若有偏差,還請斧正

歡迎點贊,關(guān)注,收藏

朋友們,你的支持和鼓勵,是我堅持分享,提高質(zhì)量的動力

好了,本次就到這里

技術(shù)是開放的,我們的心態(tài),更應(yīng)是開放的。擁抱變化,向陽而生,努力向前行。

我是阿兵云原生,歡迎點贊關(guān)注收藏,下次見~


Label,RC,HPA的評論 (共 條)

分享到微博請遵守國家法律
商河县| 庄浪县| 类乌齐县| 清新县| 佛冈县| 枝江市| 界首市| 松阳县| 巴马| 吉隆县| 贺州市| 社旗县| 江山市| 绥中县| 徐州市| 麦盖提县| 合江县| 樟树市| 涞水县| 安西县| 富阳市| 盐山县| 西华县| 汪清县| 赫章县| 喀喇沁旗| 福安市| 周至县| 曲阜市| 西丰县| 敦煌市| 汉阴县| 台北县| 余江县| 上犹县| 林甸县| 滦平县| 开远市| 肃宁县| 卫辉市| 定襄县|