共用方式為


針對節點未就緒失敗進行疑難解答,如果有過期的憑證

本文可協助您針對Microsoft Azure Kubernetes Service (AKS) 叢集中的節點未就緒案例進行疑難解答,如果有過期的憑證。

必要條件

徵兆

您發現 AKS 叢集節點處於 [節點未就緒] 狀態。

原因

有一或多個過期的憑證。

預防:執行 OpenSSL 簽署憑證

叫用 openssl-x509 命令來檢查憑證的到期日,如下所示:

  • 針對虛擬機 (VM) 擴展集節點,請使用 az vmss run-command invoke 命令:

    az vmss run-command invoke \
        --resource-group <resource-group-name> \
        --name <vm-scale-set-name> \
        --command-id RunShellScript \
        --instance-id 0 \
        --output tsv \
        --query "value[0].message" \
        --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate"
    
  • 針對 VM 可用性設定組節點,請使用 az vm run-command invoke 命令:

    az vm run-command invoke \
        --resource-group <resource-group-name> \
        --name <vm-availability-set-name> \
        --command-id RunShellScript \
        --output tsv \
        --query "value[0].message" \
        --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate"
    

叫用這些命令之後,您可能會收到某些錯誤碼。 如需錯誤碼 50、51 和 52 的相關信息,請參閱下列連結,視需要:

如果您收到錯誤碼 99,這表示 apt-get 更新 命令遭到封鎖,無法存取下列一或多個網域:

  • security.ubuntu.com
  • azure.archive.ubuntu.com
  • nvidia.github.io

若要允許存取這些網域,請更新任何封鎖防火牆、網路安全性群組 (NSG) 或網路虛擬設備 (NVA) 的組態。

解決方案:輪替憑證

您可以套用 憑證自動輪替 ,以在節點中輪替憑證到期之前。 此選項不需要停機 AKS 叢集。

如果可以容納叢集停機時間,您可以 改為手動輪替憑證

注意

從 2021 年 7 月 15 日開始,AKS 叢集升級會自動協助輪替叢集憑證。 不過,此行為變更不會對過期的叢集憑證生效。 如果升級只採取下列動作,將不會更新過期的憑證:

  • 升級節點映像。
  • 將節點集區升級為相同版本。
  • 將節點集區升級至較新版本。

只有完整升級(也就是控制平面和節點集區的升級)有助於更新過期的憑證。

其他相關資訊