本文介紹阿里雲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叢集中運行定時任務,任務結束後停止計費。無需維護固定資源集區,避免資源閑置浪費。更多資訊,請參見容器定時伸縮(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群。