Isito 1.11.x 更新解读

CNI plugin (Beta)

Istio / Install Istio with the Istio CNI plugin
CNI 依然是 Beta ……

External control plane (Beta)

Istio / Install Istio with an External Control Plane
相较于我们现在的 多集群 部署方式,此次更新增加了一个独立的新模式

而这样部署的缺点是,因为我们所有的配置项都需要配置在主集群中,因此我们为整个网格配置一个独立的 ETCD

现在社区增加了一个独立模式

区别在于我们可以将 istiod 完全的独立部署出来,因此我们可以在一个独立集群中部署多个istiod给不同的集群,值得注意的是,配置项也不再配置在 istiod 的集群中,而是选择一个 remote cluster 作为配置源(vs 等)。

1
2
3
4
5
6
7
8
9
10
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
namespace: external-istiod
spec:
profile: external
values:
global:
istioNamespace: external-istiod
configCluster: true <----- 配置源

Gateway injection

1.11 之前的版本 ingress 组件是直接和 istiod 连接,下发配置,从而进行转发,不需要额外的 sidecar ,而此版本将此和普通pod一样处理,作为一个 sidecar 注入 gateway 之中,就可以把 gateway 想象成一个空 程序 + sidecar。
带来最大的区别是, sidecar 的注入是由 istiod (webhook + template) 控制的,因此我们升级 istiod 之后可以直接删除 gateway 以更新到最新版,而之前的模式需要更新 Deployment 镜像。

Kubernetes Multi-cluster Services (MCS) support (Experimental)

对官网 MCS 的支持,Experimental 还比较早期

Sneak peek: new APIs

社区也发现 EnvoyFilter 贼用了,Istio Extensions API - Google 文档
试图使用新的 API 来替换