Istio 服务网格的事件集成¶
标志名称: istio
阶段:Beta,默认禁用
跟踪问题: #6596
概述¶
管理员可以使用 Istio 与 Eventing 集成,以加密、认证和授权对 Eventing 组件的请求。
先决条件¶
- 要启用 istio 集成,您需要按照 Istio 安装指南 安装 Istio。
安装¶
一些 Eventing 组件使用 ExternalName 类型的服务,对于此类服务,需要手动配置 Istio 以使用双向 TLS 连接到这些服务。
Eventing 发布了一个控制器,该控制器会自动配置 Istio,以便属于 Istio 网格的任何 Pod 都可以与同属于该 Istio 网格的 Eventing 组件进行通信。
- 创建 Eventing 命名空间并启用 Istio 注入
kubectl create namespace knative-eventing --dry-run=client -oyaml | kubectl apply -f - kubectl label namespace knative-eventing istio-injection=enabled -
安装
eventing-istio-controllerkubectl apply -f https://github.com/knative-extensions/eventing-istio/releases/download/knative-v1.21.0/eventing-istio.yaml - 验证
eventing-istio-controller已就绪示例输出kubectl get deployment -n knative-eventingNAME ... READY eventing-istio-controller ... True # other deployments omitted ...
启用 Istio 集成¶
istio 功能标志是一个枚举配置,它配置 eventing-istio-controller 为 Eventing 资源创建 Istio 资源。
istio 的可能值为
禁用- 禁用 Eventing 与 Istio 的集成
启用- 启用 Eventing 与 Istio 的集成
例如,要启用 istio 集成,config-features ConfigMap 将如下所示
apiVersion: v1
kind: ConfigMap
metadata:
name: config-features
namespace: knative-eventing
data:
istio: "enabled"