Envoy原理介绍及线上问题踩坑
Istio-proxy容器 Istio-init 容器 Istio-init 容器 Pod内共享网络 Pod内共享网络 Virtual inbound -15006 kubelet 拦截指定命名空间 Pod创建请求 xDS Iptables 规则 ./etc/istio/proxy/SDS 证书 获取 配置 文件 可以修改全局注入参数 作用于所有目标空间的 pod 证书更新 Envoy启动流程 • istiod拦截pod创建请求,识别为指定namepsace则根据configmap配置生成带有Envoy两个容器的创建POD请求,修改过的创建请求被 kubelet接收,并在节点创建POD。 • istio-init容器添加用于配置容器网络内iptables规则 • istio-proxy容器启动pilot-agent进程,使用UID=1337 GID=1337创建Envoy启动命令行与配置文件 可以通过自定义deployment内istio注解sidecar.istio.io/inject: “false”跳过自动注入过程,或修改部分启动参数。 • 2. 控制面通信 • Pilot-agent进程本身创建UDS接收Envoy连接,用于证书更新下发。并且与istiod建立证书更新通道。 • Envoy 通过pilot-agent转发机制与istiod建立长连接,通过xDS协议接收系统下发的监听器、路由、集群节点等更新信息。0 码力 | 30 页 | 2.67 MB | 1 年前3Extending service mesh capabilities using a streamlined way based on WASM and ORAS
filter; ○ 该asmwasm-controller使用HostPath方式挂载volume, 所以拉取的wasm filter会落 盘到对应的节点上; 15 创建私钥仓库登录Secret ● 获取私有仓库登录信息之后, 按照如下命令创建Secret ○ kubectl create secret generic asmwasm-cache -n istio-system --from- file= filter二进 制文件 服务网格ASM Pod K8s集群 Proxy Service A Volume 挂载 Envoy配置 17 ASMFilterDeployment CR示例 ● 创建ASMFilterDeployment Custom Resource 18 生成的Istio Envoy Filter资源(1) apiVersion: networking.istio.io/v1alpha3 wasm filter生效 22 Summary & Tips ● 开发阶段 22 使用Wasm sdk 生成Wasm二进制 使用oras cli OCI镜像仓库 ● 部署运行阶段 创建 ASMFilterDeplo yment CR 确认Istio EnvoyFilter CR Troubleshooting 在ASM中开启 wasm能力 确认Workload部 署变更生效0 码力 | 23 页 | 2.67 MB | 1 年前3Istio 与 Knative 踩坑实录
踩过的坑/问题 FAAS 实践进展 • 镜像源问题 • RevisionUnkown 状态(0.8版本) • Queue-proxy 内存增长(0.8版本) • Activator 重复创建并占用大量资源22/25 Knative 当前瓶颈 FAAS 实践进展 • 还未发布 Production-ready 版本 • Queue-proxy 过重 • 冷启动时间亟待优化 •0 码力 | 26 页 | 1.35 MB | 5 月前3Istio + MOSN 在 Dubbo 场景下的探索之路
MOSN-routers15/23 MOSN-cluster16/23 Dubbo 场景下的改造 /03 从数据面、控制面两个方面来介绍如何改造17/23 改造方案1 Istio+Envoy • 通过创建 EnvoyFilter 资源来给 xDS 资源打 patch • Envoy 解析 Dubbo 协议中的 Serivce 和 Method • 根据路由策略配置把流量转发到对应的 Provider0 码力 | 25 页 | 3.71 MB | 5 月前3Kubernetes容器应用基于Istio的灰度发布实践
基于K8S的Serverless容器服务 云容器引擎 企业级高可靠、高性能K8S服务 服务网格 K8S原生Service Mesh Istio在华为云:华为云容器应用 Istio在华为云:服务网格 只需在创建集群时选 择“启用服务网格” 即可使用Istio服务治 理功能 Istio在华为云: 灰度发布流程 Y N Y N Istio在华为云: 灰度发布 Istio & Kubernetes 在Google0 码力 | 38 页 | 14.93 MB | 1 年前3Istio控制平面组件原理解析
u证书生成 u证书挂载 u证书过期证书生成 ü生成root-cert.pem ü生成cert-chain.pem ü生成key.pem证书挂载 üICA以Name为istio.default在k8s创建Secrets对象 ü应用服务获取Secrets对象证书,并挂载到/etc/certs • volumeMounts: • - mountPath: /etc/certs/ • name: istio-certs0 码力 | 30 页 | 9.28 MB | 5 月前3Kubernetes容器应用基于Istio的灰度发布实践
基于K8S的Serverless容器服务 云容器引擎 企业级高可靠、高性能K8S服务 服务网格 K8S原生Service Mesh28 Istio在华为云:华为云容器应用29 Istio在华为云:服务网格 只需在创建集群时选 择“启用服务网格” 即可使用Istio服务治 理功能30 Istio在华为云: 灰度发布流程 Y N Y N31 Istio在华为云: 灰度发布32 Istio & Kubernetes0 码力 | 34 页 | 2.64 MB | 5 月前313 Istio 流量管理原理与协议扩展 赵化冰
VirtualInboundListener,VirtualOutboundListener、OutboundCluster、InboundCluster 等 概念。 为何按端口对 HTTP 的处理进行聚合,而不是为每一个服务创建一个 Listener? • 降低 Listener 数量和配置大小,减少资源占用 • 兼容 headless 和虚机服务,避免 Listener 配置频繁更新 • 采用七层 header 进行路由,请求原始目的0 码力 | 20 页 | 11.31 MB | 6 月前3
共 8 条
- 1