全部產品
Search
文件中心

Container Service for Kubernetes:(停止維護)ACK發布Kubernetes 1.20版本說明

更新時間:Dec 07, 2024

阿里雲Container ServiceACK嚴格遵循社區一致性認證。本文介紹ACK發布Kubernetes 1.20版本所做的變更說明。

版本升級說明

ACK針對Kubernetes 1.20版本提供了全鏈路的組件最佳化和升級。

核心組件

版本號碼

升級注意事項

Kubernetes

1.20.11

  • 當您的ACK叢集升級到1.20及以上Kubernetes版本前,請確保叢集內部署的Admission Webhook組件自簽發的服務端認證已經包含必要的SAN欄位。更多資訊,請參見Helm Chart配置樣本

  • 刪除selfLink欄位,不再支援。更多資訊,請參見Stop setting SelfLink in kube-apiserver

    如果您的業務依賴selfLink,需提前處理。如安裝了開源nfs-client-provisioner,需提前升級組件至不依賴selfLink的版本。

  • 對於專有版的Master節點標籤,ACK預設使用node-role.kubernetes.io/control-plane,同時在後續版本(不包含1.20)廢棄使用node-role.kubernetes.io/master

  • 若您的叢集使用FlexVolume儲存外掛程式且安裝了alicloud-nas-controller組件,在將低版本叢集升級至Kubernetes 1.20版本前,請將alicloud-nas-controller的鏡像升級到v1.14.8.17-7b898e5-aliyun或更高版本。同時,由於FlexVolume儲存外掛程式已經棄用,建議您將FlexVolume遷移至CSI外掛程式。具體操作,請參見遷移Flexvolume至CSI

Docker Runtime

19.03.5

Containerd Runtime

1.4.4

etcd

3.4.3

CSI

v1.26

CoreDNS

1.7.0

  • 新版本刪除了對已棄用外掛程式Upstream的相容。如果Corefile配置項中包含Upstream外掛程式,Upstream外掛程式會在升級過程中被安全、自動地刪除。

  • 更新指標(Metrics)名稱。如果您的監控系統依賴於CoreDNS指標,請注意修改。更多資訊,請參見Metric Changes

NVIDIA Container Runtime

3.4.1

版本解讀

資源變更與棄用

  • 【棄用】廢棄Docker運行時:Docker運行時的支援在1.20被標記為廢棄,目前您可以繼續在叢集中使用Docker。社區計劃在後續版本中移除。該變動與叢集所使用的容器鏡像(Image)無關。您依然可以使用Docker構建您的鏡像。更多資訊,請參見Dockershim Deprecation FAQ

  • 【棄用】對於專有版的Master節點標籤,ACK預設使用node-role.kubernetes.io/control-plane,同時在後續版本(不包含1.20)廢棄使用node-role.kubernetes.io/master

  • 【棄用】刪除selfLink欄位,不再支援。更多資訊,請參見Stop setting SelfLink in kube-apiserver

  • 【棄用】Ingress和IngressClass資源的extensions/v1beta1 API和networking.k8s.io/v1beta1 API已經廢棄,並且會在1.22版本之後被移除。請使用networking.k8s.io/v1替代。

    說明

    由於ACK中預設使用的Nginx Ingress Controller組件的限制,ACK中Ingress和IngressClass資源的networking.k8s.io/v1beta1 API可以正常被使用。

  • 【變更】叢集內部署的Admission Webhook組件自簽發的服務端認證需包含必要的SAN欄位。當您的ACK叢集升級到1.20及以上Kubernetes版本前,請確保叢集內部署的Admission Webhook組件自簽發的服務端認證已經包含必要的SAN欄位。更多資訊,請參見Helm Chart配置樣本

功能增強

  • kubelet修複探測逾時時間對EXEC探測方式不準的問題。修複之後預設的EXEC探測方式的探測逾時時間預設為1秒(逾時時間較短)。如果您未對EXEC探測方式的探測逾時時間設定特定值,建議您加上此配置。

  • API優先順序和公平性( APF )是Kubernetes預設開啟的測試版(Beta)特性。您可以通過此特性對不同的請求進行限制和優先順序劃分。更多資訊,請參見API Priority and Fairness

  • 端點切片(Endpoint Slices)特性預設啟動。從1.19開始,kube-proxy預設啟用Endpoint Slices,支援更大規模的叢集。更多資訊,請參見endpoint-slices

  • 不可修改ConfigMap和Secret。不可修改ConfigMap和Secret特性進入測試版(Beta)。如果設定ConfigMap或Secret為不可變,將不再允許修改,以降低kube-apiserver壓力。更多資訊,請參見Immutable ConfigMaps

ACK對Kubernetes 1.20版本的增強

管控面增強

  • 觀測性:對Request、Watch等機制增加了諸多指標(Metrics),增加了Master組件的可觀測性。

  • 穩定性:增加對儲存層(etcd)的保護,避免了叢集啟動時,過多請求直接穿透到etcd,增強了系統的穩定性。

  • 效能最佳化:通過增加索引,加速了List請求,減少kube-apiserver CPU消耗。

Windows容器增強

  • 支援並預設開啟端點切片(Endpoint Slices)。

  • 支援Device Plugin。更多資訊,請參見Device Plugins

效能最佳化

KubeProxy:1.20.11版本中KubeProxy相容了Alibaba Cloud Linux2(kernel-4.19.91-23)及以上的版本,在開啟IPVS模式時,不設定conn_reuse_mode為0。更多資訊,請參見IPVS

參考連結