命名空间为Kubernetes集群提供虚拟的隔离作用。本文介绍如何新建命名空间、为命名空间启用自动注入、同步ASM实例与数据平面集群的自动注入标签、编辑全局命名空间的所属集群。
新建命名空间
通过服务网格ASM控制台或者使用ASM KubeConfig定义的命名空间隶属于ASM实例本身,与该ASM管理的数据平面集群相对独立,因此ASM托管的控制平面的命名空间可以与数据平面集群的命名空间存在不同的情况。即在服务网格ASM控制台新增或者删除命名空间,并不会影响数据平面Kubernetes集群的命名空间。
登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
在全局命名空间页面,单击新建,然后在新建命名空间面板,配置相关信息,然后单击确定。
配置项
说明
名称
设置命名空间的名称。长度为1~63个字符,只能包含数字、字母和短划线(-),且名称首尾必须是字母或数字。
标签
在标签右侧,单击添加,输入变量名称和变量值,为命名空间新增一个标签。
命名空间可添加多个标签。标签用于标识该命名空间的特点,如标识该命名空间用于测试环境。
命名空间创建成功后,您可以在全局命名空间页面的操作列,进行以下操作:
编辑命名空间:单击查看YAML,在编辑对话框,修改相关信息,然后单击确定。
删除命名空间:单击删除,在确认对话框,单击确定。
启用自动注入
通过启动自动注入功能,可以在创建Pod的过程中,将Sidecar代理自动注入Proxy容器,以实现数据平面的网格化。
同步ASM实例与数据平面集群的自动注入标签
通过ASM控制台或者使用ASM KubeConfig定义的命名空间隶属于ASM实例本身,与该ASM管理的数据平面集群相互独立。您可以将ASM实例的命名空间及其自动注入标签同步至数据平面集群,也可以将数据平面集群的命名空间及其自动注入标签同步至ASM实例。
从数据平面集群同步自动注入标签至ASM实例
从数据平面集群同步自动注入标签至ASM实例后,将产生以下效果:
若命名空间存在于数据平面集群但不存在于ASM实例,该命名空间会被自动创建。
若命名空间在数据平面集群中有自动注入标签
istio-injection
或istio.io/rev
,该标签值会被同步到ASM实例的同名命名空间中。
登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
在全局命名空间页面,单击从Kubernetes集群同步自动注入,在从Kubernetes集群同步自动注入对话框,选中作为同步来源的数据平面集群,然后单击确定。
在全局命名空间页面,您可以看到ASM实例的全局命名空间已经和数据平面集群进行了同步。
从ASM实例同步自动注入标签至数据平面集群
当修改ASM实例的命名空间时,ASM实例命名空间的自动注入标签会被自动同步到数据平面集群。仅当修改数据平面的命名空间造成ASM实例命名空间和数据平面命名空间不同步时,需要执行此操作进行同步。
从ASM实例同步自动注入标签至数据平面集群后,将产生以下效果:
若命名空间存在于ASM实例但不存在于数据平面集群,该命名空间会被自动创建。
若命名空间在ASM实例中有自动注入标签
istio-injection
或istio.io/rev
,该标签值会被同步到数据平面集群的同名命名空间中。ASM实例中的命名空间将向所有数据平面集群进行同步。
编辑全局命名空间的所属集群
如果ASM实例中添加了多个数据平面集群,您可以编辑ASM实例中全局命名空间的所属集群。当从ASM实例同步自动注入标签至数据平面集群时,ASM实例的命名空间及其自动注入标签将根据其所属集群选择性地向不同数据平面集群进行同步。
使用该功能,ASM实例版本需为1.17.2.37及以上。关于升级实例的具体操作,请参见升级ASM实例。您可以通过以下两种方式编辑全局命名空间的所属集群。
方式一:在从数据平面集群同步自动注入标签至ASM实例时,自动编辑所属集群
从数据平面集群同步自动注入标签至ASM实例时,所有从数据平面集群同步的命名空间、其所属集群都被标识为作为同步来源的数据平面集群。
方式二:手动编辑全局命名空间所属集群
命名空间的所属集群将会在从ASM实例同步自动注入标签至数据平面集群时,起到以下效果:
当同步命名空间时,若数据平面集群不在该命名空间的所属集群中,则不会将命名空间及其自动注入标签向数据平面同步。
向ASM实例中添加多个集群。具体操作,请参见添加集群到ASM实例或使用ASM托管Serverless网关实现多集群入口。
登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
在全局命名空间页面的命名空间所属集群列,单击目标命名空间对应的编辑,然后在弹出的对话框,选中一个或多个数据平面集群,单击确定。