日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

升級Nginx Ingress Controller組件

在升級集群時,由于集群API版本的棄用,可能需要同步對Nginx Ingress Controller進(jìn)行版本升級。此外,考慮到舊版本的組件可能存在穩(wěn)定性風(fēng)險以及功能缺失,推薦您及時將Nginx Ingress Controller升級到最新版本。Nginx Ingress Controller使用了分階段升級的方式,需要您在升級過程中及時關(guān)注組件狀態(tài)以及業(yè)務(wù)情況,保證業(yè)務(wù)流量不會受損。

升級流程

Nginx Ingress Controller作為數(shù)據(jù)面的關(guān)鍵組件,對穩(wěn)定性有較高的要求。

由于新版本對Nginx Ingress Controller所做的自定義修改較多以及升級版本跨度較大,可能會導(dǎo)致部分配置不兼容。而且版本跨度大引起的配置不兼容,可能不會在升級后立即暴露出來,因此,一次性將組件升級到最新版本的風(fēng)險較高。

為了確保升級Nginx Ingress Controller后組件以及業(yè)務(wù)的正常運(yùn)行,升級將采用分階段的形式進(jìn)行。升級期間,可以對業(yè)務(wù)狀況進(jìn)行檢查,有問題也能夠及時回滾。

image

第一部分:前置檢查

前置檢查將會在組件升級開始之前自動進(jìn)行,以檢查組件當(dāng)前狀態(tài)是否滿足升級條件。如果組件存在不滿足升級條件的設(shè)置,或者處于不健康狀態(tài)時,將無法通過健康檢查,在完成問題的手動修復(fù)之前,無法繼續(xù)進(jìn)行升級。

第二部分:驗證階段

驗證階段會擴(kuò)容出1個新版本組件的Pod,驗證新版本組件的運(yùn)行狀態(tài)以及Ingress規(guī)則是否符合預(yù)期。擴(kuò)容成功后,一部分流量將會進(jìn)入該P(yáng)od,此時可以通過容器日志、SLS日志服務(wù)或阿里云Prometheus監(jiān)控服務(wù)來查看流量是否有異常。

驗證Pod擴(kuò)容成功后,升級流程會被暫停。在確認(rèn)組件和業(yè)務(wù)無異常后,即可手動確認(rèn)繼續(xù)進(jìn)行下一階段。若此時出現(xiàn)問題,也可以選擇回滾,刪除新版本Pod,終止升級流程。

該步是通過修改Deployment中的spec.minReadySecondsspec.strategy字段實現(xiàn)的。

第三部分:發(fā)布階段

發(fā)布階段將會進(jìn)行完整的滾動升級流程,將舊版本組件完全替換為新版本。在所有Pod更新完成后,升級流程會暫停,此時可以對組件和業(yè)務(wù)做最終的確認(rèn)。當(dāng)確認(rèn)無誤后,升級結(jié)束。若此時出現(xiàn)問題,也可以選擇回滾,將所有Pod重置回舊版本,并結(jié)束升級流程。

第四部分:回滾(可選)

在驗證階段或者發(fā)布階段后的暫停過程中,如果發(fā)現(xiàn)組件或業(yè)務(wù)出現(xiàn)異常,可以通過回滾來將組件恢復(fù)到升級前的初始狀態(tài)。

升級前須知

  • 在組件升級前,請確保擁有對業(yè)務(wù)流量的監(jiān)控手段,以便及時發(fā)現(xiàn)問題。您可以通過SLS日志服務(wù)或阿里云Prometheus服務(wù)來查看業(yè)務(wù)流量狀況。以上兩種觀測手段的配置,請參見Nginx Ingress訪問日志分析與監(jiān)控使用阿里云Prometheus監(jiān)控

  • 請確認(rèn)目前組件健康狀態(tài)正常,Pod均為Ready狀態(tài),沒有錯誤日志。

  • 請確認(rèn)沒有使用HPA等自動擴(kuò)縮容規(guī)則。如存在,請?zhí)崆皠h除,在升級完成后將其恢復(fù)。

  • 請確認(rèn)LoadBalancer Service狀態(tài)正常,沒有異常事件透出。

  • 在組件升級過程中,請勿對組件以及Ingress規(guī)則進(jìn)行任何修改。

  • 如果您的Nginx Ingress低于v0.44版本,在升級到高版本時,需要注意前綴匹配的差異,詳細(xì)信息請參見升級注意事項

