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

【Azure K8S】AKS升級 Kubernetes version 失敗問題的分析與解決

這篇具有很好參考價值的文章主要介紹了【Azure K8S】AKS升級 Kubernetes version 失敗問題的分析與解決。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

問題描述

創(chuàng)建Azure Kubernetes Service服務(wù)后,需要升級AKS集群的 kubernetes version。在AKS頁面的 Cluster configuration?頁面中,選擇新的版本 1.25.5,確認升級。等待50分鐘左右,卻等到了升級失敗的消息:

Failed to save Kubernetes service 'xxxx-aks3'. Error: Drain of aks-agentpool-xxxxxxxx-vmss00000j did not complete: Too many req pod aks-helloworld-one-9df87f7df-zxnbq on node aks-agentpool-xxxxxxxx-vmss00000j: ingress-basic/aks-helloworld-one-9df87f7df-zxnbq blocked by pdb pdbforhelloworldone with unready pods []. See ?http://aka.ms/aks/debugdrainfailures

【Azure K8S】AKS升級 Kubernetes version 失敗問題的分析與解決

?文章來源地址http://www.zghlxwxcb.cn/news/detail-473523.html

問題解答

查看錯誤消息,其中提到 “... blocked by pdb pdbforhelloworldone with unready pods ... ” ,所以需要檢查AKS集群中PDB(Pod Disruption Budget:Pod中斷預(yù)算 -- ?https://kubernetes.io/docs/tasks/run-application/configure-pdb/#create-the-pdb-object).?

?

第一步:查看AKS集群中的事件,檢查錯誤內(nèi)容

使用指令:kubectl get event , 得到錯誤信息 :Eviction blocked by too many Requests ( usually a pdb)

【Azure K8S】AKS升級 Kubernetes version 失敗問題的分析與解決

?

第二步:查看AKS集群中PDB的配置信息

使用指令? kubectl get pdb -A , 查看到其中一個配置為 MIN AVAILABLE : 100%, ALLOWED DISRUPTIONS: 0

【Azure K8S】AKS升級 Kubernetes version 失敗問題的分析與解決

MIN AVAILABLE 為 100%, 說明POD都需要處于活躍狀態(tài),不能中斷。

ALLOWED DISRUPTIONS為0,也表明POD可以中斷的數(shù)量為0,即全部的POD都不能中斷。

所以,升級失敗的根源就是PDB策略的阻擋,升級的時候POD需要中斷替換,而PDB策略不允許有POD中斷,所以無法完成升級。

?

解決方案:

方案一:修改PDB設(shè)置,根據(jù)情況改變MIN AVAILABLE和ALLOWED DISRUPITIONS的值。

方案二:(當不能修改PDB設(shè)置時),可以先把PDB保存到本地,然后刪除它,在執(zhí)行升級,當升級完成后,恢復(fù)PDB設(shè)置即可。

第一種方式很簡單,修改POD YAML中的配置即可。而本文中主要使用的是第二種方式:

?

1)保存PDB配置到本地(如pdb.yaml)

使用命令:kubectl get pdb <the block pdb name> -o yaml --namespace <the pdb namespace>?

然后把輸出的內(nèi)容復(fù)制到文件 pdb.yaml 中

【Azure K8S】AKS升級 Kubernetes version 失敗問題的分析與解決

?

2)刪除阻擋升級操作的PDB設(shè)置

使用命令刪除pdb:kubectl delete pdb <your pdb name> --namespace <right namespace>

【Azure K8S】AKS升級 Kubernetes version 失敗問題的分析與解決

?

?

3)執(zhí)行升級操作

因為在門戶上,先前的升級操作報錯,鎖定了頁面上的升級操作(即無法繼續(xù)在頁面中執(zhí)行升級), 并且ASK 控制層面(Control panel)的版本升級已經(jīng)完成,只是Node的升級是失敗的。所以可以通過az aks nodepool upgrade 指令,執(zhí)行對NodePool的升級。

az aks nodepool upgrade -g <group name> --cluster-name <name> --name <node name> --kubernetes-version 1.25.5 --no-wait

【Azure K8S】AKS升級 Kubernetes version 失敗問題的分析與解決

?

升級過程中,節(jié)點由2個 變?yōu)?3個,然后節(jié)點的kubernetes Version也在改變中

【Azure K8S】AKS升級 Kubernetes version 失敗問題的分析與解決

?

升級完成后, 節(jié)點數(shù)恢復(fù)為2,kubernetes Version都變?yōu)樾碌?1.25.5?

【Azure K8S】AKS升級 Kubernetes version 失敗問題的分析與解決

完成此步后,整個AKS集群的升級表示完成,下一步就是根據(jù)第一步保存的pdb.yaml,重新創(chuàng)建PDB

4)恢復(fù)原有的PDB設(shè)置

使用指令

kubectl apply -f pdb.yaml --namespace <the pdb namespace>

kubectl get pdb -A

【Azure K8S】AKS升級 Kubernetes version 失敗問題的分析與解決

?

?

參考資料

Specifying a Disruption Budget for your Application :??https://kubernetes.io/docs/tasks/run-application/configure-pdb/#create-the-pdb-object

排查“PodDrainFailure”錯誤代碼 :??https://learn.microsoft.com/zh-cn/troubleshoot/azure/azure-kubernetes/error-code-poddrainfailure

?

