制作动态网站用什么软件/郑州网站建设公司哪家好
目录
- 一、前言
- 二、准备工作
- 三、问题排查
- 四、总结
- 参考资料
一、前言
在经过前面几天k8s和Istio的安装之后,开始进入最核心的阶段。微服务在抛弃传统的服务注册和服务发现之后,是怎么在istio怎么做服务间的调用的呢?本次实战花费了我2-3天的时间,经过不断的尝试,折腾,最后终于把服务间的调用调通了。下面我将介绍我本次的实践过程,希望对于同样在研究这个技术有困难的同学提供一定的帮助。
二、准备工作
对应不熟悉的技术,我也是首先找了这方面的博文。我本次也是参考如下两篇博文进行实践的:
- istio gateway入口流量路由管控
- istio 访问网格内的服务(路由管理)
对于第一篇博文还是比较顺利的,问题就出在第二篇博文。在最关键的那一步服务间的调用,出现问题了,报错日志如下:
upstream connect error or disconnect/reset before headers. reset reason: connection failure, transport failure reason: delayed connect error: 111
我看有博文上有显示pilot 的pod,我还还怀疑是我少安装了pilot,找了一圈也没发现怎么安装pilot。
后面再安装了kiali 之后,在调用中又看到了如下的报错:
PassthroughCluster
然后又经过一阵折腾,又报了如下的错误:
503 Service Unavailable: [no body]
后面我还咨询了博主本人,问是不是spring项目中需要加spring-cloud-kubernetes 依赖,然后博主还回复我了不需要这个,用的就是istio的 LoadBalancer。
三、问题排查
几个关键点如下:
- ingressgateway 的类型
istio 安装时使用istioctl install --set profile=demo -y 安装的时候ingressgateway 默认安装的类型就是LoadBalancer,后面我为了方便访问我改完了NodePort。通过上面博主的提示,然后我看他博文里面ingressgateway 的类型确实为LoadBalancer,于是我就将它改过来了,然后我看他的EXTERNAL-IP 是“localhost” 于是我也将我的ingressgateway 的EXTERNAL-IP 改为了本机IP,如下图所示:
- istio-springboot-demo-b服务是否正常
当我安装istio-springboot-demo-a服务的方式部署完istio-springboot-demo-b后,发现istio-springboot-demo-b并不能正常访问。我才发现istio-springboot-demo-a项目的端口是8080,这是微服务默认的端口,istio-springboot-demo-b服务在容器里面配的是8081,但是我在微服务项目里面并没有配置这个端口,于是我加上配置重新打包镜像。至于怎么通过容器端配置修改服务的端口我后面再研究。
3.服务间调用通过IP是否能调用通
当我在阅读如下博文Istio(十二):Istio问题排查的之后,我查看了我的springboot-demo-b服务的情况,如下图所示
于是服务间调用我通过POD IP可以正常调用,如下图所示:
然后我又通过SVC IP也可以正常调用,如下图所示:
在我写本文之前SVC 端口是8081,后面我将SVC 端口IP换成了80,
后面又通过服务名+端口也可以正常调用了,如下图所示:
最后,我将SVC 端口8081改为80就大功告成了(80端口可以省略,同命名空间调用.svc.cluster.local也可以省略)
四、总结
通过本次实验,掌握了通过命令修改SVC type和externalIPs的方法,如下所示:
kubectl patch service kiali -n istio-system -p '{"spec":{"type":"NodePort"}}'
kubectl patch svc istio-ingressgateway --namespace istio-system --patch '{"spec": { "externalIPs": ["192.168.1.29"] }}'
还包括kubectl的如下方法:
kubectl edit svc istio-ingressgateway -n istio-systemkubectl get pod istio-springboot-demo-b-v1-6859cf6699-nrl4r -n istio-demos -o json kubectl describe pod istio-springboot-demo-b-v1-5c789bf465-72f4c -n istio-demos
另外学会了xshell 批量发送请求
for i in $(seq 1 100); do curl -s -o /dev/null "http://192.168.1.29:32207/productpage"; done
参考资料
- istio 访问网格内的服务(路由管理)
- istio gateway入口流量路由管控
- Istio(十二):Istio问题排查
- istio服务案例实践
- 在 Istio 中调试 503 错误
- OpenShift 4 之Istio-Tutorial (8) 在服务之间配置Mutual TLS双向传输安全
相关文章:

istio实战:springboot项目在istio中服务调用
目录 一、前言二、准备工作三、问题排查四、总结参考资料 一、前言 在经过前面几天k8s和Istio的安装之后,开始进入最核心的阶段。微服务在抛弃传统的服务注册和服务发现之后,是怎么在istio怎么做服务间的调用的呢?本次实战花费了我2-3天的时…...

