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

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

Label,RC,HPA

2023-06-29 22:55 作者:阿兵云原生  | 我要投稿

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

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

Label 是什么?

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

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

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

這一點(diǎn)確實(shí)是很靈活了有么有

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

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

例如寫一個(gè) openresty ,寫一個(gè) 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)我們定義一個(gè) RC ,提交給 K8S 的時(shí)候,這是一個(gè)期望值,Master 節(jié)點(diǎn)上的 Controller Manager 組件得到通知后,就會(huì)去定期檢查 pod ,會(huì)確保 pod 的數(shù)量和我們預(yù)期的數(shù)量一致

如果當(dāng)前檢測到的數(shù)量和我們的預(yù)期數(shù)量不一致,那么控制器就會(huì)對 pod 做增加和刪除的操作,這就可以實(shí)現(xiàn) pod 動(dòng)態(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 個(gè) pod 副本,也要通過 RC 的方式去管理,因?yàn)?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 的方式,自動(dòng)擴(kuò)容和縮容

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

HPA 小案例

  • 寫一個(gè) 自己 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

  • 寫一個(gè) service

寫一個(gè) service ,命名為 mynginx-svc

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

  • 寫一個(gè) hpa

hpa 設(shè)置最小的副本數(shù) ?2, 最大的副本數(shù) 5個(gè),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í)所得,若有偏差,還請斧正

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

朋友們,你的支持和鼓勵(lì),是我堅(jiān)持分享,提高質(zhì)量的動(dòng)力

好了,本次就到這里

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

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


Label,RC,HPA的評(píng)論 (共 條)

分享到微博請遵守國家法律
东乡| 太谷县| 石楼县| 灵石县| 吉木萨尔县| 浮山县| 承德市| 房山区| 安远县| 夹江县| 邛崃市| 年辖:市辖区| 会理县| 江口县| 四会市| 荆州市| 颍上县| 定边县| 剑阁县| 东安县| 洞头县| 寿宁县| 广州市| 乾安县| 且末县| 大渡口区| 汉源县| 得荣县| 肥东县| 平山县| 田林县| 杭锦旗| 修文县| 贞丰县| 荣成市| 枣庄市| 博罗县| 台中市| 确山县| 宁河县| 玉环县|