到了這里,關(guān)于【Azure K8S】AKS升級 Kubernetes version 失敗問題的分析與解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • K8S第四講 Kubernetes刪除pod阻塞問題

    在Kubernetes中,當您嘗試刪除一個Pod時,可能會遇到Pod一直阻塞的情況。這通常是由于Pod正在運行或被其他資源(例如ReplicaSet或Deployment)控制而導(dǎo)致的。以下是一些可能的解決方案: 1: 確認Pod是否正在運行:在執(zhí)行刪除Pod命令之前,請先檢查Pod的狀態(tài),確保它沒有在運行中

    2024年02月05日
    瀏覽(118)
  • 【Kubernetes】當K8s出現(xiàn)問題時,從哪些方面可以排查

    【Kubernetes】當K8s出現(xiàn)問題時,從哪些方面可以排查

    前言 kubernetes,簡稱K8s,是用8代替名字中間的8個字符“ubernete”而成的縮寫 。是一個開源的,用于管理云平臺中多個主機上的容器化的應(yīng)用,Kubernetes的目標是讓部署容器化的應(yīng)用簡單并且高效(powerful),Kubernetes提供了應(yīng)用部署,規(guī)劃,更新,維護的一種機制。 ??作者簡介

    2024年02月14日
    瀏覽(21)
  • 云原生Kubernetes:K8S集群實現(xiàn)容器運行時遷移(docker → containerd) 與 版本升級(v1.23.14 → v1.24.1)

    云原生Kubernetes:K8S集群實現(xiàn)容器運行時遷移(docker → containerd) 與 版本升級(v1.23.14 → v1.24.1)

    目錄 一、理論 1.K8S集群升級 2.環(huán)境 3.升級策略 4.master1節(jié)點遷移容器運行時(docker → containerd)? 5.master2節(jié)點遷移容器運行時(docker → containerd)? 6.node1節(jié)點容器運行時遷移(docker → containerd)? 7.升級集群計劃(v1.23.14 →?v1.24.1) 8.升級master1節(jié)點版本(v1.24.1) 9.升級master2節(jié)點版本

    2024年02月03日
    瀏覽(38)
  • 【Kubernetes】當K8s出現(xiàn)問題時,我們可以從哪些方面排查出

    【Kubernetes】當K8s出現(xiàn)問題時,我們可以從哪些方面排查出

    前言 kubernetes,簡稱K8s,是用8代替名字中間的8個字符“ubernete”而成的縮寫 。是一個開源的,用于管理云平臺中多個主機上的容器化的應(yīng)用,Kubernetes的目標是讓部署容器化的應(yīng)用簡單并且高效(powerful),Kubernetes提供了應(yīng)用部署,規(guī)劃,更新,維護的一種機制。 作者簡介:

    2024年02月08日
    瀏覽(20)
  • 【大數(shù)據(jù)】kubernetes(k8s)calico跨節(jié)點網(wǎng)絡(luò)不通的問題及排錯過程

    進入節(jié)點 k8s-node27 的pod,ping k8s-node28 節(jié)點上的pod的ip都不通,k8s-node28 節(jié)點ping k8s-node27 也不通,但是k8s-node27,k8s-node28 之間他們各自節(jié)點上的pod的ip之間是可以相互ping通。 排查過程: 這種情況讓我們想起了當時設(shè)置路由轉(zhuǎn)發(fā)時候的配置,主機上有多個網(wǎng)卡,而k8s的calico網(wǎng)絡(luò)

    2024年02月11日
    瀏覽(30)
  • 在不能升級版本的情況下,解決k8s證書到期且續(xù)約只有1年的問題

    更新證書需要重啟服務(wù)才能生效(證書已經(jīng)過期和還未過期都要重啟才能生效),重啟會對業(yè)務(wù)產(chǎn)生影響,請申請時間窗口進行處理 注意該工具只適用于k8s版本v1.18.5、請按照服務(wù)器架構(gòu)選擇對應(yīng)的版本 相關(guān)說明: 證書到期后 kube-scheduler 和 kube-controoler-manager 會出現(xiàn)異常,原

    2024年04月25日
    瀏覽(32)
  • Azure Devops上模版化K8s部署

    Azure Devops上模版化K8s部署

    在2022年我們終于完成了主要業(yè)務(wù)系統(tǒng)上K8s的計劃,在這里總結(jié)下我們上K8s時候的模版工程。 ? 前提條件 本文不討論K8s是什么,什么是容器化,為什么需要容器化,什么是微服務(wù)等這些基礎(chǔ)內(nèi)容,這些到處說的爛大街了。此類內(nèi)容有興趣可以看看微軟系的介紹: 微服務(wù)體系架

    2024年02月02日
    瀏覽(26)
  • Kubernetes(k8s)實戰(zhàn):Kubernetes(k8s)部署Springboot項目

    Kubernetes(k8s)實戰(zhàn):Kubernetes(k8s)部署Springboot項目

    wordpress是用于快速搭建博客系統(tǒng)。 該yaml文件創(chuàng)建一個mysql,并且生成一個service,service對外暴露的端口是3306 我們發(fā)現(xiàn),搭建成功了,用瀏覽器訪問192.168.56.101:30493,發(fā)現(xiàn)訪問成功了! 在集群中,pod之間可以通過service 的name進行訪問,不僅僅是ip,這就意味著,service中不僅幫

    2024年02月12日
    瀏覽(32)
  • Kubernetes(K8S)學(xué)習(三):K8S實戰(zhàn)案例

    Kubernetes(K8S)學(xué)習(三):K8S實戰(zhàn)案例

    附:查看命名空間命令 kubectl get namespace kubectl get ns 創(chuàng)建wordpress-db.yaml文件,這里以mysql作為wordpress的db: yaml內(nèi)容: 根據(jù)wordpress-db.yaml配置,創(chuàng)建資源mysql數(shù)據(jù)庫: yaml中MySQL配置說明: 用戶:root ??????密碼:rootPassW0rd 數(shù)據(jù)庫名稱:wordpress 用戶:wordpress ??????密碼:wo

    2024年04月09日
    瀏覽(30)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包