istio 常见问题排查

配置校验

istioctl validate

istioctl validate 可用于校验 istio 配置文件规则,即:验证YAML文件。

istioctl analyze

istioctl analyze 可用于检查istio配置潜在的问题。

如,校验某命名空间下资源配置:

$ istioctl analyze --namespace=bookinfo
2022-06-21T12:39:20.119874Z	warn	 networking.istio.io/v1alpha3/Gateway resource [bookinfo/bookinfo-gateway1] could not be found
Error [IST0101] (VirtualService bookinfo/bookinfo) Referenced gateway not found: "bookinfo-gateway1"
Warning [IST0132] (VirtualService bookinfo/bookinfo) one or more host [*] defined in VirtualService bookinfo/bookinfo not found in Gateway bookinfo/bookinfo-gateway1.
Error: Analyzers found issues when analyzing namespace: bookinfo.
See https://istio.io/v1.13/docs/reference/config/analysis for more information about causes and resolutions.

资源 status

默认情况下,istio 资源是没有 status 字段,需单独进行配置来开启。

配置方法参考:Configuration Status Field

  1. 修改 istio-sidecar-injector ConfingMap 中的 istiod.enableAnalysis 为 true(values 配置项);
  2. 添加 istiod 的环境变量 PILOT_ENABLE_STATUS=true

(上述配置完后,istio 资源中会自动出现 status 字段)

实际配置时,发现 istio 1.9.0 版本未配置生效,在 1.13.4 版本配置生效。

istioctl analyze 对比发现,status 字段展示的信息并不完善:

  • status:并没有体现出潜在的配置问题。

    (细看发现,该特性属于 Alpha 版本,静待后续稳定版本吧。)

    status:
    conditions:
    - lastProbeTime: "2022-07-01T09:21:51.977984805Z"lastTransitionTime: "2022-07-01T09:21:51.977984930Z"message: 36/36 proxies up to date.status: "True"type: Reconciled
    observedGeneration: "4"
    
  • istioctl analyze:分析结果一目了然。

 % istioctl analyze -n bookinfo               
2022-07-01T09:40:39.338911Z	warn	 networking.istio.io/v1alpha3/Gateway resource [bookinfo/bookinfo-gateway1] could not be found
Error [IST0101] (VirtualService bookinfo/bookinfo) Referenced gateway not found: "bookinfo-gateway1"
Warning [IST0132] (VirtualService bookinfo/bookinfo) one or more host [*] defined in VirtualService bookinfo/bookinfo not found in Gateway bookinfo/bookinfo-gateway1.
Error: Analyzers found issues when analyzing namespace: bookinfo.
See https://istio.io/v1.13/docs/reference/config/analysis for more information about causes and resolutions.

messages说明:istio/pkg/config/analysis/msg/messages.yaml

no healthy upstream

Istio Ingress resulting in “no healthy upstream”

redis、mysql等注入边车后,无法连接问题

通过DestinationRule 禁用 Redis Service 的 mTLS:

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:name: redis-disable-mtls
spec:host: redis.default.svc.cluster.localtrafficPolicy:tls:mode: DISABLE

参考:

  1. Server First Protocols
  2. Istio 运维实战系列(2):让人头大的『无头服务』-上

TCP协议服务故障注入(如:redis)

目前istio故障注入是通过VS实现对http协议的故障,针对TCP协议还未直接支持。

为了解决TCP协议类服务的故障注入,可以采取以下两种方式实现:

  1. 基于 Envoy 的 RedisProxy能力 ,网格内的 Redis 流量将经由 Envoy 代理,通过配置EnvoyFilter来实现。(待验证)
  2. 通过 VS 将匹配到redis端口, 路由到一个未知的service 来实现。
    apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata:name: redis-routenamespace: redisspec:hosts:\- devops-redis.redis.svc.cluster.localtcp:match:\- port: 6379route:destination:host: devops-redis-unknown.redis.svc.cluster.localport:number: 6379