操作步驟

  1. 登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群

  2. 集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇運(yùn)維管理 > 組件管理

  3. 組件管理頁面,找到Nginx Ingress Controller組件,單擊組件右下方的升級

  4. 在彈出的升級界面中,單擊開始并確認(rèn),開始升級流程。

    說明

    您可以在升級過程中的任何時間點(diǎn)退出該頁面,然后通過單擊組件管理頁面中的升級進(jìn)度重新回到流程中。

  5. 流程的第一階段需要進(jìn)行前置檢查。在完成前置檢查后,流程會自動進(jìn)入下一階段。

    若前置檢查不通過,可以通過前置檢查下的查看詳情跳轉(zhuǎn)到檢查報告頁面。然后根據(jù)未通過的檢查點(diǎn)排查問題,詳細(xì)信息,請參見前置檢查說明。問題解決后,可以單擊重試以重新開始升級流程。

  6. 驗證階段完成后,升級流程進(jìn)入暫停狀態(tài)。此時,需要對組件運(yùn)行狀態(tài)和業(yè)務(wù)狀態(tài)進(jìn)行驗證。關(guān)于驗證方法,請參見驗證階段說明

    • 若出現(xiàn)擴(kuò)容不成功的情況,請參見驗證和發(fā)布階段Pod擴(kuò)容失敗怎么辦?。也可以在集群中查看Pod啟動失敗的具體原因,并在解決之后單擊重試,重試該階段。

    • 若驗證業(yè)務(wù)出現(xiàn)問題,可以通過單擊回滾進(jìn)行回滾操作。回滾完成后,該升級流程將會結(jié)束,可以從組件管理中單擊升級重新開始。

  7. 驗證階段確認(rèn)一切正常后,單擊繼續(xù)進(jìn)入發(fā)布階段。發(fā)布階段滾動更新完成后,升級流程進(jìn)入暫停狀態(tài)。此時,需要對組件和業(yè)務(wù)狀態(tài)進(jìn)行最后一次確認(rèn)。若業(yè)務(wù)驗證出現(xiàn)問題,可以通過單擊回滾進(jìn)行回滾操作。回滾完成后,升級流程將會結(jié)束,可以從組件管理中單擊升級重新開始。

  8. 確認(rèn)組件運(yùn)行狀態(tài)和業(yè)務(wù)狀態(tài)均沒有異常后,單擊繼續(xù)結(jié)束升級流程。

    說明

    請控制整個升級流程的總時間不要超過一周。

前置檢查說明

前置檢查表

檢查項

檢查內(nèi)容

異常處理

Deployment存在

組件的Deployment(kube-system/nginx-ingress-controller)存在。

-

Deployment健康

組件的Deployment所控制的Pod全部處于Ready狀態(tài),且不處于滾動更新中等不穩(wěn)定狀態(tài)。

-

Pod錯誤日志

檢查Pod中最近200條日志,其中不存在Error或者Fatal級別的錯誤日志。

如果有日志存在,說明組件近期可能因為配置錯誤等原因出現(xiàn)異常報錯,需要在問題解決后重新進(jìn)行升級流程。根據(jù)日志解決問題,請參見Nginx Ingress異常問題排查

LoadBalancer Service健康

首先檢查Nginx Ingress Controller所對應(yīng)的LoadBalancer Service(kube-system/nginx-ingress-lb)是否存在。如果存在,會進(jìn)一步檢查該Service是否存在任何錯誤事件。

請注意,Service不存在也會被認(rèn)為該Service存在Warning事件。

當(dāng)Service不存在時,請參考使用須知及高危風(fēng)險操作說明文檔中 “在安裝Nginx Ingress Controller組件的情況下手動刪除 kube-system命名空間下的nginx-ingress-lbService” 對應(yīng)修復(fù)操作進(jìn)行修復(fù)。

Service存在但被檢查出異常事件時,可以根據(jù)事件內(nèi)容尋找解決方案,詳細(xì)信息,請參見Service異常事件及處理方式。當(dāng)Service不為LoadBalancer時,該項檢查會被跳過。

HPA

組件Deployment沒有使用HPA。使用HPA時,在組件升級過程中,可能會因為HPA的自動擴(kuò)縮容策略導(dǎo)致升級狀態(tài)被打亂。

