阿里云容器服务基于虚拟节点和ECI提供了多种Serverless Container产品形态,例如通过部署ACK虚拟节点组件创建ECI Pod实现了Kubernetes与弹性容器实例ECI的无缝连接。您可以灵活动态地按需创建ECI Pod,免去集群容量规划的麻烦。本文介绍如何在服务网格ASM中管理运行在ACK虚拟节点上的ECI Pod应用。
前提条件
-
已创建ASM实例,且版本为v1.7.5.41及以上。具体操作,请参见创建ASM实例。
-
已在ACK集群中部署ack-virtual-node组件,并确保运行正常。具体操作,请参见步骤一:在ACK集群中部署ack-virtual-node组件。
-
已添加ACK集群到ASM实例。
-
已获取集群KubeConfig并通过kubectl工具连接集群。
步骤一:为目标命名空间启用自动注入
在ASM控制台中启动自动注入功能,可以在创建Pod的过程中,将Sidecar自动注入Proxy容器,以实现数据平面的网格化。
本示例为default和vk命名空间启用Sidecar网格代理自动注入。具体操作,请参见管理全局命名空间。
步骤二:创建ECI Pod应用
说明
创建ECI Pod应用后,ASM可以通过Sidecar对ECI Pod应用进行数据平面化管理。
方式一:通过配置Pod标签的方式创建ECI Pod应用
给Pod添加alibabacloud.com/eci=true
的标签,Pod将以ECI方式运行,并且所在的节点是虚拟节点。
-
执行以下命令,确认default命名空间已包含
istio-injection=enabled
标签。kubectl get ns default --show-labels
预期输出:
NAME STATUS AGE LABELS default Active 16d istio-injection=enabled,kubernetes.io/metadata.name=default,provider=asm
-
执行以下命令,部署Nginx应用。
kubectl run nginx -n default --image nginx -l alibabacloud.com/eci=true
预期输出:
pod/nginx created
-
执行以下命令,查看虚拟节点上的Pod信息。
kubectl get pod -n default -o wide|grep virtual-kubelet
预期输出:
nginx 2/2 Running 0 8m49s 192.168.XXX.XXX virtual-kubelet-cn-beijing-i
方式二:通过配置Namespace标签的方式创建ECI Pod应用
给Pod所在的命名空间添加alibabacloud.com/eci=true
标签,Pod将以ECI方式运行,并且所在的节点是虚拟节点。
-
执行以下命令,确认vk命名空间已包含
istio-injection=enabled
标签。kubectl get ns vk --show-labels
预期输出:
NAME STATUS AGE LABELS vk Active 96m istio-injection=enabled,kubernetes.io/metadata.name=vk,provider=asm
-
执行以下命令,为vk命名空间添加标签。
kubectl label namespace vk alibabacloud.com/eci=true
预期输出:
namespace/vk labeled
-
执行以下命令,部署Nginx应用。
kubectl -n vk run nginx --image nginx
预期输出:
pod/nginx created
-
执行以下命令,查看虚拟节点上的Pod信息。
kubectl -n vk get pod -o wide|grep virtual-kubelet
预期输出:
nginx 2/2 Running 0 38s 192.168.XXX.XXX virtual-kubelet-cn-beijing-i
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/171297.html