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

k8s的策略

這篇具有很好參考價(jià)值的文章主要介紹了k8s的策略。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

集群調(diào)度:

Scheduler的調(diào)度算法:

預(yù)算策略

過濾出合適的節(jié)點(diǎn)

優(yōu)先策略

選擇部署的節(jié)點(diǎn)

NodeName:硬策略,不走調(diào)度策略,node1

nodeSelector:根據(jù)節(jié)點(diǎn)的標(biāo)簽選擇,會(huì)走一個(gè)調(diào)度算法

只要是走調(diào)度算法,在不滿足預(yù)算策略的情況下,所有的pod都是pending

Node節(jié)點(diǎn)的親和性:

硬策略:必須滿足的條件。匹配原則根據(jù)節(jié)點(diǎn)的標(biāo)簽

軟策略:盡量滿足,而不是一定滿足

以上說的都是node節(jié)點(diǎn)

接下來我們來說pod的

親和性和反親和性:

調(diào)度策略: ?????匹配標(biāo)簽 ????????操作符 ?????????????????????拓?fù)溆???調(diào)度目標(biāo)

Node的親和性: 主機(jī)標(biāo)簽 ???????in?in exists doesNotExist Gt Lt 不支持 ???指定主機(jī)

Pod 的親和性 ???pod的標(biāo)簽 ?????in notin exists doesnotexist ??????支持 ????pod和指定標(biāo)簽的pod部署在同一拓?fù)鋱D

Pod的反親和性 ?pod的標(biāo)簽 ?????in notin exists doesnotexist ??????支持

拓?fù)溆颍?/h3>

k8s集群節(jié)點(diǎn)當(dāng)中的一個(gè)組織結(jié)構(gòu),可以根據(jù)節(jié)點(diǎn)的物理關(guān)系或者邏輯關(guān)系進(jìn)行劃分,可以用來表示節(jié)點(diǎn)之間的空間關(guān)系,網(wǎng)絡(luò)關(guān)系或者其他類型的關(guān)系

標(biāo)簽,主機(jī)標(biāo)簽

Pod

注意點(diǎn):

Pod的親和性和策略,在配置時(shí),必須加上拓?fù)溆虻年P(guān)鍵字topologykey,指向節(jié)點(diǎn)標(biāo)簽

Pod親和性的策略分為硬策略和軟策略

Pod親和性的notin可以替代反親和性

Pod親和性主要是為了把相關(guān)聯(lián)的pod部署在同一節(jié)點(diǎn)

你在進(jìn)行部署的時(shí)候怎么考慮node節(jié)點(diǎn):

污點(diǎn)和容忍可以配合node節(jié)點(diǎn)一塊使用

演示:

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

演示:

k8s的策略,kubernetes,容器,云原生

解析:

k8s的策略,kubernetes,容器,云原生

添加標(biāo)簽

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

另外一種方式:

硬策略:

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

軟策略寫法:

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

反親和性:

軟策略:

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

硬策略:

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

污點(diǎn):

是node的調(diào)度機(jī)制,不是pod

被設(shè)為污點(diǎn)的節(jié)點(diǎn),不會(huì)部署pod

污點(diǎn)和親和性相反,親和性是盡量選擇和一定選擇

污點(diǎn)的節(jié)點(diǎn)一定不被選擇嗎?

Taint三種:

  1. NoSchedule:k8s不會(huì)把pod調(diào)度到這個(gè)節(jié)點(diǎn)上
  2. preferNoSchedule:如果污點(diǎn)類型是他,只是盡量避免把pod部署在該節(jié)點(diǎn)上,而不是一定
  3. NoExecute:如果污點(diǎn)類型是它的話,k8s將會(huì)把該節(jié)點(diǎn)pod驅(qū)逐出去,而且也不會(huì)調(diào)度到這個(gè)節(jié)點(diǎn),基于控制器創(chuàng)建的pod,雖然被驅(qū)逐,會(huì)在其他節(jié)點(diǎn)部署,自主pod會(huì)被直接殺死

