Istio所有模块、Service、Pod的功能介绍
[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的功能介绍相关推荐
- BIM建模助手【土建模块】主要亮点功能介绍(上)
BIM建模助手[土建模块]主要亮点功能介绍(上) 之前出过很多文章介绍过土建模块的功能,都是一个一个功能介绍,今天和大家分享土建模块的亮点功能,根据用户反馈使用较多的功能,除了传统的土建构件快速翻模功 ...
- 3d Slicer-DICOM模块之Query/Retrieve功能介绍
本文由Markdown语法编辑器编辑完成. 1. DICOM模块 3d Slicer作为医学影像的开源处理软件,当然离不开医学影像数据. DICOM模块,就是专门负责DICOM影像的查找,获取,发送和 ...
- BIM建模助手【土建模块】主要亮点功能介绍(下)
昨天介绍了土建模块的亮点功能,都是用户使用较多的功能.今天也是如此,下面介绍的三个功能用户反馈比较好用的功能.希望有你喜欢的. 一.[生成过梁]一键按设计规范生成过梁. 需求场景:过梁是管线协调中比较 ...
- python中sys模块有什么用_Python中模块之sys的功能介绍
argv 命令行参数 方法:sys.argv 返回值:list 例如:test1.py文件中有两句语句1.import sys 2.print(sys.argv) python test1.py 2 ...
- istio功能介绍(一.Istio基本功能)
文章目录 基本原理 istio与服务治理 关于微服务 服务治理的三种形态 第1种:在应用程序中包含治理逻辑 第2种:治理逻辑独立的代码 第3种:治理逻辑独立的进程 Istio与kubernetes I ...
- ISP各个模块功能介绍
ISP各个模块功能介绍
- (数字ic验证)从零开始的apb_watchdog验证模块搭建(一、功能介绍与环境搭建)
apb_watchdog验证模块搭建(一)文章目录 文章目录 apb_watchdog验证模块搭建(一)文章目录 前言 一.apb_watchdog简单功能介绍 二.测试平台环境搭建 1.测试所用模板 ...
- 车辆跟踪设备中移远模块SMTP功能介绍
随着物联网的发展,近年来移远作为全球领先的无线模块供应商,其模块被应用在多个行业,为众多行业提供了设备的通信基础.其中之一就是物联网的资产跟踪方向. 资产监测包括了: 常规资产监测.车辆监测.人员定位 ...
- CATIA三维工程设计软件 强大曲面设计模块工具功能介绍
CATIA三维工程设计软件是法国达索公司设计开发的一款三维设计工具,拥有强大的曲面设计功能,为用户提供功能强大的曲面设计三维工业设计软件.CATIA软件,是PLM协同解决方案的一个重要组成部分,不仅支 ...
最新文章
- python和c-Cpython和Jython的对比介绍
- Request_原理
- C语言课程学籍管理课程书面报告,C语言学籍管理系统课程设计报告书
- 企业网络之间资源互访
- mos管电路_三极管和MOS管原来这样用,混用代价高,电路设计中需谨慎
- jQuery 查找父元素
- url-pattern配置技巧
- echarts可以去掉边距吗_又有近视又有散光怎么办?近视手术可以同时去掉吗?...
- 清华计算机科学与技术专业收分,2016年清华大学计算机科学与技术专业最低分是多少?...
- ST电机库5.0完全开源对电机控制软件工程师有何影响?
- svnserver 重新启动
- 万维考试系统python_万维题库管理系统单机版(万维考试管理软件)V201706 最新官方版...
- 免费建站网站分享,最好的自助建站
- 【python】if __name__==‘__mian__‘ 如何理解,原理及作用
- linux ps 简书,Linux小白学习法宝-命令大全第一部分
- 论“渤海—黄海开凿人工运河”
- A40i使用笔记:安装python3.7(素装)
- java 绑定mac地址_如何JAVA实现使用TrueLicense在证书中绑定PC的MAC地址,防止止拷贝应用...
- wltp和nedc续航差多少_WLTP续航和NEDC续航差多少?
- 第三方远程控制工具TeamViewer的安装和使用教程,可下载window版和linux版,windows使用虚拟机可以与linux之间通讯
热门文章
- Spring Boot使用Druid和监控配置
- Linux Shell脚本Ldd命令原理及使用方法
- 读于丹《趣品人生》有感
- 技术是最求 买卖是境界
- MySQL学习笔记(十四)—— MySQL的命令集(4)
- 服务器系统ghost版 raid,服务器在raid5下做系统ghost备份.docx
- Xamarin XAML语言教程通过ProgressTo方法对进度条设置
- iOS 9应用开发教程之多行读写文本ios9文本视图
- python中args和kwargs_Python 函数参数*args和**kwargs
- EMD算法之Hilbert-Huang Transform原理详解和案例分析