[TOC]

Istio所有模块、Service、Pod的功能介绍

Istio模块

  • Proxy(Envoy)

    • 流量代理,不可缺少
  • Pilot

    • 服务发现、流量管理、智能路由等
  • Mixer

    • 遥测相关
  • Citadel

    • 安全相关,服务之间访问鉴权等
  • Galley

    • istio API配置的校验、各种配置之间统筹,为 Istio 提供配置管理服务,通过用Kubernetes的Webhook机制对Pilot 和 Mixer 的配置进行验证

Istio的Service

通过kubectl get svc -n istio-system 查询所有的Service

  • istio-egressgateway

    • 出口网关,可选的,根据自身业务形态决定
  • istio-ingressgateway

    • 入口网关,必须的
    • 对外流量入口,所有从外部访问集群内部的服务都需要经过入口网关ingressgateway。需要多实例、防止单点;同时要保证多实例进行负载均衡;
    • 如果异常则导致整个流量入口异常
    • 承担相对较大的并发和高峰流量
  • istio-pilot

    • 控制sidecar中envoy的启动与参数配置
    • 如果异常则envoy无法正常启动,应用服务的流量无法进行拦截和代理
    • 所有配置、流量规则、策略无法生效
    • 必要组件
  • istio-sidecar-injector

    • 现sidecar自动注入功能组件
    • 对应的设置是选项是sidecarInjectorWebhook.enabled,sidecarInjectorWebhook.image对应就是sidecar_injector
    • 这个只是对自动注入Sidecar有影响,如果是通过手动注入kubectl kube-inject命令参数执行的没有影响,不管使能这个前还是后,都对手动注入Sidecar没有影响
    • 如果异常则会导致sidecar无法自动注入;如果注入策略设置为必须注入(policy为Fail),则会导致新创建的应用服务(Pod)无法启动,因为无法注入 Sidecar
  • istio-statsd-prom-bridge

    • 暴露9102、9125端口

      • 9125是statsdUdpAddress配置的地址
      • 9102是prometheus的Metric接口
        • 这个是istio-statsd-prom-bridge组件提供的服务
    • 这个 statsd是一个转换为prometheus的组件,用来统计envoy 生成的数据,这个是必须的

    • 通过安装参数--set mixer.enabled=false就禁能了这个组件,禁能这个组件会导致ingressgateway的envoy初始化失败,报错日志error initializing configuration '/etc/istio/proxy/envoy-rev0.json': malformed IP address: istio-statsd-prom-bridge,因为statsdUdpAddress这个参数指定了地址为istio-statsd-prom-bridge:9125,因此还需要修改istio这个configmap中的statsdUdpAddress地址

      • 这就需要外部的statsd_exporter支持,关于statsd exporter的更多信息查看这里
    • 安装选项global.proxy.envoyStatsd.enabled可以控制envoy是否直接通过statsd上报,global.proxy.envoyStatsd.host和global.proxy.envoyStatsd.port可以设置statsd exporter的地址

  • istio-policy

    • Mixer相关组件,用于与envoy交互,check需要上报的数据,确定缓存内容,挂掉会影响check相关功能,除非设置为不进行check
    • 不能直接关闭或者说禁能这个策略组件,因为默认请求都是要去policy pods进行check检测的,如果失败则会导致请求失败,详见
    • 通过安装参数--set mixer.enabled=false禁能
  • istio-telemetry

    • Mixer相关组件的Service,用于采集envoy上报的遥测数据

    • 高并发下会有性能影响,会间接导致整体性能下降,业界针对这个有较多探讨;可以禁能

    • 为提高性能,需要设置为多实例,防止单点;均衡流量

    • 暴露9091、9093、15004、42422端口

      • 9093端口是Mixer组件本身的prometheus暴露的端口,这个是istio-policy 组件提供的
      • 42422是所有 Mixer 生成的网格指标,这个是istio-telemetry 组件提供的
    • 通过安装参数--set mixer.enabled=false禁能

    • 如果异常,则通过Mixer进行上报的一些监控采集数据无法采集到,并不影响整体流程

  • istio-citadel

    • 用于安全相关功能,为服务和用户提供认证和鉴权、管理凭据和 RBAC,挂掉则会导致认证,安全相关功能失效
    • --set security.enabled=false如果要禁能则通过设置security,它对应的镜像就是citadel
    • 如果前期不使用安全相关的功能可以禁能,不会影响整体使用
    • 如果部署了 istio-citadel,则 Envoy 每 15 分钟会进行一次重新启动来刷新证书
  • istio-galley

    • istio API配置的校验、各种配置之间统筹,为 Istio 提供配置管理服务,包含有Kubernetes CRD资源的listener,通过用Kubernetes的Webhook机制对Pilot 和 Mixer 的配置进行验证
    • 这个服务挂掉会导致配置校验异常,是一个必须的组件
    • 比如创建gateway、virtualService等资源,就会需要校验
    • 如果不想校验,可以通过设置helm 的选项参数--set global.configValidation=false来关闭校验
  • prometheus

    • 暴露9090端口
    • prometheus组件的Service
    • 如果采用外部的prometheus则不用
    • 其他组件如jaeger、grafana则同样采用外部系统,因此可以不用和istio一起安装

Istio的Pod