注意點(diǎn):節(jié)點(diǎn)服務(wù)器需要維護(hù)時(shí),服務(wù)器關(guān)機(jī),節(jié)點(diǎn)上的pod將會(huì)失效,在工作中我們主要部署pod的方式控制控制器部署,deployment最多的,一旦節(jié)點(diǎn)設(shè)置被驅(qū)逐,控制器創(chuàng)建的pod會(huì)在其他節(jié)點(diǎn)繼續(xù)部署

所有的pod都會(huì)被驅(qū)逐,更命名空間無關(guān),所有的一切都會(huì)被驅(qū)逐,不論你的創(chuàng)建方式是什么,都會(huì)被驅(qū)逐,系統(tǒng)集群組件不會(huì)被驅(qū)逐

查看污點(diǎn)命令:

kubectl describe nodes node01 | grep -i taints

k8s的策略,kubernetes,容器,云原生

清緩存命令

echo 1 > /proc/sys/vm/drop_caches

污點(diǎn)演示三種情況:

第一種:

設(shè)置污點(diǎn)

k8s的策略,kubernetes,容器,云原生

刪除污點(diǎn)

k8s的策略,kubernetes,容器,云原生

第二種:

盡量不調(diào)度

k8s的策略,kubernetes,容器,云原生

第三種:

如果污點(diǎn)類型是它的話,k8s將會(huì)把該節(jié)點(diǎn)pod驅(qū)逐出去,而且也不會(huì)調(diào)度到這個(gè)節(jié)點(diǎn)

k8s的策略,kubernetes,容器,云原生

容忍:

即使集群節(jié)點(diǎn)上設(shè)置了污點(diǎn),有了容忍機(jī)制,依然可以在設(shè)置為污點(diǎn)的節(jié)點(diǎn)上部署pod

特殊情況,NoExecute依然可以部署pod,但是是有生命周期,時(shí)間一到,pod被銷毀然后重新拉起。生命周期結(jié)束之后,會(huì)驅(qū)逐一部分pod到其他節(jié)點(diǎn)上,有點(diǎn)節(jié)點(diǎn)還是會(huì)保留在污點(diǎn)節(jié)點(diǎn)上。

該節(jié)點(diǎn)維護(hù)完畢,測試一下節(jié)點(diǎn)的工作是否正常

刪除所有污點(diǎn):

k8s的策略,kubernetes,容器,云原生

設(shè)置污點(diǎn):

kubectl taint node master01 key=1:NoSchedule

k8s的策略,kubernetes,容器,云原生

配置容忍:

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

設(shè)置為驅(qū)逐類型

kubectl describe nodes node01 | grep -i taints

kubectl taint node master01 key=1:NoExecute

kubectl taint node node02 key=1:NoSchedule-

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

設(shè)置容忍時(shí)間

apiVersion: apps/v1

kind: Deployment

metadata:

??labels:

????app: nginx2

??name: nginx2

spec:

??replicas: 3

??selector:

????matchLabels:

??????app: nginx2

??template:

????metadata:

??????labels:

????????app: nginx2

????spec:

??????containers:

??????- image: nginx:1.22

????????name: nginx2

??????tolerations:

??????- key: key

????????operator: Equal

????????value: "1"

????????effect: NoExecute

????????tolerationSeconds: 36

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

36秒之后,被驅(qū)逐之后,也會(huì)出現(xiàn)

k8s的策略,kubernetes,容器,云原生

演示污點(diǎn)容忍機(jī)制

kubectl describe nodes node01 | grep -i taints

kubectl taint node node02 key=1:NoExecute-

k8s的策略,kubernetes,容器,云原生

kubectl taint node node01 key=1:NoSchedule

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

第二種情況

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

解析:

k8s的策略,kubernetes,容器,云原生

指定key的值,指標(biāo)節(jié)點(diǎn)的標(biāo)簽,但是不指定污點(diǎn)的類型,那么所有節(jié)點(diǎn)上只要包含了這個(gè)指定的標(biāo)簽,可以容忍所有的污點(diǎn)

k8s的策略,kubernetes,容器,云原生

沒有key,不匹配節(jié)點(diǎn)標(biāo)簽,容忍所有污點(diǎn),但是類型是指定的類型

總結(jié):

Node的親和性

Pod的親和性和反親和性

污點(diǎn)和容忍

總結(jié)起來就是如何選擇節(jié)點(diǎn)部署pod,選擇一個(gè)期望的節(jié)點(diǎn)部署pod

舉例:

我有多個(gè)master節(jié)點(diǎn):

Kubectl taint node master節(jié)點(diǎn)名稱k8s的策略,kubernetes,容器,云原生

盡量不往master節(jié)點(diǎn)上部署pod,但是不是一定的,防止資源浪費(fèi),自定義一個(gè)標(biāo)簽

業(yè)務(wù)維護(hù):

Node02需要維護(hù)兩個(gè)小時(shí),但是這個(gè)節(jié)點(diǎn)上還有業(yè)務(wù)pod在運(yùn)行

就需要把這個(gè)節(jié)點(diǎn)的污點(diǎn)設(shè)置為驅(qū)逐

我們部署pod,一般都是使用deployment部署的pod,會(huì)在其他節(jié)點(diǎn)重新部署,并不是被殺死,自主試的pod會(huì)被殺死

一旦節(jié)點(diǎn)恢復(fù),一定要把污點(diǎn)去除

Cordon和drain

Cordon:可以直接把節(jié)點(diǎn)標(biāo)記為不可用狀態(tài)

Drain:排水,把該節(jié)點(diǎn)下的pod全部轉(zhuǎn)移到其他的node節(jié)點(diǎn)上云霄

一旦執(zhí)行了drain,被執(zhí)行的節(jié)點(diǎn)就會(huì)變成不可調(diào)度狀態(tài)

會(huì)驅(qū)逐該節(jié)點(diǎn)上的所有pod

清空污點(diǎn)

kubectl taint node node02 key=1:NoExecute-

kubectl describe nodes master01 | grep -i taints

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

演示Drain

k8s的策略,kubernetes,容器,云原生

k8s的策略,kubernetes,容器,云原生

解析:

kubectl drain node02 --ignore-daemonsets --delete-emptydir-data --force

Drain:排水,標(biāo)記node節(jié)點(diǎn)為不可調(diào)度,然后驅(qū)逐pod

--ignore-daemonsets:忽視daemonset部署的pod,daemonset部署的pod還在節(jié)點(diǎn)

--delete-local-data:有本地掛載卷的pod會(huì)被強(qiáng)制殺死

--force:強(qiáng)制釋放,不是控制器管理的pod

k8s的策略,kubernetes,容器,云原生

如何改回來

k8s的策略,kubernetes,容器,云原生

重點(diǎn):

node親和性

Pod親和性

污點(diǎn):NoExeccute(驅(qū)逐)

Cordon和drain

--ignore-daemonset daemonset部署的一般是重要后臺(tái)運(yùn)行的,系統(tǒng)pod,所以不動(dòng)

總結(jié):

Node親和性

Pod親和性

Pod反親和性

污點(diǎn):NoExecute

容忍

Cordon

Drain

如何部署pod時(shí)比較重要的集群調(diào)度機(jī)制,合理的配置pod的調(diào)度機(jī)制可以是資源最大化應(yīng)用文章來源地址http://www.zghlxwxcb.cn/news/detail-792780.html