在升級過程中,需要將HPA資源從集群中刪除,升級完成后,再重新啟用。

Deployment模板

組件的Deployment模板只能存在兼容的修改。

您之前對Nginx Ingress Controller Deployment所做的某些自定義配置或修改,在升級過程中可能無法自動保留。

  • 以下字段會在升級后得到保留,作為自定義參數(shù)填入新的組件模板中:

    • 副本數(shù)(replicas)

    • Pod標(biāo)簽(template.metadata.labels)

    • 節(jié)點(diǎn)選擇器(template.spec.nodeSelector)

    • 容忍(template.spec.tolerations)

    • Controller容器的資源限制(template.spec.containers[0].resources)

  • 以下字段不會影響到前置檢查,但會在升級后被丟棄:

    • Pod annotation(template.metadata.annotations)中的redeploy-timestamp。

    • Pod annotation中的kubectl.kubernetes.io/restartedAt。

    • Pod annotation中的scheduler.alpha.kubernetes.io/critical-pod。

    • 鏡像的imagePullPolicy。

    • template.spec.containers.securityContext.procMount為Default時,會被丟棄。

    • Webhook的相關(guān)配置(運(yùn)行參數(shù)、掛載卷、端口)。

上述模板更改不會導(dǎo)致檢查不通過。除此之外,無論是私自修改模板還是版本過舊、不符合升級條件,都會造成升級過程中的檢查環(huán)節(jié)無法通過,進(jìn)而影響升級的成功率。常見的檢查不通過的原因如下:

  • 使用了EDAS等插件掛載了自定義的Volume。您需要在升級過程中暫時停用EDAS的相關(guān)功能,在升級完成后恢復(fù)。

  • podAntiAffinity與標(biāo)準(zhǔn)模板出現(xiàn)差異,可能是由于組件模板變動(例如由required改為preferred)導(dǎo)致的。您需要先手動將podAntiAffinity修改為與標(biāo)準(zhǔn)模板一致。

  • 在指定獨(dú)占節(jié)點(diǎn)時使用了nodeAffinity,您需要更換為nodeSelector。

如果Deployment模板檢查失敗,您可以通過手動還原模板的方法解決該問題。具體操作,請參見Deployment模板檢查不通過

Ingress配置

集群內(nèi)的Ingress只存在兼容的特性。

如果集群內(nèi)的Ingress中使用了不兼容的特性,升級后可能會導(dǎo)致業(yè)務(wù)無法正常轉(zhuǎn)發(fā)流量,從而導(dǎo)致不可用的問題。確認(rèn)及修改問題,請參見下方升級兼容性說明

組件配置

組件ConfigMap(kube-system/nginx-configuration)中存在不兼容的配置

如果集群內(nèi)ConfigMap中使用了不兼容的特性,升級后可能會導(dǎo)致業(yè)務(wù)無法正常轉(zhuǎn)發(fā)流量,從而導(dǎo)致不可用的問題。確認(rèn)及修改問題,請參見下方升級兼容性說明

升級兼容性說明

在組件的開發(fā)和維護(hù)過程中,Nginx Ingress Controller組件的新版本可能會引入新的功能、改進(jìn)現(xiàn)有功能或者修復(fù)安全問題,但同時也可能因為內(nèi)部架構(gòu)的調(diào)整、依賴庫的變化等原因,導(dǎo)致與之前版本存在兼容性差異。關(guān)于Nginx Ingress Controller的變更記錄,請參見Nginx Ingress Controller

snippet注解默認(rèn)禁用

影響版本:v1.9.3-aliyun.1以下(不包括v1.9.3-aliyun.1)。

由于安全原因,自v1.9.3-aliyun.1版本起,Nginx Ingress Controller將默認(rèn)禁用所有snippet注解,可能包括:

  • nginx.ingress.kubernetes.io/configuration-snippet

  • nginx.ingress.kubernetes.io/server-snippet

  • nginx.ingress.kubernetes.io/stream-snippet

  • nginx.ingress.kubernetes.io/auth-snippet

  • nginx.ingress.kubernetes.io/modsecurity-snippet

出于安全和穩(wěn)定性風(fēng)險的考慮,建議您優(yōu)先使用相關(guān)注解或者設(shè)置項來實現(xiàn)所需功能。

