阿里云容器服务基于虚拟节点和ECI提供了多种Serverless Container产品形态,例如ACK Serverless集群集群实现了Kubernetes与弹性容器实例ECI的无缝连接。本文介绍如何在服务网格ASM中管理运行在ACK Serverless集群上的ECI Pod应用。
前提条件
已创建ACK Serverless集群。具体操作,请参见容器服务 Serverless 版使用快速入门。
说明创建ACK Serverless集群时,您需要启用PrivateZone或者CoreDNS,确保ACK Serverless集群支持服务发现功能。
已添加ACK Serverless集群到ASM实例。具体操作,请参见添加集群到ASM实例。
启用自动注入
在ASM控制台中启动自动注入功能,可以在创建Pod的过程中,将Sidecar自动注入Proxy容器,以实现数据平面的网格化。本示例为default命名空间启用Sidecar网格代理自动注入。具体操作,请参见管理全局命名空间。
创建ECI Pod应用
在ACK Serverless集群中所有Pod都是ECI Pod,无需给Pod配置特殊标签。
说明
创建ECI Pod应用后,ASM可以通过Sidecar对ECI Pod应用进行数据平面化管理。
执行以下命令,部署Nginx应用。
kubectl run nginx -n default --image nginx
执行以下命令,查看虚拟节点上的Pod信息。
kubectl get pod -n default -o wide|grep virtual-kubelet
常见问题
为什么ACK Serverless集群无法启用服务发现?
Sidecar Proxy容器日志中可以看到解析istiod.istio-system服务到错误的IP地址,说明您未开通云解析PrivateZone。您可以开通PrivateZone或者通过管理组件安装CoreDNS。