Istio的Pod 对应着Service,命名的前缀都是保持一致,其功能当然也一样,因为Service就是代理着一批Pod。只是这些Pod或者Service的名字和istio架构中的组件的名字稍有区别

  • istio-citadel-xxx
  • istio-egressgateway-xxx
  • istio-galley--xxx
  • istio-ingressgateway-xxx
  • istio-pilot-xxx
  • istio-policy-xxx
  • istio-sidecar-injector--xxx
  • istio-statsd-prom-bridge--xxx
  • istio-telemetry--xxx
  • prometheus--xxx

Istio所有模块、Service、Pod的功能介绍相关推荐

  1. BIM建模助手【土建模块】主要亮点功能介绍(上)

    BIM建模助手[土建模块]主要亮点功能介绍(上) 之前出过很多文章介绍过土建模块的功能,都是一个一个功能介绍,今天和大家分享土建模块的亮点功能,根据用户反馈使用较多的功能,除了传统的土建构件快速翻模功 ...

  2. 3d Slicer-DICOM模块之Query/Retrieve功能介绍

    本文由Markdown语法编辑器编辑完成. 1. DICOM模块 3d Slicer作为医学影像的开源处理软件,当然离不开医学影像数据. DICOM模块,就是专门负责DICOM影像的查找,获取,发送和 ...

  3. BIM建模助手【土建模块】主要亮点功能介绍(下)

    昨天介绍了土建模块的亮点功能,都是用户使用较多的功能.今天也是如此,下面介绍的三个功能用户反馈比较好用的功能.希望有你喜欢的. 一.[生成过梁]一键按设计规范生成过梁. 需求场景:过梁是管线协调中比较 ...

  4. python中sys模块有什么用_Python中模块之sys的功能介绍

    argv 命令行参数 方法:sys.argv 返回值:list 例如:test1.py文件中有两句语句1.import sys 2.print(sys.argv) python test1.py 2 ...

  5. istio功能介绍(一.Istio基本功能)

    文章目录 基本原理 istio与服务治理 关于微服务 服务治理的三种形态 第1种:在应用程序中包含治理逻辑 第2种:治理逻辑独立的代码 第3种:治理逻辑独立的进程 Istio与kubernetes I ...

  6. ISP各个模块功能介绍

    ISP各个模块功能介绍

  7. (数字ic验证)从零开始的apb_watchdog验证模块搭建(一、功能介绍与环境搭建)

    apb_watchdog验证模块搭建(一)文章目录 文章目录 apb_watchdog验证模块搭建(一)文章目录 前言 一.apb_watchdog简单功能介绍 二.测试平台环境搭建 1.测试所用模板 ...

  8. 车辆跟踪设备中移远模块SMTP功能介绍

    随着物联网的发展,近年来移远作为全球领先的无线模块供应商,其模块被应用在多个行业,为众多行业提供了设备的通信基础.其中之一就是物联网的资产跟踪方向. 资产监测包括了: 常规资产监测.车辆监测.人员定位 ...

  9. CATIA三维工程设计软件 强大曲面设计模块工具功能介绍

    CATIA三维工程设计软件是法国达索公司设计开发的一款三维设计工具,拥有强大的曲面设计功能,为用户提供功能强大的曲面设计三维工业设计软件.CATIA软件,是PLM协同解决方案的一个重要组成部分,不仅支 ...

最新文章

  1. python和c-Cpython和Jython的对比介绍
  2. Request_原理
  3. C语言课程学籍管理课程书面报告,C语言学籍管理系统课程设计报告书
  4. 企业网络之间资源互访
  5. mos管电路_三极管和MOS管原来这样用,混用代价高,电路设计中需谨慎
  6. jQuery 查找父元素
  7. url-pattern配置技巧
  8. echarts可以去掉边距吗_又有近视又有散光怎么办?近视手术可以同时去掉吗?...
  9. 清华计算机科学与技术专业收分,2016年清华大学计算机科学与技术专业最低分是多少?...
  10. ST电机库5.0完全开源对电机控制软件工程师有何影响?
  11. svnserver 重新启动
  12. 万维考试系统python_万维题库管理系统单机版(万维考试管理软件)V201706 最新官方版...
  13. 免费建站网站分享,最好的自助建站
  14. 【python】if __name__==‘__mian__‘ 如何理解,原理及作用
  15. linux ps 简书,Linux小白学习法宝-命令大全第一部分
  16. 论“渤海—黄海开凿人工运河”
  17. A40i使用笔记:安装python3.7(素装)
  18. java 绑定mac地址_如何JAVA实现使用TrueLicense在证书中绑定PC的MAC地址,防止止拷贝应用...
  19. wltp和nedc续航差多少_WLTP续航和NEDC续航差多少?
  20. 第三方远程控制工具TeamViewer的安装和使用教程,可下载window版和linux版,windows使用虚拟机可以与linux之间通讯

热门文章

  1. Spring Boot使用Druid和监控配置
  2. Linux Shell脚本Ldd命令原理及使用方法
  3. 读于丹《趣品人生》有感
  4. 技术是最求 买卖是境界
  5. MySQL学习笔记(十四)—— MySQL的命令集(4)
  6. 服务器系统ghost版 raid,服务器在raid5下做系统ghost备份.docx
  7. Xamarin XAML语言教程通过ProgressTo方法对进度条设置
  8. iOS 9应用开发教程之多行读写文本ios9文本视图
  9. python中args和kwargs_Python 函数参数*args和**kwargs
  10. EMD算法之Hilbert-Huang Transform原理详解和案例分析