ack-virtual-node实现了Kubernetes与弹性容器实例ECI的无缝连接。本文介绍ack-virtual-node的组件信息、使用说明和变更记录。

组件介绍

ack-virtual-node是基于社区开源项目Virtual Kubelet,扩展了对Aliyun Provider的支持,并做了大量优化,实现Kubernetes与弹性容器实例ECI的无缝连接。Kubernetes集群可以轻松获得极大的弹性能力,而不必受限于集群的节点计算容量。您可以灵活动态地按需创建ECI Pod,免去集群容量规划的麻烦。

ack-virtual-node将应用Pod以Serverless容器(ECI)方式运行,提供极致弹性、免容量规划、按需使用按需计费的能力。在Job类任务、CI/CD、Spark大数据计算、在线应用弹性等场景中可以显著提升应用部署的弹性效率,以及降低应用的计算成本。

关于ECI Pod功能的更多信息,请参见ECI实例概述vk

使用说明

关于在应用目录中部署ack-virtual-node组件的具体操作,请参见通过部署ACK虚拟节点组件创建ECI Pod

变更记录

2023年04月

版本号镜像地址变更时间变更内容变更影响
v2.9.2registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.9.22023年04月28日修复ACK标准版无法调度虚拟节点的问题。此次升级不会对业务造成影响。
v2.9.1registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.9.12023年04月20日
  • 修复虚拟节点闪动问题。
  • 修复Fail Fast模式下实例调度失败状态未同步问题。
  • 优化Headless Service在PrivateZone下的行为。
此次升级不会对业务造成影响。
v2.8.8registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.8.82023年04月27日修复某些场景下组件重启时,Pod也重启的问题。此次升级不会对业务造成影响。

2023年03月

版本号镜像地址变更时间变更内容变更影响
v2.9.0registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.9.02023年03月30日
  • 支持ASK集群启用ARM节点。
  • 支持创建新型容器实例,此实例具有acs-visible-only属性。
  • 新增ContainerInstanceCreated Condition标识底层实例创建状态。
  • 新增container_spec_cpu_shares指标。
  • 优化Pod更新逻辑,减少对底层的无效更新。
  • 优化托管版Prometheus安装、卸载逻辑及失败提示。
  • 优化DNSConfig的配置逻辑及失败提示。
  • 优化底层容器实例的事件、状态同步。
  • 优化手动指定Pod.Spec.NodeName时的调度逻辑。
  • 优化日志默认行数为500。
  • 修复Pending状态Pod无法exec或attach问题。
此次升级不会对业务造成影响。
v2.8.5registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.8.52023年03月02日优化极端情况下实例泄露问题。此次升级不会对业务造成影响。

2022年12月

版本号镜像地址变更时间变更内容变更影响
v2.8.4registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.8.42022年12月27日
  • 优化Fail Fast模式。
  • 修复偶现Pod状态回退问题。
  • 修复PrivateZone无法解析Headless Service域名问题。
  • 修复使用GracePeriod=0参数删除Pod可能资源泄露问题。
此次升级不会对业务造成影响。

2022年11月

版本号镜像地址变更时间变更内容变更影响
v2.8.3registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.8.32022年11月25日
  • 修复启用本地域名情况下PrivateZone记录错误问题。
  • 修复内置环境变量覆盖用户定义环境变量问题。
  • 修复配置多个ImagePullSecret,只有第一个ImagePullSecret生效的问题。
  • 修复APIService不可用时崩溃问题。
此次升级不会对业务造成影响。
v2.8.1registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.8.12022年11月21日
  • 修复CPU负载Metrics显示问题。
  • 优化创建Pod失败时Reason信息显示。
  • 创建Pod错误码为MissingParameter时,将自动重试。
此次升级不会对业务造成影响。
v2.8.0registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.8.02022年11月21日
  • 支持PodNetworking。
  • 支持PVC动态扩容相关Metrics。
  • 修复StatefulSet资源ServiceName为空时PrivateZone报错问题。
  • 修复大量Endpoint情况下PrivateZone删除ZoneRecord失败问题。
  • 优化频繁出现ContainerDiskPressure为False问题。
  • 优化Pod处于Terminating时出现ErrPodNotFound事件问题。
此次升级不会对业务造成影响。
v2.7.5registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.7.52022年11月07日修复v2.7.4版本RBAC资源未清理问题。此次升级不会对业务造成影响。

2022年10月

版本号镜像地址变更时间变更内容变更影响
v2.7.4registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.7.42022年10月28日
  • 优化Pod创建速度。
  • 修复一些情况下幂等创建Pod失败问题。
此次升级不会对业务造成影响。

2022年09月

版本号镜像地址变更时间变更内容变更影响
v2.7.3registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.7.32022年09月28日修复已注册节点Annotations不更新问题。此次升级不会对业务造成影响。
v2.7.2registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.7.22022年09月13日
  • 修复幂等创建Pod偶现失败问题。
  • 修复通过eci-profile启用日志功能发送告警失败问题。
