2023

  • Istio可观测性系列-监控指标没有上报

    12.01.2023 博客

    背景 istio 版本: 1.13.4 aeraki 版本: 1.1.5 业务反馈在测试过程中发现 istio_request_total 指标查找不到,通过Prometheus查看发现这个指标部分服务是正常采集上报。 通过 istioctl ps 预览集群状态 # ./istioctl ps NAME CLUSTER CDS LDS EDS RDS ISTIOD VERSION test-1.istio-system NOT SENT NOT SENT NOT SENT NOT SENT …

  • Istio可观测性系列-自定义指标

    12.01.2023 博客

    默认情况下,Istio 定义并生成一组标准指标 istio 默认指标 stats-filter-<istio_version> cat << EOF | kubectl apply -f - apiVersion: networking.istio.io/v1alpha3 kind: EnvoyFilter metadata: labels: istio.io/rev: default name: stats-filter-1.14 namespace: …

  • istioctl工具使用指南

    12.01.2023 博客

    网格预览 # ./istioctl ps NAME CLUSTER CDS LDS EDS RDS ISTIOD VERSION test-1.istio-system NOT SENT NOT SENT NOT SENT NOT SENT istiod-66bd9d59d8-k6qzk 65536.65536.65536 test-1.istio-system NOT SENT NOT SENT NOT SENT NOT SENT istiod-66bd9d59d8-k6qzk …

2022

  • 深入Istio系列-Pilot agent

    16.09.2022 博客

    查看监听端口和进程 istio-proxy@istio-ingressgateway-799bbc9474-hf7kv:/$ ss -ntlp State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 127.0.0.1:15000 0.0.0.0:* users:(("envoy",pid=16,fd=18)) LISTEN 0 128 127.0.0.1:15004 …

  • Istio可观测性系列-性能指标

    13.09.2022 博客

    Istio 指标 Istio 自己的 Metrics 标准指标说明 参考:https://istio.io/latest/docs/reference/config/metrics/ Metrics 对于 HTTP、HTTP/2 和 GRPC 流量,Istio 默认生成以下指标: Request Count (istio_requests_total): This is a COUNTER incremented for every request handled by an Istio …

  • Envoy性能指标

    13.09.2022 博客

    Envoy 指标 Envoy 指标概述 Envoy 的主要目标之一是使网络易于理解。 Envoy 会根据其配置方式产生大量统计信息。一般来说,统计数据(指标)分为三类: Downstream:Downstream 指标与外来的连接/请求有关。它们由 listener、HTTP connection manager(HCM)、TCP proxy filter 等产生。 Upstream:Upstream 指标与外向的连接/请求有关。它们由 connection pool、router …

  • 深入Istio系列-组件详解

    12.09.2022 博客

    在前两篇博客中: Istio 中的 Sidecar 注入、透明流量劫持及流量路由过程详解 Sidecar 中的流量类型及 iptables 规则详解 我向你详细介绍了 Istio 数据平面中的流量,但数据平面并不能孤立的存在,本文将向你展示 Istio 中的控制平面和数据平面各组件的端口及其功能,有助于你了解这些流量之间的关系及故障排查。 Istio 中的组件及端口示意图 按照习惯,我们首先展示一个全局示意图。下图展示的是 Istio 数据平面中 sidecar 的组成,以及与其交互的对象。 …

  • 深入Istio系列-Sidecar 中的流量类型及 iptables 规则详解

    11.09.2022 博客

    我在之前的一篇博客中讲解过 Istio 中 sidecar 的注入、使用 iptables 进行透明流量拦截及流量路由的详细过程,并以 Bookinfo 示例中的 productpage 服务访问 reviews 服务,和 reviews 服务访问 ratings 服务为例绘制了透明流量劫持示意图。在那个示意图中仅展示了 reviews pod 接收流量和对外访问的路由,实际上 sidecar 内的流量远不止于此。 ISTIO_OUTPUT 规则 在所有的 iptables 调用链中最复杂的一个 …

  • 深入Istio系列-Sidecar 注入、透明流量劫持及流量路由过程详解

    11.09.2022 博客

    本文最早是基于 Istio 1.11 撰写,之后随着 Istio 的版本陆续更新,最新更新时间为 2022 年 5 月 12 日,关于本文历史版本的更新说明请见文章最后。本文记录了详细的实践过程,力图能够让读者复现,因此事无巨细,想要理解某个部分过程的读者可以使用目录跳转到对应的小节阅读。 为了理解本文希望你先阅读以下内容: 理解 iptables Istio 数据平面 Pod 启动过程详解 内容介绍 本文基于 Istio 1.13 版本,将为大家介绍以下内容: 什么是 sidecar 模 …

  • 深入Istio系列-Sidecar自动注入

    11.09.2022 博客

    Sidecar 自动注入机制是将 sidecar 代理自动添加到用户创建的 pod。 它使用 MutatingWebhook 机制在 pod 创建的时候将 sidecar 的容器和卷添加到每个 pod 的模版里。 用户可以通过 webhooks namespaceSelector 机制来限定需要启动自动注入的范围,也可以通过注解的方式针对每个 pod 来单独启用和禁用自动注入功能。 Sidecar 是否会被自动注入取决于下面 3 条配置和 2 条安全规则: 配置: …