如您仍需要使用snippet注解能力,請在充分評估風(fēng)險后,通過在ConfigMapkube-system/nginx-configuration中添加allow-snippet-annotations: "true"手動開啟注解功能。

不支持較低版本的TLS

影響版本:v1.7.0-aliyun.1以下(不包括v1.7.0-aliyun.1)。

由于TLS1.1及以下版本存在安全問題,Nginx Ingress Controller新版本不再默認(rèn)支持TLS v1.1和TLS v1.0的加密方式。因此,在升級前,請確保您的業(yè)務(wù)不依賴v1.1及以下版本的TLS,并且在配置中將其移除。修改ConfigMap后會立即生效。

例如,若Nginx Ingress Controller組件的ConfigMap(kube-system/nginx-configuration)配置如下所示:

ssl-protocols: SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2 TLSv1.3

您需要在確認(rèn)業(yè)務(wù)不受影響后,可直接將該行設(shè)置移除,使用默認(rèn)選項;或者選擇移除SSLv3、SSLv2、TLSv1、TLSv1.1四項,改為:

ssl-protocols: TLSv1.2 TLSv1.3

若您需要強(qiáng)制使用舊版本的TLS加密方式,請參見Ingress支持哪些SSL/TLS版本?進(jìn)行配置。

nginx.ingress.kubernetes.io/rewrite-target用法不兼容

影響版本:0.22.0以下(不包括0.22.0)。

  • 0.22.0版本對nginx.ingress.kubernetes.io/rewrite-target注解的用法做了修改。在0.22.0及以上版本,使用rewrite-target時,需要顯式指定捕獲組的使用。

  • 0.22.0版本以下的rewrite-target特性和最新版本的rewrite-target特性不兼容,在組件升級前,可以使用configuration-snippet代替rewrite-target注解。

例如,在0.22.0以下版本,規(guī)則為:

展開查看完整YAML示例代碼

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
  name: rewrite
  namespace: default
spec:
  rules:
  - host: rewrite.bar.com
    http:
      paths:
      - path: /something/
        pathType: Prefix
        backend:
          service:
            name: http-svc
            port:
              number: 80
      - path: /something123/
        pathType: Prefix
        backend:
          service:
            name: http-svc-1
            port:
              number: 80

需修改為:

展開查看完整YAML示例代碼

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    # 使用rewrite指令,/something為path中路徑(不包含尾部的斜杠)。
    # Ingress中包含多個路徑,需要添加多條rewrite指令。
    nginx.ingress.kubernetes.io/configuration-snippet: |
      rewrite "(?i)/something(/|$)(.*)" /$2 break;
      rewrite "(?i)/something123(/|$)(.*)" /$2 break;
  name: rewrite
  namespace: default
spec:
  rules:
  - host: rewrite.bar.com
    http:
      paths:
      - path: /something/ # 和舊版本Ingress資源的路徑保持一致。
        pathType: Prefix
        backend:
          service:
            name: http-svc
            port:
              number: 80
      - path: /something123/ # 和舊版本Ingress資源的路徑保持一致。
        pathType: Prefix
        backend:
          service:
            name: http-svc-1
            port:
              number: 80

修改為上述格式后,即可正常進(jìn)行升級流程。升級完成后,將Ingress修改為新版的用法即可。

YAML

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    # 引用匹配的內(nèi)容。
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  name: rewrite
  namespace: default
spec:
  rules:
  - host: rewrite.bar.com
    http:
      paths:
      # 使用捕獲組。
      - path: /something(/|$)(.*)
        pathType: Prefix
        backend:
          service:
            name: http-svc
            port:
              number: 80
      # 使用捕獲組。
      - path: /something123(/|$)(.*)
        pathType: Prefix
        backend:
          service:
            name: http-svc-1
            port:
              number: 80

驗證階段說明

驗證組件及業(yè)務(wù)狀態(tài)

除自身所擁有的業(yè)務(wù)監(jiān)控能力外,ACK也提供了SLS日志、阿里云Prometheus大盤和容器自身的日志來觀測Nginx Ingress Controller的運(yùn)行狀態(tài)。開啟上述服務(wù),請參見Nginx Ingress訪問日志分析與監(jiān)控使用阿里云Prometheus監(jiān)控

SLS日志服務(wù)

