istio 多集群访问流程和源码分析

安装 kubernetes 集群创建 部署方式为多网络多控制面,这里使用 k3s 安装两个 kubernetes 集群,安装后需执行: 1 2 3 4 5 6 7 8 9 # 拷贝 kubeconfig 配置,istioctl 需要 cp /etc/rancher/k3s/k3s.yaml ~/.kube/config #

Istio 服务可见性和命名空间隔离

服务可见性 istio 中每个服务默认可以访问网格中的任何服务,因此 istio 下发给每个 sidecar 的配置中会包含全量的服务数据,sidecar 可能会出现负载过高、内存过

Istio 灰度发布

灰度发布介绍 灰度发布,又名金丝雀发布(canary release、canary launch 或 canary deployment ),是指在黑与白之间,能够平滑过渡的一种发布方式。是指

Istio Ingress/Egress 详解

Gateway 介绍 Istio Gateway 描述在网格边缘运行的负载均衡器,用于接收传入或传出的 HTTP/TCP 连接。Istio Gateway 网关跟 sidecar 代理都是使用的 envoy 程序,其配置也可以用 istioctl 命令来查看。

Istio dns 原理详解

问题背景 在之前使用 ServiceEntry 和 EnvoyFilter 来接入 dubbo 服务到 istio 中时,最开始一直疑惑,当 consumer 端使用 ServiceEntry 中的 host 去访问,但 EnvoyFilter 中直接使用的是 addresses 和端口来进行过滤器匹配的,下发的

手动接入 dubbo 到 istio

整体流程 这里以 dubbo 官方示例 中的 dubbo-samples-zookeeper 示例代码为基础,实现这样的功能: provider 和 consumer 以镜像方式部署在 kubernetes 中,并接入 istio 代理 通过 ServiceEntry 来确定提供方,provider 和

Istio dubbo协议支持

背景 需求场景是,将 dubbo2 框架的应用迁移到 istio 网格中,dubbo2 使用的注册中心可能有 zookeeper、nacos、etcd,这里对 dubbo 接入网格的几

dubbo 多种部署场景测试

测试准备 介绍 以下介绍是摘自 Dubbo 官网,Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang

Istio pilot-agent 源码解析

pilot-agent 源码 整体流程 整体逻辑如下图,简单来说分为以下几步: pilot-agent 启动后,生成私钥和 CSR(证书签名请求),用 CSR 请求 istiod 获取工作负载证书,ROOTCA 根证

Istio 多集群模型和部署示例

多集群部署模型 根据官网的 部署模型说明,istio 部署时,在下面四个纬度都可以进行自由选择: 单一或多个集群 单一或多个网络 单一或多控制平面 单一或

Istio 安装和示例实践

安装 需要先准备一个 kubernetes 集群,这里是用的 k3s 安装 的 1.25 版本。 下载 istio 先下载 istio 安装文件,执行: 1 curl -L https://istio.io/downloadIstio | sh - 如果测试机器下载不了,可以手动下载脚本和安装

Kubernetes 的 informer 源码分析

测试代码 下面代码是是从 client-go 中的测试代码修改而来,通过单步运行来帮助梳理代码逻辑。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31