参考:

  1. Help: Is it possible to inject faults in Redis with Envoy Redis Proxy?
  2. Redis 流量管理
  3. [https://stackoverflow.com/questions/66941477/redis-fault-injection-using-istio-and-envoy-filter](redis fault injection using istio and envoy filter)
  4. How to Fault Injection for redis

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/10879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA线上问题排查降龙十八掌

现场问题一般有以下几种问题 CPU,磁盘,内存,GC问题,网络 同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基本上出问题就是df、free、top 三连,然后依次jstack、jmap伺候,具体问题具体分析即可。 …

windows中文界面乱码问题

我的便携是内部返修机,买来时就是英文版,在设置中改成简体中文就可以了,与中文版没有什么区别,已经升级成win11。windows自身的应用、360之类的界面都能正常显示,但是个别应用总是乱码,根据客服的提示设置一…

非线性质量弹簧阻尼器的神经网络仿真研究(Matlab代码Simulink仿真实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

关于在虚拟机CentOS7的Docker下安装Oracle

这不三阶段了,要上Oracle了,感觉这个班卷的程度到位。二阶段我就上了ElementUI和MyBatis,项目也是用这些技术写的,整体钻研程度还行。于是布置了两个任务:在windows下安一下Oracle,在windows下安装Oracle那…

python安装第三方包的两种方式

最近研究QQ空间、微博的(爬虫)模拟登录,发现都涉及RSA算法。于是需要下一个RSA包(第三方包)。折腾了很久,主要是感觉网上很多文章对具体要在哪里操作写得不清楚。这里做个总结,以免自己哪天又忘…

element el-transfer组件实现右侧列表可拖拉拽效果

需求是实现Transfer 穿梭框选中的数据列表&#xff0c;可以拖拉拽进行排序功能。 主要是使用到了sortablejs插件。 首先安装sortablejs npm install sortablejs --save再使用的vue文件中引用插件 <el-transfer ref"transfer" v-model"form" :data&qu…

GRE TAP的工作原理与5G工业物联网中的应用

随着互联网新技术的发展以及智能化水平的提高&#xff0c;各企业对实时数据传输的需求也在不断提升&#xff0c;企业愈发重视数据中心的建设&#xff0c;以保障企业内网数据安全。 GRE&#xff08;Generic Routing Encapsulation&#xff0c;通用路由封装&#xff09;协议属于…

作为一名程序员,IVX你值得拥有

目录 一、IVX是什么 二、IVX编程盒子——低代码平台的首个硬件产品 iVX做硬件的原因 iVX自身特点——安全、方便、高效、低耗 三、IVX编程盒子自带的Demo系统 1. 问题反馈、在线沟通和工单处理系统 2. 大屏幕监管平台 四、IVX和其他代码平台的区别 五、低代码未来的发展…

使用sftp

一、背景 新项目组前端部署方式是Build打包生成dist文件&#xff0c;交由后端部署。后来知道了vscode安装sftp前端可以自行部署。 二、实操 1、vscode安装sftp 2、 配置 ①F1 / ctrlshiftp ②命令行输入sftp -> 选择 sftp: Config ③配置信息介绍 {"name"…

阿里云国际版账号注册常见问题汇总

公司现与阿里云国际站达成战略合作&#xff0c;为客户提供高品质、高性能、高可用的阿里云产品与服务&#xff0c;助力客户用云服务创造更多价值&#xff0c;达成业务转型、加速和创新&#xff0c;全面提升业务竞争力。助企业在各种业务场景中充分利用混合云基础设施进行优化。…

Qt5.14.2+VS2019配置MSVC2017

问题&#xff1a; The compiler " Microsoft Visual C Compiler 16 . 11 . 32106 . 194 ( amd64 x86 )( x86-windows-msvc2019-pe-32bit ) cannot produce code for the Qt version " Qt5.14.2 MSVC2017 64bit " ( x86-windows-msvc2017-pe-64bit 编译器“…

设计模式三:抽象工厂模式(Abstract Factory Pattern)

抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09;是一种创建型设计模式&#xff0c;它提供了一种方式来创建一系列相关或相互依赖的对象&#xff0c;而无需指定具体实现类。 在软件开发中&#xff0c;有时候需要根据不同的条件或环境来创建一组相关的对象。抽象工…

Unity UGUI的TouchInputModule (触摸输入模块)组件的介绍及使用

Unity UGUI的TouchInputModule (触摸输入模块)组件的介绍及使用 1. 什么是TouchInputModule组件&#xff1f; TouchInputModule是Unity中的一个UGUI组件&#xff0c;用于处理触摸输入事件。它可以让你的游戏在移动设备上实现触摸操作&#xff0c;如点击、滑动、缩放等。 2. …

钉钉和金蝶云星空接口打通对接实战

钉钉和金蝶云星空接口打通对接实战 对接系统&#xff1a;钉钉 钉钉是阿里巴巴集团打造的企业级智能移动办公平台&#xff0c;是数字经济时代的企业组织协同办公和应用开发平台。钉钉将IM即时沟通、钉钉文档、钉闪会、钉盘、Teambition、OA审批、智能人事、钉工牌、工作台深度整…

Clion开发Stm32之温湿度传感器(DHT11)驱动编写

前言 涵盖之前文章: Clion开发STM32之HAL库GPIO宏定义封装(最新版)Clion开发stm32之微妙延迟(采用nop指令实现)Clion开发STM32之日志模块(参考RT-Thread) DHT11驱动文件 头文件 /*******************************************************************************Copyrig…

制定机器学习规划路线:从入门到专业

文章目录 &#x1f340;第一阶段&#xff1a;入门基础&#x1f340;了解机器学习概念&#x1f340;学习编程和数学基础&#x1f340;探索经典机器学习算法&#x1f340;完成实践项目 &#x1f340;第二阶段&#xff1a;深入学习&#x1f340; 掌握深度学习基础&#x1f340;学习…

ceph-mon运行原理分析

一、流程&#xff1a;ceph-deploy部署ceph-mon组建集群 1.ceph-deploy部署ceph-mon的工作流程及首次启动 1&#xff09;通过命令创建ceph-mon&#xff0c;命令为&#xff1a;ceph-deploy create mon keyring def mon(args):if args.subcommand create:mon_create(args)elif…

查找-多路查找详解篇

多路查找树 多路查找树&#xff08;Multway Search Tree&#xff09;是一种高级的树形数据结构&#xff0c;它 允许每个节点有多个子节点&#xff08;通常大于等于2&#xff09;。多路查找树的每个节点 可以存储多个关键字和对应的值。分类 2-3树&#xff08;2-3 Tree&#x…

什么是多运行时架构?

服务化演进中的问题 自从数年前微服务的概念被提出&#xff0c;到现在基本成了技术架构的标配。微服务的场景下衍生出了对分布式能力的大量需求&#xff1a;各服务之间需要相互协作和通信&#xff0c;以及共享状态等等&#xff0c;因此就有了各种中间件来为业务服务提供这种分…

逻辑斯特回归

*分类是离散的&#xff0c;回归是连续的 下载数据集 trainTrue&#xff1a;下载训练集 逻辑斯蒂函数保证输出值在0-1之间 能够把实数值映射到0-1之间 导函数类似正态分布 其他饱和函数sigmoid functions 循环神经网络经常使用tanh函数 与线性回归区别 塞戈马无参数&#x…