此次升级不会对业务造成影响。

2022年08月

版本号镜像地址变更时间变更内容变更影响
v2.7.1registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.7.12022年08月17日修复偶现的Pod创建失败问题。此次升级不会对业务造成影响。
v2.7.0registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.7.02022年08月02日
  • 支持安装托管日志组件。
  • 支持安装托管Prometheus。
  • 支持上报底层ECI实例异常。
  • 优化幂等创建ECI实例的逻辑。
  • 优化Pod绑定节点机制。
此次升级不会对业务造成影响。

2022年07月

版本号镜像地址变更时间变更内容变更影响
v2.6.1registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.6.12022年07月05日修复启动过程中,偶现的卡死问题。此次升级不会对业务造成影响。

2022年06月

版本号镜像地址变更时间变更内容变更影响
v2.6.0registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.6.02022年06月16日
  • 新功能:
    • 支持自定义Kubelet服务端口。
    • Kubernetes 1.16版本支持Pod Readiness Gates。
    • Kubernetes 1.16版本支持CSI Node。
    • WaitForFirstConsumer支持从云盘快照创建云盘。
    • 支持NodeName DownwardAPI。
  • 修复点:
    • 修复eci-profile配置labels不生效问题。
    • 修复用户日志存储TTL被覆盖问题。
    • 修复错误日志发送到用户日志存储问题。
  • 优化点:
    • 优化client-go本地缓存同步。
    • 优化虚拟节点注册和更新逻辑。
    • 优化ECI事件上报机制。
    • 优化HTTP请求Body大小。
此次升级不会对业务造成影响。

2022年05月

版本号镜像地址变更时间变更内容变更影响
v2.5.4registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.5.42022年05月20日修复配置eci-profile selectors崩溃问题。此次升级不会对业务造成影响。

2022年04月

版本号镜像地址变更时间变更内容变更影响
v2.5.3registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.5.32022年04月28日
  • 修复偶现的获取Metrics数据崩溃问题。
  • 修复偶现的Pod无法连接API Server问题。
此次升级不会对业务造成影响。
v2.5.2registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.5.22022年04月20日
  • 修复PrivateZone开启失败问题。
  • 修复在Kubernetes 1.16版本集群上执行exec卡死问题。
  • 修复获取Metrics数据失败问题。
  • 修复潜在的状态和事件不同步问题。
此次升级不会对业务造成影响。

2022年03月

版本号镜像地址变更时间变更内容变更影响
v2.5.1registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.5.12022年03月31日
  • 支持配置镜像缓存保留时长。
  • 优化与API Server的请求数据性能。
  • 优化大规模创建Pod的速度。
  • 优化Metrics数据获取时延。
  • 修复并发请求Metrics数据时内存激增问题。
  • 修复返回Metrics数据重复问题。
  • 修复/metrics/metrics/cadvisor返回相同数据问题。
  • 修复CSI的SecretRef不生效问题。
  • 修复logsexec失败或崩溃问题。
  • 修复无公网环境运行失败问题。
此次升级不会对业务造成影响。
v2.4.3registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.4.32022年03月17日修复Kubernetes 1.16版本logsexec失败问题。此次升级不会对业务造成影响。

2022年01月

版本号镜像地址变更时间变更内容变更影响
v2.4.2registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.4.22022年01月11日
  • 修复集群与ECI状态不一致问题。
  • 修复Prometheus监控获取不到数据问题。
  • 修复ECI Profile中部分Annotation不生效问题。
此次升级不会对业务造成影响。

2021年12月

版本号镜像地址变更时间变更内容变更影响
v2.4.0registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.4.02021年12月28日
  • 支持Kubernetes 1.22。
  • 支持PVC动态扩容。
  • 支持WaitForFirstConsumer卷绑定模式。
  • 优化调用ECI接口的效率。
  • 修复集群升级后虚拟节点版本号问题。
  • 修复偶现的Job类型Pod状态不一致问题。
  • 修复偶现的集群Pod与ECI Pod状态不一致问题。
  • 修复偶现的CephFS和Flexvolume配置SecretRef不生效问题。
  • 修复偶现的Annotation导致崩溃问题。
此次升级不会对业务造成影响。

2021年11月

版本号镜像地址变更时间变更内容变更影响
v2.3.0registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.3.02021年11月15日
  • 支持服务账号令牌卷投射。
  • 支持开启IP双栈模式。
  • 支持设置不同的Overlay网络类型。
  • 修复某些情况下的崩溃问题。
  • 优化Pod创建速度。
  • 修复Pod调度问题。
  • 修复ECI实例回收慢问题。
此次升级不会对业务造成影响。

2021年10月