到了這里,關(guān)于k8s的策略的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Kubernetes(k8s)網(wǎng)絡(luò)策略NetworkPolicy

    目錄 一.系統(tǒng)環(huán)境 二.前言 三.網(wǎng)絡(luò)策略(NetworkPolicy)簡介 四.創(chuàng)建pod和svc 五.沒有網(wǎng)絡(luò)策略的條件下訪問pod 六.給pod添加網(wǎng)絡(luò)策略 6.1 入站網(wǎng)絡(luò)策略 6.1.1 入站網(wǎng)絡(luò)策略-pod標(biāo)簽選擇器 6.1.2 入站網(wǎng)絡(luò)策略-namespaceSelector命名空間選擇器 6.1.3 入站網(wǎng)絡(luò)策略-IP地址控制 6.2 出站網(wǎng)絡(luò)策略

    2024年02月08日
    瀏覽(41)
  • [kubernetes]-k8s調(diào)整鏡像清理策略

    導(dǎo)語:k8s在磁盤使用率到達(dá)80%之后開始清理鏡像,導(dǎo)致服務(wù)重啟后鏡像被刪除。記錄一下大致調(diào)整的方法

    2024年02月06日
    瀏覽(23)
  • 云原生Kubernetes:K8S概述

    云原生Kubernetes:K8S概述

    目錄 一、理論 1.云原生 2.K8S 3.k8s集群架構(gòu)與組件 4.K8S網(wǎng)絡(luò) 二、總結(jié) (1)概念 云原生是一種基于容器、微服務(wù)和自動(dòng)化運(yùn)維的軟件開發(fā)和部署方法。它可以使應(yīng)用程序更加高效、可靠和可擴(kuò)展,適用于各種不同的云平臺(tái)。 如果要更直接通俗的來解釋下上面的概念,云原生更

    2024年02月10日
    瀏覽(34)
  • 【云原生 ? Kubernetes】認(rèn)識(shí) k8s、k8s 架構(gòu)、核心概念點(diǎn)介紹

    【云原生 ? Kubernetes】認(rèn)識(shí) k8s、k8s 架構(gòu)、核心概念點(diǎn)介紹

    目錄 一、Kubernetes 簡介 二、Kubernetes 架構(gòu) 三、Kunbernetes 有哪些核心概念? 1. 集群 Cluster 2. 容器 Container 3. POD 4. 副本集 ReplicaSet 5. 服務(wù) service 6. 發(fā)布 Deployment 7. ConfigMap/Secret 8. DaemonSet 9. 核心概念總結(jié) Kubernetes 簡稱 k8s,是支持云原生部署的一個(gè)平臺(tái),起源于谷歌。谷歌早在十幾

    2024年02月03日
    瀏覽(860)
  • 【云原生、k8s】Calico網(wǎng)絡(luò)策略

    【云原生、k8s】Calico網(wǎng)絡(luò)策略

    第四階段 時(shí) ?間:2023年8月17日 參加人:全班人員 內(nèi) ?容: Calico網(wǎng)絡(luò)策略 目錄 一、前提配置 二、Calico網(wǎng)絡(luò)策略基礎(chǔ) 1、創(chuàng)建服務(wù) 2、啟用網(wǎng)絡(luò)隔離 3、測試網(wǎng)絡(luò)隔離 4、允許通過網(wǎng)絡(luò)策略進(jìn)行訪問 三、Calico網(wǎng)絡(luò)策略進(jìn)階 1、創(chuàng)建服務(wù) 2、拒絕所有入口流量 3、允許進(jìn)入Nginx的流

    2024年02月12日
    瀏覽(28)
  • 【云原生 ? Kubernetes】認(rèn)識(shí) k8s 網(wǎng)絡(luò)、外部網(wǎng)絡(luò)訪問 k8s 內(nèi)部服務(wù)

    【云原生 ? Kubernetes】認(rèn)識(shí) k8s 網(wǎng)絡(luò)、外部網(wǎng)絡(luò)訪問 k8s 內(nèi)部服務(wù)

    目錄 一、認(rèn)識(shí) Kubernetes 網(wǎng)絡(luò) 二、外部網(wǎng)絡(luò)如何訪問 k8s 內(nèi)部服務(wù) 1. NodePort 2. Load Balancer 3. Ingress Kubernetes 最底層的網(wǎng)絡(luò)為節(jié)點(diǎn)網(wǎng)絡(luò),用來保證 k8s 集群的節(jié)點(diǎn)(master 和 worker、worker 節(jié)點(diǎn)之間)能夠做正常的 IP 尋址和通訊。 Kubernetes 第二層網(wǎng)絡(luò)就是 Pod 網(wǎng)絡(luò),構(gòu)建于節(jié)點(diǎn)網(wǎng)絡(luò)之上

    2024年01月16日
    瀏覽(106)
  • 云原生Kubernetes:K8S安全機(jī)制

    云原生Kubernetes:K8S安全機(jī)制

    目錄 一、理論 1.K8S安全機(jī)制 2.Authentication認(rèn)證 3.Authorization授權(quán) 4.Admission Control準(zhǔn)入控制 5.User訪問案例 6.ServiceAccount訪問案例 二、實(shí)驗(yàn) 1.Admission Control準(zhǔn)入控制 2.User訪問案例 3.ServiceAccount訪問案例 三、問題 1.生成資源報(bào)錯(cuò) 2.鏡像拉取失敗 四、總結(jié) (1)概念 Kubernetes 作為一個(gè)分

    2024年02月07日
    瀏覽(29)
  • 【云原生K8S】Kubernetes之探針

    目錄 一、探針是什么 二、探針類型? Ⅰ、livenessProbe 容器重啟策略? Ⅱ、readinessProbe Ⅲ、startupProbe 執(zhí)行順序: 字段詳情 三、探測機(jī)制 Ⅰ、HTTP GET探針 Ⅱ、TCP套接字探針 Ⅲ、Exec探針 探針:是由 kubelet 對(duì)容器執(zhí)行的定期診斷 要執(zhí)行診斷,則需kubelet 調(diào)用由容器實(shí)現(xiàn)的 Handler。

    2024年02月09日
    瀏覽(30)
  • 云原生_kubernetes(k8s)介紹

    云原生_kubernetes(k8s)介紹

    目錄 一、應(yīng)用部署方式演變 二、k8s介紹 三、k8s的組件 四、k8s中的概念 五、k8s資源管理方式 1、命令式對(duì)象管理 2、命令式對(duì)象配置 3、聲明式對(duì)象配置 在部署應(yīng)用程序的方式上,主要經(jīng)歷了三個(gè)時(shí)代: 1 、物理機(jī)部署: 互聯(lián)網(wǎng)早期,會(huì)直接將應(yīng)用程序部署在物理機(jī)上 優(yōu)點(diǎn)

    2023年04月13日
    瀏覽(104)
  • 云原生Kubernetes:K8S存儲(chǔ)卷

    云原生Kubernetes:K8S存儲(chǔ)卷

    目錄 一、理論 1.存儲(chǔ)卷 2.emptyDir 存儲(chǔ)卷 3.hostPath卷 4.NFS共享存儲(chǔ) 5.PVC 和 PV 6.靜態(tài)創(chuàng)建PV 7.動(dòng)態(tài)創(chuàng)建PV 二、實(shí)驗(yàn) ?1.emptyDir 存儲(chǔ)卷 2.hostPath卷 3.NFS共享存儲(chǔ) 4.靜態(tài)創(chuàng)建PV 5.動(dòng)態(tài)創(chuàng)建PV 三、問題 1.生成pod一直pending 2.shoumount -e未顯示共享目錄 3.靜態(tài)創(chuàng)建pv 報(bào)錯(cuò) 4.使用 Deployment 來創(chuàng)建

    2024年02月07日
    瀏覽(33)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包