自问世以来,Istio因其使用Sidecar(可编程代理与应用容器一同部署)而备受认可。这种架构选择使Istio用户能够享受其好处,而无需对其应用进行 drast 改变。这些可编程代理,与应用容器紧密部署在一起,因其能够引入Istio的诸多好处而备受赞誉,同时又无需对应用进行重大更改。但总有改进的空间,现在Istio引入了环境化Mesh,这是其架构的重大演进。
传统Istio模型:Istio在工作负载的Pod中部署Envoy代理作为Sidecar。
Sidecar的优势:无需重构应用即可享受Istio的功能。
Sidecar的限制:
环境化Mesh采用分层方法,分割了Istio的功能:
这种方法的优势包括:
(1) 下载Istio的最新版本,其中包含对环境化Mesh的alpha支持。
(2) 安装Kubernetes网关CRDs,在大多数Kubernetes集群上默认未安装
kubectl get crd gateways.gatewayworking.k8s.io &> /dev/null || /{ kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd/experimental?ref=v0.8.0" | kubectl apply -f -; }
(3) ambient配置文件旨在帮助您开始使用环境化Mesh。使用上面下载的istioctl命令,在您的Kubernetes集群上安装带有ambient配置文件的Istio:
istioctl install --set profile=ambient --set "components.ingressGateways[0].enabled=true" --set "components.ingressGateways[0].name=istio-ingressgateway" --skip-confirmation
(4) 使用以下命令验证已安装的组件:
kubectl get pods -n istio-system名称 就绪 状态 重启次数 年龄istio-cni-node-n9tcd 1/1 运行中 0 57秒istio-ingressgateway-5b79b5bb88-897lp 1/1 运行中 0 57秒istiod-69d4d646cd-26cth 1/1 运行中 0 67秒ztunnel-lr7lz 1/1 运行中 0 69秒kubectl get daemonset -n istio-system名称 预期 当前 就绪 最新 可用 节点选择器 年龄istio-cni-node 1 1 1 1 1 kubernetes.io/os=linux 70秒ztunnel 1 1 1 1 1 kubernetes.io/os=linux 82秒
环境化Mesh将安全性放在首位:
Ztunnel:尽管是一个共享资源,但ztunnel将其密钥限制在其节点上的工作负载上,降低风险。
环境化Mesh的推出并不意味着Sidecar的结束。它们仍然适用于需要专用数据平面资源的情景,比如合规性或性能调整。Istio将继续支持Sidecar,确保它们与环境化Mesh和谐共存。
总之,环境化Mesh代表了服务网格架构迈出的一大步,解决了Sidecar模型的一些挑战,并为用户提供了更多的灵活性和效率。
本文链接:http://www.28at.com/showinfo-26-34924-0.htmlIstio新架构揭秘:环境化Mesh
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com
上一篇: 让人压抑的 C++:记一个函数指针的问题
下一篇: 加速Python代码的七个优秀实用技巧