本文介紹阿里雲Container Service Serverless 版的產品簡介、核心優勢、與ACK叢集對比、應用情境、核心功能等資訊,協助您快速瞭解ACK Serverless叢集。
產品簡介
從2025年02月17日起,阿里雲Container Service Serverless 版將對尚未建立過叢集的新使用者關閉建立叢集的入口。您可以通過Container Compute Service (ACS)使用Serverless容器算力,ACS叢集能夠支援企業級K8s容器化應用的全生命週期管理,為您提供更強大的功能和更便捷的服務。關於ACS的詳細介紹,請參見ACS產品簡介。
對於尚未建立過ACK Serverless叢集的新使用者,我們已關閉建立ACK Serverless叢集的入口。您可以通過以下方式使用Serverless容器算力:
建立ACS叢集,並在其中使用Serverless容器算力。詳細操作,請參見建立ACS叢集。
在ACK託管叢集Pro版中按需彈性使用Serverless容器算力。詳細操作,請參見通過ACK託管叢集Pro版使用ACS算力。
對於正在使用ACK Serverless叢集的存量使用者,您現有ACK Serverless叢集的使用以及在預設額度內的建立操作不受此次變更的任何影響,您可以繼續按照現有的協助文檔正常進行相關操作,無需擔心業務中斷或調整。
關於此次調整的詳細內容,請參見【產品變更】關於ACK Serverless叢集對新使用者關閉建立入口的公告。
Container Service Serverless 版是阿里雲推出的無伺服器Kubernetes容器服務。在Container Service Serverless 版提供的ACK Serverless叢集中,您無需購買節點即可直接部署容器應用,無需對叢集進行節點維護和容量規劃,並且根據應用配置的CPU和記憶體資源量進行按需付費。ACK Serverless叢集提供完善的Kubernetes相容能力,同時降低了Kubernetes使用門檻,讓您更專註於應用程式,而不是管理底層基礎設施。
ACK Serverless叢集包括ACK Serverless叢集基礎版和ACK Serverless叢集Pro版。ACK Serverless叢集Pro版是在ACK Serverless叢集基礎版的基礎上,針對企業大規模生產環境進一步增強了可靠性、安全性,並且提供可賠付SLA的ACK Serverless叢集。關於ACK Serverless叢集Pro版的更多資訊,請參見叢集概述。
核心優勢
核心優勢 | 說明 |
開箱即用 | 低門檻快速建立叢集,無需管理Kubernetes節點和伺服器即可直接部署應用。 |
超大容量 | 叢集無需額外配置即可輕鬆獲得最多50,000個Pod容量,無需提前規劃容量。 重要 在Pod大量關聯 Service的情況下,建議保持在20,000個以內。 |
秒級彈性 | 始終確保在極短時間內建立出數千Pod,無需擔心突發業務流量因Pod建立時延受到影響。 |
彈性預測 | 依據歷史預測資源用量提前準備,突發業務流量處理更加平滑。 |
原生相容 | 完善的Kubernetes相容性,支援原生Kubernetes應用和生態,無縫遷移Kubernetes應用。 |
安全隔離 | Pod基於ECI服務建立,每個容器執行個體底層通過輕量級虛擬化安全沙箱技術完全強隔離,容器執行個體間互不影響。 |
降低成本 | 應用按需建立,隨用隨付,不運行不計費,沒有資源閑置費用,同時Serverless帶來更低的營運成本。 |
服務整合 | 支援容器應用與阿里雲基礎服務無縫整合;支援容器與虛擬機器應用的互聯互連。 |
豐富的產品層次能力,支援更高等級可靠性、SLA和更大叢集容量。支援基礎版無縫遷移到Pro版。 |
ACK Serverless叢集與ACK叢集的對比
如下圖所示,左側為ACK叢集,右側為ACK Serverless叢集。
應用情境
應用情境 | 說明 |
應用託管 | ACK Serverless叢集中無需管理和維護節點,無需容量規劃,極大降低業務的基礎設施管理和營運成本。 |
突發業務 | 對於有明顯的波峰波穀特徵的業務負載,例如線上教育、電子商務等行業,ACK Serverless叢集的秒級伸縮能力可以顯著降低計算成本,減少閑置資源浪費,平滑應對突發流量高峰。更多資訊,請參見Auto Scaling概述。 |
資料計算 | 面對Spark等資料計算需求,ACK Serverless叢集可以在短時間內啟動大量Pod及時處理任務,計算結束時Pod自動釋放停止計費,極大降低整體計算成本。更多資訊,請參見通過ACK Serverless建立Spark計算任務。 |
CI/CD | 基於ACK Serverless叢集搭建Jenkins或Gitlab-Runner等持續整合環境,並快速完成應用源碼編譯、鏡像構建和推送以及應用部署的流水線,各持續整合任務之間安全隔離互不影響,同時無需維護固定資源集區,降低計算成本。更多資訊,請參見在ACK Serverless叢集中部署Jenkins並完成應用構建和部署、ACK Serverless彈性低成本CI/CD。 |
定時任務 | 在ACK Serverless叢集中運行定時任務,任務結束後停止計費。無需維護固定資源集區,避免資源閑置浪費。更多資訊,請參見容器定時伸縮(CronHPA)。 |
核心功能
ACK Serverless叢集提供完善的Kubernetes相容性,除原生Kubernetes功能外,建議您在將生產業務部署到ACK Serverless叢集前關注如下功能。
ECI Profile
ACK Serverless叢集底層基於ECI服務來運行Pod,通過配置ECI Profile,您可以更加細粒度地控制Pod及Pod相關的叢集行為。ECI Profile本質是位於kube-system命名空間下的名為eci-profile的ConfigMap,主要欄位說明如下:
欄位 | 說明 |
vpcId | Pod所在專用網路的唯一標識。 |
securityGroupId | 專有安全性群組的唯一標識。 |
vSwitchIds | 專用網路內交換器的唯一標識,可配置多個半形逗號(,)間隔。虛擬節點將基於交換器產生。 |
selectors | Pod選取器。支援基於命名空間和Label選擇Pod,並自動追加Annotation或Label。 |
enableClusterIp | 是否啟用ClusterIP。預設為true。 |
enableLogController | 是否啟用阿里雲日誌控制器。預設為false。 |
enablePVCController | 是否啟用PVC控制器。預設為false。 |
enablePrivateZone | 是否啟用PrivateZone服務發現能力。預設為false。 |
featureGates | 不穩定功能門禁開關。 |
更多詳細說明,請參見ECI執行個體概述。
虛擬節點
使用ACK Serverless叢集時,您無需再管理節點,但為了保持與原生Kubernetes的相容性,您仍可以在叢集中看到虛擬節點。虛擬節點擁有超大的計算資源容量,讓ACK Serverless叢集獲得極大的彈效能力,而不必擔心突發業務流量。虛擬節點依據eci-profile ConfigMap中的vSwitchIds
產生,本身不佔用任何計算資源。
Pod配置
在ACK Serverless叢集中建立Pod,您可以通過添加Annotation來定製Pod,詳情請參見下表:
下表列舉的Annotation僅適用於建立到虛擬節點上的Pod(即ECI執行個體),調度到普通節點上的Pod不受這些Annotation影響。
Annotation請添加在Pod的
metadata
下,例如:配置Deployment時,Annotation需添加在spec.template.metadata
下。Pod Annotation的優先順序高於ECI Profile中配置的相同功能。
參數 | 樣本值 | 描述 | 相關文檔 |
k8s.aliyun.com/eci-security-group | sg-bp1dktddjsg5nktv**** | 安全性群組ID。 | |
k8s.aliyun.com/eci-vswitch | vsw-bp1xpiowfm5vo8o3c**** | 交換器ID,支援指定多個交換器實現多可用性區域功能。 | |
k8s.aliyun.com/eci-schedule-strategy | vSwitchOrdered | 多可用性區域調度策略。取值範圍:
| |
k8s.aliyun.com/eci-ram-role-name | AliyunECIContainerGroupRole | RAM角色,賦予ECI訪問阿里雲產品的能力。 | |
k8s.aliyun.com/eci-use-specs | 2-4Gi,4-8Gi,ecs.c6.xlarge | ECI執行個體規格,支援指定多規格,包括指定vCPU和記憶體,或者ECS規格。 | |
k8s.aliyun.com/eci-spot-strategy | SpotAsPriceGo | 搶佔式執行個體策略。取值範圍:
| |
k8s.aliyun.com/eci-spot-price-limit | 0.5 | 搶佔式執行個體價格。 說明 僅當k8s.aliyun.com/eci-spot-strategy設定為SpotWithPriceLimit時有效。 | |
k8s.aliyun.com/eci-cpu-option-core | 2 | CPU物理核心數。 | |
k8s.aliyun.com/eci-cpu-option-ht | 1 | 每核線程數。 | |
k8s.aliyun.com/eci-reschedule-enable | "true" | 是否開啟ECI重調度。 | |
k8s.aliyun.com/pod-fail-on-create-err | "true" | 建立失敗的ECI執行個體是否體現Failed狀態。 | |
k8s.aliyun.com/eci-image-snapshot-id | imc-2zebxkiifuyzzlhl**** | 指定鏡像緩衝ID。 說明 使用鏡像緩衝支援手動指定和自動匹配兩種方式,建議使用自動匹配方式。 | |
k8s.aliyun.com/eci-image-cache | "true" | 自動匹配鏡像緩衝。 說明 使用鏡像緩衝支援手動指定和自動匹配兩種方式,建議使用自動匹配方式。 | |
k8s.aliyun.com/acr-instance-id | cri-j36zhodptmyq**** | ACR企業版執行個體ID。 支援跨地區指定ACR企業版執行個體,此時需在執行個體ID前加上所屬地區,例如"cn-beijing:cri-j36zhodptmyq****"。 | |
k8s.aliyun.com/eci-eip-instanceid | eip-bp1q5n8cq4p7f6dzu**** | EIP執行個體ID。 | |
k8s.aliyun.com/eci-with-eip | "true" | 是否自動建立並綁定EIP。 | |
k8s.aliyun.com/eip-bandwidth | 5 | EIP頻寬。 | |
k8s.aliyun.com/eip-common-bandwidth-package-id | cbwp-2zeukbj916scmj51m**** | 共用頻寬包ID。 | |
k8s.aliyun.com/eip-isp | BGP | EIP線路類型,僅隨用隨付的EIP支援指定。取值範圍:
| |
k8s.aliyun.com/eip-internet-charge-type | PayByBandwidth | EIP的計量方式。取值範圍:
| |
k8s.aliyun.com/eci-enable-ipv6 | "true" | 是否綁定一個IPv6地址。 | |
k8s.aliyun.com/eci-ipv6-bandwidth-enable | "true" | 是否開通ECI的IPv6公網通訊能力。 | |
k8s.aliyun.com/eci-ipv6-bandwidth | 100M | 設定IPv6地址的公網頻寬峰值。 | |
kubernetes.io/ingress-bandwidth | 40M | 入方向頻寬。 | |
kubernetes.io/egress-bandwidth | 20M | 出方向頻寬。 | |
k8s.aliyun.com/eci-extra-ephemeral-storage | 50Gi | 臨時儲存空間大小。 | |
k8s.aliyun.com/eci-eviction-enable | "true" | 設定自動驅逐臨時儲存空間不足的ECI Pod。 | |
k8s.aliyun.com/eci-core-pattern | /pod/data/dump/core | Core dump檔案儲存目錄。 | |
k8s.aliyun.com/eci-ntp-server | 100.100.*.* | NTP Server。 | |
k8s.aliyun.com/plain-http-registry | "harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80" | 自建鏡像倉庫地址。 使用HTTP協議的自建鏡像倉庫中的鏡像建立ECI執行個體時,需配置該參數,使ECI使用HTTP協議拉取鏡像,避免因協議不同而導致鏡像拉取失敗。 | |
k8s.aliyun.com/insecure-registry | "harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80" | 取值為自建鏡像倉庫地址。 使用自簽發認證的自建鏡像倉庫中的鏡像建立ECI執行個體時,需配置該參數來跳過認證認證,避免因認證認證失敗而導致鏡像拉取失敗。 |
更多詳細說明,請參見ECI Pod Annotation。
網路管理
叢集中的ECI Pod預設使用Host網路模式,佔用交換器vSwitch的一個彈性網卡ENI資源,與VPC內的ECS、RDS互聯互連。
類型 | 說明 |
Service |
|
Ingress |
|
服務發現 | 如果您的叢集內部應用需要Service的服務發現功能,請在建立叢集時開啟PrivateZone或CoreDNS。您也可以在叢集建立後通過ECI Profile開啟PrivateZone或通過組件管理安裝CoreDNS組件。 |
Elastic IP Address | 支援給ECI Pod掛載EIP,可自動建立或者綁定到已有的EIP執行個體。 |
儲存管理
Pod支援掛載阿里雲Block Storage和檔案儲存體。
儲存方式 | 說明 |
阿里雲Block Storage(Disk) |
|
阿里雲Apsara File Storage NAS |
|
可觀測性
功能 | 說明 |
日誌 | 在ACK Serverless叢集中,您可以通過編輯eci-profile來啟用Log Service,之後將開始收集Pod日誌,詳情請參見通過Pod環境變數採集應用日誌。 |
監控 | 您可以通過組件安裝arms-prometheus組件啟用叢集監控,詳情請參見阿里雲Prometheus監控。 |
鏡像管理
ACK Serverless叢集支援通過ImageCache來加速建立Pod,這對快速響應您的業務至關重要。關於如何為Pod啟用ImageCache,請參見使用ImageCache。
當您在ACK Serverless叢集中建立Pod使用的鏡像來自ACR,還可以通過配置ACR企業版免密來簡化配置。
Auto Scaling
ACK Serverless叢集中沒有真實節點,所以無需考慮節點的容量規劃,也無需考慮基於cluster-autoscaler的節點擴容,您只需要關注應用的按需擴容。建議您配置HPA或者CronHPA策略進行Pod的靈活按需擴容,詳情請參見Auto Scaling概述。
授權管理
如果您的業務Pod需要訪問阿里雲雲產品,您可以通過配置RRSA(RAM Roles for Service Accounts)來通過雲產品鑒權。
叢集管理
類型 | 說明 |
智能營運 | 您可以通過智能營運來定期檢查ACK Serverless叢集的健康度,或者進行叢集升級或遷移的前置檢查。 |
升級 | ACK Serverless叢集支援叢集無縫升級,您無需擔心業務受影響。 |
Pro版 | 提供更高等級可靠性、SLA和更大叢集容量。 |
遷移 | 支援將試用體驗或者早期的ACK Serverless叢集基礎版無縫遷移到ACK Serverless叢集Pro版以獲得更高等級保證。 |
組件管理
ACK Serverless叢集提供多種類型的組件以擴充叢集功能,您可以根據業務需求部署、升級和卸載組件。具體操作,請參見管理組件。
組件託管
為簡化叢集營運,讓您更專註於應用程式,ACK Serverless叢集提供部分系統組件託管能力。例如,在ACK Serverless叢集中建立的Kubernetes核心組件會被託管,包括Kube Scheduler、Cloud Controller Manager、Kube Controller Manager和Kube API Server等。除Kubernetes核心組件外,ACK Serverless叢集會逐步上線儲存、網路、監控等系統組件的託管形態。
組件託管後仍會在叢集中建立ClusterRole、ClusterRoleBinding、ServiceAccount、Service、ConfigMap等對象,這些對象不會佔用實際的ECI資源。為確保叢集正常運行,請勿修改這些對象。
託管組件由ACK Serverless叢集負責部署和維護,但您仍可以在ACK Serverless叢集中使用相同的API與組件進行互動。託管組件具有如下優勢:
不佔用您賬戶下的ECI執行個體資源,節約開銷。
無需自行部署和維護,自動化機制會確保組件處於最佳運行狀態。
支援高可用架構。
應用管理
支援在Container Service管理主控台通過應用市場安裝Helm應用,並通過Helm頁面進行管理。具體操作,請參見使用Helm簡化應用部署。
計費說明
ACK Serverless叢集分為ACK Serverless叢集基礎版和ACK Serverless叢集Pro版,不同類型叢集的計費項目和計費標準不同,詳情請參見計費說明。
使用限制
使用ACK Serverless叢集前,需要注意以下使用限制:
不支援DaemonSet型工作負載。您可以通過將DaemonSet重新設定為Pod的Sidecar容器來運行。
不支援在Pod
manifest
中指定HostPath
和HostNetwork
。不支援Privileged特權容器。您可以使用Security Context為Pod添加Capability。
說明特權容器功能正在內測中。如需體驗,請提交工單申請。
不支援NodePort類型的Service,不支援配置Session Affinity。
不支援深圳金融雲,不支援政務雲。
聯絡我們
歡迎您使用DingTalk搜尋DingTalk群號31544226加入ACK Serverless叢集DingTalk群。