本文介绍阿里云ASK集群的产品简介、核心优势、与ACK集群对比、应用场景、核心功能等信息,帮助您快速了解ASK集群。

产品简介

ASK集群是阿里云推出的无服务器Kubernetes容器服务。您无需购买节点即可直接部署容器应用,无需对集群进行节点维护和容量规划,并且根据应用配置的CPU和内存资源量进行按需付费。ASK集群提供完善的Kubernetes兼容能力,同时降低了Kubernetes使用门槛,让您更专注于应用程序,而不是管理底层基础设施。

ASK集群中的Pod基于阿里云弹性容器实例ECI运行在安全隔离的容器运行环境中。每个Pod容器实例底层通过轻量级虚拟化安全沙箱技术完全强隔离,容器实例间互不影响。

ASK集群包括ASK标准版集群和ASK Pro版集群。ASK Pro版集群是在ASK标准版基础上,针对企业大规模生产环境进一步增强了可靠性、安全性,并且提供可赔付SLA的ASK集群。关于ASK Pro版集群的更多信息,请参见ASK Pro版集群概述

核心优势

核心优势 说明
开箱即用 低门槛快速创建集群,无需管理Kubernetes节点和服务器即可直接部署应用。
超大容量 集群无需额外配置即可轻松获得最多2W Pod容量,无需提前规划容量。
秒级弹性 始终确保在极短时间内创建出数千Pod,无需担心突发业务流量因Pod创建时延受到影响。
弹性预测 依据历史预测资源用量提前准备,突发业务流量处理更加平滑。
原生兼容 完善的Kubernetes兼容性,支持原生Kubernetes应用和生态,无缝迁移Kubernetes应用。
安全隔离 Pod基于ECI服务创建,每个容器实例底层通过轻量级虚拟化安全沙箱技术完全强隔离,容器实例间互不影响。
降低成本 应用按需创建,按量计费,不运行不计费,没有资源闲置费用,同时Serverless带来更低的运维成本。
服务集成 支持容器应用与阿里云基础服务无缝整合;支持容器与虚拟机应用的互联互通。
Pro版集群 丰富的产品层次能力,支持更高等级可靠性、SLA和更大集群容量。支持标准版无缝迁移到Pro版。

ASK与ACK集群的对比

如下图所示,左侧为ACK集群,右侧为ASK集群。

与容器对比

应用场景

应用场景 说明
应用托管 ASK集群中无需管理和维护节点,无需容量规划,极大降低业务的基础设施管理和运维成本。
突发业务 对于有明显的波峰波谷特征的业务负载,例如在线教育、电子商务等行业,ASK集群的秒级伸缩能力可以显著降低计算成本,减少闲置资源浪费,平滑应对突发流量高峰。更多信息,请参见弹性伸缩概述
数据计算 面对Spark等数据计算需求,ASK集群可以在短时间内启动大量Pod及时处理任务,计算结束时Pod自动释放停止计费,极大降低整体计算成本。更多信息,请参见通过ASK创建Spark计算任务
CI/CD 基于ASK集群搭建Jenkins或Gitlab-Runner等持续集成环境,并快速完成应用源码编译、镜像构建和推送以及应用部署的流水线,各持续集成任务之间安全隔离互不影响,同时无需维护固定资源池,降低计算成本。更多信息,请参见ASK弹性低成本CI/CD
定时任务

在ASK集群中运行定时任务,任务结束停止计费。无需维护固定资源池,避免资源闲置浪费。更多信息,请参见容器定时伸缩(CronHPA)

核心功能

ASK提供完善的Kubernetes兼容性,除原生Kubernetes功能外,建议您在将生产业务部署到ASK集群前关注如下功能。

ECI Profile

ASK底层基于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实例概述

虚拟节点

使用ASK时,您无需再管理节点,但为了保持与原生Kubernetes的兼容性,您仍可以在集群中看到虚拟节点。虚拟节点拥有超大的计算资源容量,让ASK集群获得极大的弹性能力,而不必担心突发业务流量。虚拟节点依据eci-profile ConfigMap中的vSwitchIds生成,本身不占用任何计算资源。ask

