Istio资源管理
更新时间:2025-05-28
概述
服务网格CSM通过Istio CRD资源(如Virtual Service、Destination Rule)描述微服务治理策略,“Istio 资源”页面对通过控制台、原生API等不同方式提交的资源集中展示,用户可在“Istio 资源”页面按需进行增删改查等操作。
注意事项
- 对于注入了服务网格代理的工作负载,如没有提交任何Istio CRD,流量仍然会被代理劫持,以轮询的负载均衡方式发往目的服务的多个实例。
创建Istio资源
按以下步骤在控制台上创建与更改Istio CRD资源:
- 登录百度智能云控制台,选择“产品服务>云计算>容器 > 服务网格 CSM”。
- 在服务网格控制台,“网格列表”页面选择地域后,找到相要操作的服务网格实例,点击服务网格实例名称可在左侧边栏看到Istio资源管理。
- 通过“创建 Istio 资源”按钮,即可进入Istio资源提交页面,目前暂只支持YAML提交。
-
Istio资源创建后,会立即下发至服务网格的数据面生效相关规则。
Istio 资源的命名空间,是指Istio资源的存储位置,生效的范围是在Spec字段中描述。
变更Istio资源
- 在“Istio 资源管理”页,通过点击Istio资源列表中具体的Istio资源名称或操作列的“编辑”按钮,即可进行编辑操作。
- 在“Istio 资源管理”页,通过Istio资源列表操作列的“删除”按钮,可以在控制台上完成Istio资源的删除;如需多条资源进行批量删除,可以选中后通过Istio资源列表上方的“删除”进行批量操作。
参考示例
我们根据上述Sidecar自动注入、集群管理等手册操作完成后,我们给sleep/helloworld应用配置Istio CRD策略,具体如下所示:
VirtualService:
YAML
1apiVersion: networking.istio.io/v1alpha3
2kind: VirtualService
3metadata:
4 name: helloworld-vs
5spec:
6 hosts:
7 - helloworld.test.svc.cluster.local
8 exportTo:
9 - test
10 http:
11 - route:
12 - destination:
13 host: helloworld.test.svc.cluster.local
14 subset: v1
15 weight: 100
16 - destination:
17 host: helloworld.test.svc.cluster.local
18 subset: v2
19 weight: 0
DestinationRule:
Plain Text
1apiVersion: networking.istio.io/v1alpha3
2kind: DestinationRule
3metadata:
4 name: helloworld-dr
5spec:
6 exportTo:
7 - test
8 host: helloworld.test.svc.cluster.local
9 subsets:
10 - name: v1
11 labels:
12 version: v1
13 - name: v2
14 labels:
15 version: v2
通过Istio资源管理提交上述 Yaml 文件后,如下所示: