应用服务网格

Sidecar资源

2025-08-14 03:18:34

默认情况下,服务网格内的sidecar可以访问到网格内的所有服务,也可以被网格内所有其他服务访问到。Sidecar资源可以实现对网格内的sidecar更细粒度的配置,包括开放的端口、协议,可以访问的服务等。

Sidecar资源创建

1. 登录服务网格控制台,选择流量管理中心 -> Sidecar资源 菜单,选择相应的命名空间

2. 选择使用YAML创建,目前提供了配置模板,可以基于模板修改或者自己编辑配置

Sidecar资源删除

1. 登录服务网格控制台,选择流量管理中心 -> Sidecar资源 菜单,选择相应的命名空间

2. Sidecar资源列表右侧操作栏可以看到删除按钮,可以删除已创建的Sidecar资源

 

下面的例子在prod-us1命名空间下定义了名为default的Sidecar配置,对于被选中的sidecar,只允许访问prod-us1prod-apis istio-system命名空间下的服务

apiVersion: networking.istio.io/v1beta1

kind: Sidecar

metadata:

  name: default

  namespace: prod-us1

spec:

  egress:

  - hosts:

    - "prod-us1/*"

    - "prod-apis/*"

    - "istio-system/*"

 

Sidecar配置说明如下:

字段

类型

必选

说明

workloadSelector

WorkloadSelector

No

Sidecar资源应用到pod的选择器

ingress

[]IstioIngressListener

No

sidecar入流量配置

egress

[]IstioEgressListener

No

sidecar出流量配置

outboundTrafficPolicy

OutboundTrafficPolicy

No

外部访问策略,可选项是只允许访问网格注册中心的服务(REGISTRY_ONLY)或者允许访问所有服务(ALLOW_ANY

 

IstioIngressListener

定义sidecar入流量监听器的配置,具体配置项如下:

字段

类型

必选

说明

port

Port

Yes

监听器端口配置

bind

string

No

监听器绑定的ip

captureMode

CaptureMode

No

监听器流量拦截策略

defaultEndpoint

string

Yes

流量转发的默认目标地址,可以是ip端口或者Unix domain socket

tls

ServerTLSSettings

No

外部请求访问的TLS卸载相关的配置

 

IstioEgressListener

定义了出流量的监听器配置,具体说明如下:

字段

类型

必选

说明

port

Port

No

监听器端口

bind

string

No

监听器地址,可以是IP或者unix domain socket

captureMode

CaptureMode

No

流量拦截策略

hosts

[]string

Yes

当前sidecar可以访问的外部服务列表,采用namespace/dnsName格式

 

tCZLnNMPGJWk