您可以在容器服務(wù)控制臺查看通過SLS收集的日志。

  1. 登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄單擊集群

  2. 集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇運(yùn)維管理 > 日志中心

  3. 選擇應(yīng)用日志頁簽,在日志庫下拉框中選擇nginx-ingress,單擊選擇日志庫

    說明

    若您的日志庫中沒有nginx-ingress條目,請確認(rèn)是否配置了組件的日志收集功能。詳細(xì)信息,請參見Nginx Ingress訪問日志分析與監(jiān)控

在展示的日志中,可以看到應(yīng)用的訪問日志,也可以在查詢語句中指定對應(yīng)的Pod(如新版本組件的Pod)來只查看該P(yáng)od的訪問日志。需要注意新Pod的請求成功率是否無異常,以及請求數(shù)對比舊Pod是否一致。若數(shù)據(jù)差距較大,可選擇回滾操作。

說明

當(dāng)請求沒有命中任何Ingress規(guī)則,返回404時,默認(rèn)將不會記錄訪問日志。

10

阿里云Prometheus大盤

您可以通過阿里云Prometheus服務(wù)提供的大盤,來觀測組件整體的請求情況。

  1. 登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄單擊集群

  2. 集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇運(yùn)維管理 > Prometheus監(jiān)控

  3. 單擊網(wǎng)絡(luò)監(jiān)控頁簽,然后單擊集群ingress流量監(jiān)控

    說明

    若監(jiān)控中沒有集群ingress流量監(jiān)控,請確認(rèn)是否配置了組件的Prometheus Metrics搜集功能。詳細(xì)信息,請參見使用阿里云Prometheus監(jiān)控

在大盤中可以看到Ingress的各項運(yùn)行指標(biāo),也可以通過選擇對應(yīng)的Pod來查看該P(yáng)od的指標(biāo)。同樣,需要注意的是新的Pod請求成功率是否有異常,以及請求數(shù)與舊Pod是否一致。若數(shù)據(jù)差距較大,可選擇回滾操作。

說明

Ingress規(guī)則中沒有指定Host(默認(rèn)為通配符“*”)的規(guī)則默認(rèn)不會記錄Metrics。

Pod日志

您可以通過kubectl,以命令行的形式訪問Pod日志,來查看是否存在錯誤。

  • 執(zhí)行以下命令,查看Pod中Nginx的錯誤日志,包括warn、error和crit三個級別。

    kubectl logs -n kube-system <Pod名稱> | grep -e warn -e error -e crit
  • 執(zhí)行以下命令,查看Pod中Controller的錯誤日志。

    kubectl logs -n kube-system <Pod名稱> | grep "^[EF]"

升級注意事項

在低版本的Nginx Ingress Controller升級到高版本時,由于高版本在前綴匹配邏輯上有所變化,需要關(guān)注路徑path配置與實際請求URL的是否一致,否則可能會導(dǎo)致原本正常的請求出現(xiàn)404錯誤。

已知問題

在Nginx Ingress Controller的不同版本中,前綴匹配邏輯可能存在差異,這可能導(dǎo)致服務(wù)訪問問題。

  • 在低版本(v0.44之前)的Nginx Ingress Controller中,前綴匹配的規(guī)則較為寬松,允許如/aaa/bbb的配置,可以匹配請求的URL/aaa/bbbbb

  • 升級到高版本后,前綴匹配的邏輯可能會變得更加嚴(yán)格,只匹配精確的請求路徑,這可能導(dǎo)致原本應(yīng)匹配的路徑/aaa/bbbbb不再匹配,從而引發(fā)404錯誤。

影響范圍

受影響的版本為Nginx Ingress版本低于v0.44。關(guān)于Nginx Ingress Controller版本記錄,請參見Nginx Ingress Controller。相關(guān)PR信息請參見kubernetes/ingress-nginx #6443

示例配置

您可以根據(jù)以下的YAML配置比較低版本(如v0.22.0.5-552e0db-aliyun)和高版本(如v1.2.1-aliyun.1+)渲染出Nginx配置的之間的差異。

  apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    labels:
      ingress-controller: nginx
    name: test
    namespace: default
  spec:
    ingressClassName: nginx
    rules:
    - host: www.example.com
      http:
        paths:
        - backend:
            service:
              name: api-resources-svc
              port:
                number: 8080
          path: /api/resource
  • 低版本行為

    在低版本Nginx Ingress(如v0.22.0.5-552e0db-aliyun)中,對應(yīng)的Nginx配置:

    Location /api/resource   ## 沒有結(jié)尾的 "/"

    在上面的配置中,使用的路徑/api/resource在低版本Nginx中允許通過http://www.example.com/api/resources進(jìn)行訪問。

    說明

    實際訪問路徑是resources而不是resource。

  • 高版本行為

    若將Nginx Ingress Controller升級到高版本(如v1.2.1-aliyun.1+),對應(yīng)的Nginx配置:

    Location /api/resource/  # 增加了結(jié)尾的 "/"
    {
    }
    ...
    Location = /api/resource  # 增加了一個 Location 進(jìn)行精確匹配
    {
    }

    訪問http://www.example.com/api/resources將返回404錯誤。

常見問題

Nginx Ingress Controller是否支持升級至指定的版本?升級成功后,還能回退到之前的某個版本嗎?

Nginx Ingress Controller組件不支持升級到指定版本,采用分階段的形式進(jìn)行升級,直至將組件升級到最新的版本。升級成功后無法回退。

驗證和發(fā)布階段Pod擴(kuò)容失敗怎么辦?

問題原因

解決方案

新版本Pod啟動時出現(xiàn)錯誤(如配置加載失敗等),導(dǎo)致一直處于crash狀態(tài)。

根據(jù)上方Pod日志部分提供的方法,查看對應(yīng)Pod錯誤日志。定位及解決問題,請參見Nginx Ingress異常問題排查

常見于使用專屬節(jié)點(diǎn)部署Nginx Ingress Controller的情況。當(dāng)新的Pod擴(kuò)容時,會因為所配置的資源限制和節(jié)點(diǎn)選擇器,導(dǎo)致無可用節(jié)點(diǎn)能夠調(diào)度新的Pod。

臨時擴(kuò)容節(jié)點(diǎn),或在業(yè)務(wù)低峰期縮容Nginx Ingress Controller再進(jìn)行升級,使得在升級時Pod能夠正常調(diào)度。

Deployment模板檢查不通過怎么辦?

如果在前置檢查過程中,您的Deployment模板檢查不通過,請單擊異常原因右側(cè)的鏈接,進(jìn)入組件差異展示頁面,查看檢查不通過的字段。

  1. Nginx Ingress Controller 組件升級頁面的前置檢查下方,單擊查看詳情

  2. 檢查報告頁面的集群組件檢查結(jié)果區(qū)域,單擊①處的紅色方框查看檢查結(jié)果,然后在檢查結(jié)果頁面單擊Deployment 模板,最后單擊②處異常原因右側(cè)的鏈接。

    image..png

  3. 進(jìn)入組件差異展示頁面,查看檢查不通過的字段。

    在組件差異頁面,會展示出該版本組件的標(biāo)準(zhǔn)模板(左側(cè))和當(dāng)前集群中的組件模板(右側(cè))的對比展示。組件差異頁面會標(biāo)出兩者之間的全部差異,包括兼容和不兼容的字段,并在差異展示的下方,會標(biāo)出集群中組件是否通過差異檢查,以及不兼容的差異字段的具體路徑。

    如下圖所示,下方提示存在一處差異,差異字段為.spec.template.spec.containers.(nginx-ingress-controller).args(括號中的內(nèi)容為數(shù)組中元素的name字段)。通過組件差異對比,發(fā)現(xiàn)args中--v=2被修改為了--v=3,需要在升級前進(jìn)行修正。

    image..png

  4. 修改差異字段。

    選擇工作負(fù)載>無狀態(tài),找到Nginx Ingress Controller組件,單擊更多>查看YAML,在編輯YAML頁面中將args字段中的--v=3修改為--v=2

  5. 將差異字段修改后,您也可以重新進(jìn)入或刷新組件差異展示頁面,查看最新的對比結(jié)果。當(dāng)頁面底部提示組件可通過差異檢測時,即可通過Deployment模板檢查點(diǎn)。

    說明

    修改集群內(nèi)Deployment過程中,Nginx Ingress Controller Pod會重啟,建議您在業(yè)務(wù)低峰期進(jìn)行相關(guān)操作。

    image..png

相關(guān)文檔