全部產品
Search
文件中心

Container Service for Kubernetes:什麼是Container Service Serverless 版

更新時間:Feb 18, 2025

本文介紹阿里雲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容器算力:

    1. 建立ACS叢集,並在其中使用Serverless容器算力。詳細操作,請參見建立ACS叢集

    2. 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帶來更低的營運成本。

服務整合

支援容器應用與阿里雲基礎服務無縫整合;支援容器與虛擬機器應用的互聯互連。

Pro版叢集

豐富的產品層次能力,支援更高等級可靠性、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。

配置ECI執行個體所屬安全性群組

k8s.aliyun.com/eci-vswitch

vsw-bp1xpiowfm5vo8o3c****

交換器ID,支援指定多個交換器實現多可用性區域功能。

多可用性區域建立執行個體

k8s.aliyun.com/eci-schedule-strategy

vSwitchOrdered

多可用性區域調度策略。取值範圍:

  • vSwitchOrdered:按順序。

  • vSwitchRandom:隨機。

k8s.aliyun.com/eci-ram-role-name

AliyunECIContainerGroupRole

RAM角色,賦予ECI訪問阿里雲產品的能力。

設定RAM角色

k8s.aliyun.com/eci-use-specs

2-4Gi,4-8Gi,ecs.c6.xlarge

ECI執行個體規格,支援指定多規格,包括指定vCPU和記憶體,或者ECS規格。

多規格建立執行個體

k8s.aliyun.com/eci-spot-strategy

SpotAsPriceGo

搶佔式執行個體策略。取值範圍:

  • SpotAsPriceGo:系統自動出價,跟隨當前市場實際價格。

  • SpotWithPriceLimit:設定搶佔執行個體價格上限。

建立搶佔式執行個體

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物理核心數。

自訂CPU選項

k8s.aliyun.com/eci-cpu-option-ht

1

每核線程數。

k8s.aliyun.com/eci-reschedule-enable

"true"

是否開啟ECI重調度。

ECI Pod Annotation

k8s.aliyun.com/pod-fail-on-create-err

"true"

建立失敗的ECI執行個體是否體現Failed狀態。

ECI Pod Annotation

k8s.aliyun.com/eci-image-snapshot-id

imc-2zebxkiifuyzzlhl****

指定鏡像緩衝ID。

說明

使用鏡像緩衝支援手動指定和自動匹配兩種方式,建議使用自動匹配方式。

使用ImageCache加速建立Pod

k8s.aliyun.com/eci-image-cache

"true"

自動匹配鏡像緩衝。

說明

使用鏡像緩衝支援手動指定和自動匹配兩種方式,建議使用自動匹配方式。

k8s.aliyun.com/acr-instance-id

cri-j36zhodptmyq****

ACR企業版執行個體ID。

支援跨地區指定ACR企業版執行個體,此時需在執行個體ID前加上所屬地區,例如"cn-beijing:cri-j36zhodptmyq****"。

免密拉取ACR企業版鏡像

k8s.aliyun.com/eci-eip-instanceid

eip-bp1q5n8cq4p7f6dzu****

EIP執行個體ID。

為ECI執行個體綁定EIP

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支援指定。取值範圍:

  • BGP:BGP(多線)線路。

  • BGP_PRO:BGP(多線)精品線路。

k8s.aliyun.com/eip-internet-charge-type

PayByBandwidth

EIP的計量方式。取值範圍:

  • PayByBandwidth:按頻寬計費。

  • PayByTraffic:按流量計費。

k8s.aliyun.com/eci-enable-ipv6

"true"

是否綁定一個IPv6地址。

為ECI Pod分配IPv6地址

k8s.aliyun.com/eci-ipv6-bandwidth-enable

"true"

是否開通ECI的IPv6公網通訊能力。

k8s.aliyun.com/eci-ipv6-bandwidth

100M

設定IPv6地址的公網頻寬峰值。

kubernetes.io/ingress-bandwidth

40M

入方向頻寬。

限制ECI執行個體的出入頻寬

kubernetes.io/egress-bandwidth

20M

出方向頻寬。

k8s.aliyun.com/eci-extra-ephemeral-storage

50Gi

臨時儲存空間大小。

增加臨時儲存空間大小

k8s.aliyun.com/eci-eviction-enable

"true"

設定自動驅逐臨時儲存空間不足的ECI Pod。

設定自動驅逐臨時儲存空間不足的Pod

k8s.aliyun.com/eci-core-pattern

/pod/data/dump/core

Core dump檔案儲存目錄。

查看Core dump檔案

k8s.aliyun.com/eci-ntp-server

100.100.*.*

NTP Server。

為Pod配置NTP服務

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

  • 支援建立ClusterIP、LoadBalancer類型的Service。

  • 不支援NodePort類型的Service、不支援配置Session Affinity。

    說明

    ACK Serverless叢集中不支援節點相關的功能

Ingress

  • SLB Ingress:無需部署Controller直接使用基於SLB七層轉寄提供的Ingress能力,請參見Ingress樣本

  • Nginx Ingress:部署Nginx Ingress Controller後可以建立Nginx Ingress,請參見ingress-nginx樣本

服務發現

如果您的叢集內部應用需要Service的服務發現功能,請在建立叢集時開啟PrivateZone或CoreDNS。您也可以在叢集建立後通過ECI Profile開啟PrivateZone或通過組件管理安裝CoreDNS組件。

Elastic IP Address

支援給ECI Pod掛載EIP,可自動建立或者綁定到已有的EIP執行個體。

儲存管理

Pod支援掛載阿里雲Block Storage檔案儲存體

儲存方式

說明

阿里雲Block Storage(Disk)

阿里雲Apsara File Storage NAS

  • 使用NFS Volume:支援使用NFS方式掛載NAS目錄,詳情請參見nas-nfsvolume.yaml樣本

  • 使用Flexvolume靜態掛載:無需安裝Flexvolume外掛程式,直接指定NAS掛載地址,詳情請參見nas-flexvolume.yaml樣本

  • 使用PV/PVC靜態掛載:安裝disk-controller後即可使用PVC靜態掛載NAS目錄掛載,詳情請參見nas-pvc.yaml樣本

可觀測性

功能

說明

日誌

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中指定HostPathHostNetwork

  • 不支援Privileged特權容器。您可以使用Security Context為Pod添加Capability。

    說明

    特權容器功能正在內測中。如需體驗,請提交工單申請。

  • 不支援NodePort類型的Service,不支援配置Session Affinity。

  • 不支援深圳金融雲,不支援政務雲。

聯絡我們

歡迎您使用DingTalk搜尋DingTalk群號31544226加入ACK Serverless叢集DingTalk群。