随机分布模型
目录 前言 一、离散型随机变量 1.1 0-1分布 1.2 二项分布 1.3 帕斯卡分布 1.4 几何分布 1.5 超几何分布 1.6 泊松分布 二、连续型随机变量 2.1 均匀分布 2.2 指数分布 2.3 高斯分布/正态分布 2.4 分布(抽样分布) 2.5 t分布(抽样…...

Visual Studio:Entity设置表之间的关联关系
1、选择表并右键-》新增-》关联 2、设置关联的表及关联关系并“确定”即可...

每日五道java面试题之spring篇(二)
目录: 第一题 Spring事务传播机制第二题 Spring事务什么时候会失效?第三题 什么是bean的⾃动装配,有哪些⽅式?第四题 Spring中的Bean创建的⽣命周期有哪些步骤?第五题 Spring中Bean是线程安全的吗? 第一题 Spring事务…...

287.【华为OD机试真题】字符串序列判定(贪心算法—JavaPythonC++JS实现)
🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-字符串序列判定二.解题思路三.题解代码Python题…...

Sentinel微服务流量治理组件实战上
目录 分布式系统遇到的问题 解决方案 Sentinel 是什么? Sentinel 工作原理 Sentinel 功能和设计理念 流量控制 熔断降级 Sentinel工作主流程 Sentinel快速开始 Sentinel资源保护的方式 基于API实现 SentinelResource注解实现 Spring Cloud Alibaba整合…...

Three.js加载PLY文件
这是官方的例子 three.js webgl - PLY 我在Vue3中使用,测试了好久始终不显示点云数据。在网上查询后发现ply文件要放置在public目录下才行 <el-row><el-button type"primary" class"el-btn" click"IniThree1">PLY</…...

chrome闪退后打不开问题 打开立即闪退
今天刚遇到,大概率是某些网站引起的闪退,重启和清理也不能解决问题 网上到处都是答非所问,还有什么打开chrome再进行设置这种回答 在此解决下 注意该方法根据我测试,唯一会损失的是chrome扩展,可以提前去 C:\Users…...

Slave被误写入数据如何恢复到主库
背景 在GreatSQL主从复制环境中,有时候可能会出现一些误操作,将本应该写入到主库的数据写入到了从库,导致主从数据不一致,影响数据同步。是否可以将写入从库的数据同步写入主库呢? 测试环境 角色IP地址数据库开放端…...

kafka生产者
1.原理 2.普通异步发送 引入pom: <dependencies><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.0.0</version></dependency><dependency><g…...

前后端分离Vue+node.js在线学习考试系统gqw7o
与其它应用程序相比,在线学习平台的设计主要面向于学校,旨在为管理员和学生、教师、院系提供一个在线学习平台。学生、教师、院系可以通过系统及时查看公告信息等。 在线学习平台是在Windows操作系统下的应用平台。为防止出现兼容性及稳定性问题…...

关于el-select值的回显问题 : 框内显示label值还是value值
<el-form-item label"状态" prop""><el-selectv-model"roleForm.state"class"m-2"size"large"style"width: 240px"placeholder"请选择状态"value-key"value"//value-key 与下面的ke…...

MCU多核异构通信原理
摘要: 本文结合瑞萨RZ/G2L 多核处理器,给大家讲述一下多核异构设计及通信的原理。 随着电子技术的不断发展,以及市场需求的日益增长,嵌入式系统不仅要求执行复杂的控制任务,还需要实时地采集和处理数据。 为了满足这…...

在autodl搭建stable-diffusion-webui+sadTalker
本文介绍在autodl.com搭建gpu服务器,实现stable-diffusion-webuisadTalker功能,图片音频 可生成视频。 autodl租GPU 自己本地部署SD环境会遇到各种问题,网络问题(比如huggingface是无法访问),所以最好的方…...

【办公类-16-10-01】“2023下学期 中4班 自主游戏观察记录(python 排班表系列)
背景需求 上学期的周安排里,每班每周的自主游戏会轮到多个不同的内容 因此在每周的自主游戏观察有2次记录,观察的项目可以写不一样的, 如一位老师写沙水游戏,另一位写表演游戏 本学期,中班的自主游戏全部是户外的&am…...

机器学习:SVM算法(Python)
一、核函数 kernel_func.py import numpy as npdef linear():"""线性核函数:return:"""def _linear(x_i, x_j):return np.dot(x_i, x_j)return _lineardef poly(degree3, coef01.0):"""多项式核函数:param degree: 阶次:param …...

基于yolov5的人脸口罩检测,可进行图像目标检测,也可进行视屏和摄像检测(pytorch框架)【python源码+UI界面+功能源码详解】
功能演示: 基于yolov5的人脸口罩检测系统,支持图像检测,视频检测和实时摄像检测功能(pytorch框架)_哔哩哔哩_bilibili (一)简介 基于yolov5的人脸口罩检测系统是在pytorch框架下实现的&#…...

2024如何恢复旧版的Chrome的主题样式
起因 chrome 更新版本之后的主题样式变成了浅紫色的页签卡样式,感觉很不习惯,也很不喜欢 如何换回旧版主题 通过主题商店,安装旧版本的主题 主题商店搜索下面,或着直接访问下面的地址 Chrome Original White Theme https://…...

【文生视频】Diffusion Transformer:OpenAI Sora 原理、Stable Diffusion 3 同源技术
文生视频 Diffusion Transformer:Sora 核心架构、Stable Diffusion 3 同源技术 提出背景输入输出生成流程变换器的引入Diffusion Transformer (DiT)架构Diffusion Transformer (DiT)总结 OpenAI Sora 设计思路阶段1: 数据准备和预处理阶段2: 架构设计阶段3: 输入数据…...

Redis 服务集群、哨兵、缓存及持久化的实现原理和应用场景
Redis 是一种高性能的键值存储系统,已经成为了许多企业和互联网公司的核心技术之一。本文将介绍 Redis 的服务集群、哨兵以及缓存实现原理和应用场景,以帮助读者更好地理解和使用 Redis。 引言: 随着互联网应用规模不断扩大,Redi…...

通过Redis增减库存避坑
问题: 先执行get获取值,判断符合条件再执行incr、decr操作。在临界缓存失效的情况下,会默认赋值当前key为永不过期的0,再执行加减法,导致程序异常。 推荐解决方案: 1、限制接口频率:先incr&…...

Windows系统搭建Elasticsearch引擎结合内网穿透实现远程连接查询数据
文章目录 系统环境1. Windows 安装Elasticsearch2. 本地访问Elasticsearch3. Windows 安装 Cpolar4. 创建Elasticsearch公网访问地址5. 远程访问Elasticsearch6. 设置固定二级子域名 Elasticsearch是一个基于Lucene库的分布式搜索和分析引擎,它提供了一个分布式、多…...

Java爬虫使用JSoup获取静态资源图片
import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.FileOutputStream;/*** 获取静态图片*/public class ImageDownloader {public static void main…...

LeetCode 2433.找出前缀异或的原始数组
给你一个长度为 n 的 整数 数组 pref 。找出并返回满足下述条件且长度为 n 的数组 arr : pref[i] arr[0] ^ arr[1] ^ … ^ arr[i]. 注意 ^ 表示 按位异或(bitwise-xor)运算。 可以证明答案是 唯一 的。 示例 1: 输入…...

C++面试:系统网络性能评估与优化
系统网络性能评估与优化是指对计算机系统中的网络部分进行评估分析,并采取一系列措施来提升网络性能的能力。在面试中,涉及这一主题的问题可能会围绕以下几个方面展开。 网络性能评估 基于网络延迟、带宽、吞吐量等指标对网络性能进行评估。使用工具&a…...

Java适配器模式 - 灵活应对不匹配的接口
Java适配器模式 - 灵活应对不匹配的接口 引言: 在软件开发中,我们经常遇到不同系统、库或框架之间的接口不兼容问题。为了解决这些问题,我们可以使用适配器模式。适配器模式是一种结构型设计模式,它允许不兼容的接口之间进行协作…...

[ai笔记12] chatGPT技术体系梳理+本质探寻
欢迎来到文思源想的ai空间,这是技术老兵重学ai以及成长思考的第12篇分享! 这周时间看了两本书,一本是大神斯蒂芬沃尔弗拉姆学的《这就是ChatGPT》,另外一本则是腾讯云生态解决方案高级架构师宋立恒所写的《AI制胜机器学习极简入门》…...

Elasticsearch:使用 ELSER v2 进行语义搜索
在我之前的文章 “Elasticsearch:使用 ELSER 进行语义搜索”,我们展示了如何使用 ELESR v1 来进行语义搜索。在使用 ELSER 之前,我们必须注意的是: 重要:虽然 ELSER V2 已正式发布,但 ELSER V1 仍处于 [预览…...

智慧农业之智能物流
智慧物流属于农业生产环节中的重要节点,上游为农业生产环节,下游为销售与商贸环节,因此,通过联通生产与销售环节,通过合理调配物流过程,可以实现对于农产品的快速运输与销售,减少中间环节中的无效损耗,从而实现增收节支,实实在在地解决了农产品利润偏低的问题。 生产…...

Redis主从、哨兵、Redis Cluster集群架构
Redis主从、哨兵、Redis Cluster集群架构 Redis主从架构 Redis主从架构搭建 主从搭建的问题 如果同步数据失败,查看log日志报错无法连接,检查是否端口未开放出现”Error reply to PING from master:...“日志,修改参数protected-mode no …...