版本号镜像地址变更时间变更内容变更影响
v2.2.0registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.2.02021年10月26日优化事件和状态的查询速度。此次升级不会对业务造成影响。
v2.1.0registry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.1.02021年10月12日
新功能:
  • 支持免密拉取企业版ACR镜像。
  • 支持引用PVC、CephFS和Flexvolume密钥。
  • 节点支持Hugepage能力。
修复点:
  • 修复某些情况下ECI资源泄露问题。
  • 修复CPU负载显示不正确问题。
  • 修复重启慢导致的节点NotReady问题。
  • 修复URL参数太长导致创建Pod失败问题。
  • 修复某些情况下集群角色被删除问题。
优化点:
  • 优化创建Pod速度。
  • 优化构建镜像缓存速度。
此次升级不会对业务造成影响。

2021年05月

版本号镜像地址变更时间变更内容变更影响
v2.0.0.122-bdb884460-aliyunregistry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.0.0.122-bdb884460-aliyun2021年05月24日修复节点并发下重复创建的问题。此次升级不会对业务造成影响。
v2.0.0.113-650b21c48-aliyunregistry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.0.0.113-650b21c48-aliyun2021年05月13日支持PrivateZone热更新。此次升级不会对业务造成影响。
v2.0.0.110-49c928287-aliyunregistry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.0.0.110-49c928287-aliyun2021年05月06日兼容NodeSelector调度方式,即Pod的type=virtual-kubelet时会被VK接管创建。此次升级不会对业务造成影响。

2021年04月

版本号镜像地址变更时间变更内容变更影响
v2.0.0.102-045a06eb4-aliyunregistry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.0.0.102-045a06eb4-aliyun2021年04月22日修复Virtual Kubelet节点显示问题。此次升级不会对业务造成影响。
v2.0.0.101-cd8bcfa04-aliyunregistry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.0.0.101-cd8bcfa04-aliyun2021年04月16日优化对PrivateZone的接口调用问题,避免重复调用BindZoneVpc。此次升级不会对业务造成影响。
v2.0.0.93-ef86bbfa1-aliyunregistry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.0.0.93-ef86bbfa1-aliyun2021年04月13日修改eciLogtailMacheineGroupKey的值,兼容ENV和CRD日志采集功能。此次升级不会对业务造成影响。
v2.0.0.90-15deb126e-aliyunregistry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.0.0.90-15deb126e-aliyun2021年04月06日新增ECI Profile功能。此次升级不会对业务造成影响。

2021年03月

版本号镜像地址变更时间变更内容变更影响
v2.0.0.86-9005a977d-aliyunregistry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.0.0.86-9005a977d-aliyun2021年03月17日
  • 优化/etc/hosts,添加Domain和DNS注解。
  • 缩短clusterrolebinding检查时间。
  • 优化多组件选主机制。
此次升级不会对业务造成影响。

2021年02月

版本号镜像地址变更时间变更内容变更影响
v2.0.0.80-f9a46a994-aliyunregistry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.0.0.80-f9a46a994-aliyun2021年02月25日优化CreatePod状态判断功能:只有为pending时才创建Pod。此次升级不会对业务造成影响。
v2.0.0.76-6e9e19bd5-aliyunregistry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.0.0.76-6e9e19bd5-aliyun2021年02月22日
  • 支持PProf调试。
  • 支持选主开关控制。
  • 为EndPointSlice更新ClusterRole。
  • 在Pod中添加K8s版本注解。
  • 不同K8s版本支持配置不同Webhook。
此次升级不会对业务造成影响。

2020年12月

版本号镜像地址变更时间变更内容变更影响
v2.0.0.618-7fd50d738-aliyunregistry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v2.0.0.618-7fd50d738-aliyun2020年12月04日
  • 支持更好的Pod兼容性。
  • 支持多个VK Controller选主逻辑。
需要您确认ECI Pod的VPC和安全组配置正确,且可以访问集群APIserver,否则会导致Pod一直等待状态。

2020年09月

版本号镜像地址变更时间变更内容变更影响
v1.0.0.10-aliyunregistry.cn-hangzhou.aliyuncs.com/acs/virtual-nodes-eci:v1.0.0.10-aliyun2020年09月21日支持扩展集群弹性,应用Pod以Serverless容器(ECI)方式运行。此次升级不会对业务造成影响。

2020年03月

版本号镜像地址变更时间变更内容变更影响
v1.0.0.2-aliyunregistry-vpc.$RegionId.aliyuncs.com/acs/virtual-nodes-eci:v1.0.0.2-aliyun2020年03月12日
  • 使用StatefulSet部署virtual-nodes-eci controller,方便修改副本数量以创建多个VK虚拟节点,支持更大规模ECI Pod。
  • 节点名字变更为virtual-node-eci-$n。
  • 支持访问ClusterIP Service。
  • 支持Spot可抢占实例类型。
  • 支持CSI挂载Disk Volume。
如果您的virtual-nodes-eci controller是以Deployment形式部署,请先删除virtual-kubelet节点上的ECI,再更新或者重新部署组件。