Istio微服务治理网格基本使用以及与Kubernetes集成的架构
文章目录
1.Pod应用程序注入Sidecar代理程序
Istio在程序中注入Sidecar的方式有两种:分别是手动注入和自动注入。
手动注入是通过Istio命令将Sidecar Proxy程序注入到已经存在的资源编排YAML文件里,手动注入通常适用于程序已经在K8S集群中部署的环境,可以通过istioctl kube-inject
命令将Proxy的YAML参数与程序的YAML进行结合,然后执行kubectl apply
命令将已经部署的Pod资源手动注入Sidecar Proxy。
自动注入与命名空间namespace有关,通过指定的命名空间打上Sidecar自动注入的标签,当在该命名空间下再次创建Pod资源时会自动注入Proxy代理程序。
程序注入Sidecar的原理:创建Pod的请求交给apiserver—>Istio通过k8s的准入控制将proxy容器再Pod中添加—>将信息同步到etcd数据库。
即使应用程序注入了Sidecar,以网格环境运行,也是可以通过service的服务发现地址直接连接到应用程序,越过代理程序。
程序接入Istio服务网格后的访问流程如下图所示:用