Pod配置

在ASK中创建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 多可用区调度策略。取值范围:
  • 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重调度
k8s.aliyun.com/pod-fail-on-create-err "true" 创建失败的ECI实例是否体现Failed状态。 Pod创建失败置为Failed
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-beijng: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地址。 配置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:ASK集群中不支持节点相关的功能。
Ingress
  • SLB Ingress:无需部署Controller直接使用基于SLB七层转发提供的Ingress能力,请参见Ingress示例
  • Nginx Ingress:部署Nginx Ingress Controller后可以创建Nginx Ingress,请参见ingress-nginx示例
服务发现 如果您的集群内部应用需要Service的服务发现功能,请在创建集群时开启Privatezone或CoreDNS。您也可以在集群创建后通过ECI Profile开启PrivateZone或通过组件管理安装CoreDNS组件。
弹性公网IP 支持给ECI Pod挂载EIP,可自动创建或者绑定到已有的EIP实例。

存储管理

Pod支持挂载阿里云块存储和文件存储。
存储方式 说明
阿里云块存储(Disk)
阿里云文件存储(NAS)
  • 使用NFS Volume:支持使用NFS方式挂载NAS目录,详情请参见nas-nfsvolume.yaml示例
  • 使用Flexvolume静态挂载:无需安装Fexvolume插件,直接指定NAS挂载地址,详情请参见nas-flexvolume.yaml示例
  • 使用PV/PVC静态挂载:安装disk-controller后即可使用PVC静态挂载NAS目录挂载,详情请参见nas-pvc.yaml示例

可观测性

功能 说明
日志 在ASK集群中,您可以通过编辑eci-profile来启用日志服务,之后将开始收集Pod日志,详情请参见通过阿里云日志服务采集应用日志
监控 您可以通过组件安装arms-prometheus组件启用集群监控,详情请参见阿里云Prometheus监控

镜像管理

  • ASK支持通过ImageCache来加速创建Pod,这对快速响应您的业务至关重要。关于如何为Pod启用ImageCache,请参见使用ImageCache
  • 当您在ASK中创建Pod使用的镜像来自ACR,您还可以通过配置ACR企业版免密来简化配置。

弹性伸缩

ASK集群中没有真实节点,所以无需考虑节点的容量规划,也无需考虑基于cluster-autoscaler的节点扩容,您只需要关注应用的按需扩容。建议您配置HPA或者CronHPA策略进行Pod的灵活按需扩容,详情请参见弹性伸缩概述

授权管理

如果您的业务Pod需要访问阿里云云产品,您可以通过配置RRSA(RAM Roles for Service Accounts)来通过云产品鉴权。

集群管理

类型 说明
智能运维 您可以通过智能运维来定期检查ASK集群的健康度,或者进行集群升级或迁移的前置检查。
升级 ASK支持集群无缝升级,您无需担心业务受影响。
Pro版 提供更高等级可靠性、SLA和更大集群容量。
迁移 支持将试用体验或者早期的标准版ASK集群无缝迁移到Pro版以获得更高等级保证。

组件管理

ASK提供多种类型的组件以扩展集群功能,您可以根据业务需求部署、升级和卸载组件。具体操作,请参见管理组件

应用管理

支持在容器服务管理控制台通过应用市场安装Helm应用,并通过Helm页面进行管理。具体操作,请参见使用Helm简化应用部署

计费说明

ASK集群分为ASK标准版和ASK Pro版,不同类型集群的计费项和计费标准不同,详情请参见ASK计费说明

使用限制

使用ASK集群前,需要注意以下使用限制:

  • 不支持DaemonSet型工作负载。您可以通过将DaemonSet重新配置为Pod的Sidecar容器来运行。
  • 不支持在Pod manifest中指定HostPathHostNetwork
  • 不支持Privileged权限容器。可以使用Security Context为Pod添加Capability。
  • 不支持NodePort型Service。
  • 不支持获取ECS元数据。
  • 不支持上海、深圳金融云,不支持政务云。

联系我们

欢迎您使用钉钉搜索钉钉群号31544226加入ASK集群钉钉群。