在kubernetes集群上使用istio遇到的问题

k8s集群内部服务,调用外部服务出现15秒超时的问题(基于k8s+Istio) 下面开始处理这个问题。创建完文件,给他 kubectl apply -f ServiceEntry.yaml 执行一下,让他在集群中生成我们自定义的这个服务入口。会有超时时间,这时候处理思路就是创建一个虚拟服务,指向这个外部服务地址,也就是变相的将外部服务放在istio管理下,主要应对超时问题。在deployment中添加对应的配置(此处有问题,每个服务要访问都需要加,因此不推荐使用这个方案,尽量使用上边的正规方案)。1、创建一个 ServiceEntry.yaml 文件,作为外部服务的服务入口。 阅读详情
前言

按照官方文档安装完成,并检查安装好以后。部署官方示例bookInfo,以及插件grafana,zipkin,promeuthes。本以为后面的使用会十分顺畅,结果不尽人意,发现把测试环境的一个用户中心微服务交给istio管理的之后,居然其他微服务和此为服务之间完全无法相互调用了。后面发现了三个坑。

QA
  1. istio的微服务如果需要调用外部的http或者grpc等服务,需要使用Egress(意思是出口流量管理的允许),这种情况可参考https://zhuanlan.zhihu.com/p/35150763.另外一种解决方法是使用includeIPRanges。如下在部署的时候为istioctl添加参数:

        - kubectl apply -f <(istioctl kube-inject --includeIPRanges=10.0.0.1/24 -f deploy/$CI_BUILD_REF_SLUG/kube-user.yml)

    其中的10.0.0.1/24是我授权访问的ip地址

  2. 在官方文档说明中,有说明加入sidecar的前提条件,其中说明需要在命名service的暴露端口的时候,使用[-],因为我用的之前的yaml编排文件,后面才发现这个也需要改。官方说明如下:

    Named ports: Service ports must be named. The port names must be of the form [-] with http, http2, grpc, mongo, or redis as the in order to take advantage of Istio’s routing features. For example, name: http2-foo or name: http are valid port names, but name: http2foo is not. If the port name does not begin with a recognized prefix or if the port is unnamed, traffic on the port will be treated as plain TCP traffic (unless the port explicitly uses Protocol: UDP to signify a UDP port).

    https://istio.io/docs/setup/kubernetes/sidecar-injection.html

  3. 安装istio的Quick Start文档中,有特别说明如果需要和其他没有istio的服务通信,则必须使用非TLS SIDECAR的安装。当时安装的时候由于没有细看,看了一眼就急匆匆的去安装尝鲜了,结果这个问题后来花了我2,3个小时。原文如下:

    Install Istio’s core components. Choose one of the two mutually exclusive options below or alternately install with the Helm Chart:
    a) Install Istio without enabling mutual TLS authentication between sidecars. Choose this option for clusters with existing applications, applications where services with an Istio sidecar need to be able to communicate with other non-Istio Kubernetes services, and applications that use liveliness and readiness probes, headless services, or StatefulSets.
    kubectl apply -f install/kubernetes/istio.yaml
    Copy
    OR
    b) Install Istio and enable mutual TLS authentication between sidecars.:
    kubectl apply -f install/kubernetes/istio-auth.yaml

参考
  1. https://zhuanlan.zhihu.com/p/35150763
  2. https://istio.io/docs/setup/kubernetes/sidecar-injection.html
后话
  1. 查阅文档的时候,一定要仔细,理解其中的重点,特别是英文文档,中文文档同样也不能走马观花,囫囵吞枣。
  2. 切忌心浮气躁,宁静致远。
istio在k8s集群上的部署+istio的实例应用(BookInfo) istio是一个可以实现微服务之间的互联、微服务间通信的鉴权、对访问微服务的流量的控制以及对微服务进行监视的一个服务网格,其通过将代理注入到微服务所在的pod的方式,实现上述功能,可以让应用开发人员只专注于业务本身,提高了开发效率,下面我们就来在k8s集群上部署一下istio,并进行istio的实例测试(官方给的BookInfo微服务) 一、istio的安装: 集群环境: ... 阅读详情

相关推荐

自动配胶机的PLC控制系统设计

我们根据自动配胶机的控制需求,编写了相应的PLC程序。PID温度控制算法的实现方面,我们采用了经典的PID控制算法,通过不断调整加热器的功率,实现对胶水混合温度的精确控制。在PLC程序中,我们编写了PID控制算法的程序模块,通过实时采集温度传感器的数据,计算温度偏差和偏差变化率,并根据PID控制算法计算出加热器的功率输出值,实现对温度的精确控制。在系统调试阶段,我们对自动配胶机的各个部分进行了详细的测试和调试,包括气路和液路的开关测试、传感器的精度测试、步进电机的位置和速度测试以及PLC程序的逻辑测试等。

lagougongzuoshi的博客 1228

istio之流量治理篇

对于service mesh来说,一个比较大的特点就是把路由转发和流量控制这一层下沉到这一层面来做,可以让业务不去操心这部分事情。本篇文章就是来整理和讲解istio中的流量治理功能,更准确...

zhghost的专栏 1747

傻白入门芯片设计,指令集架构、微架构、处理器内核(十一)

通俗理解指令集架构、微架构和处理器内核的关系

qq_46675545的博客 6017

基于Istio的高级流量管理一

使用 sidecar 后的链路istio 会获取 当前集群内的所有 service 信息并组成一个个的 cluster,一个service 就会有一个 CLUSTER,一个 Pod 会生成一个 ENDPOINTistio 把对应的 CLUSTER 和 ENDPOINT 组合起来当我们插入sidecar 去启动一个服务时,ENDPOINT 的端口、outbound 的端口、route 的配置、cluster 的配置都会被配置好这个时候请求往外走了,到了主机的iptables。.........

weixin_45081220的博客 865

104报文解析工具

可选择包含报文的文本文件或日志文件进行解析,可选择按条数范围或时间范围,输出结果可以在报文解析显示区,也可以输出到文件。可以对文本内容的报文文件进行高级分析,包括遥信遥测等通讯数据的具体信息,通讯帧的统计,通讯次数的统计,各种错误的分析,报文的定位功能,传输的文件具体内容等。输入完成后点击工具栏的解析报文按钮或使用右键菜单的解析就可以对报文进行解析。在报文输入区输入待解析报文并解析后,解析结果就显示在报文解析显示区和报文定位展示区及报文定位条目区。当有多条报文解析后,可以通过报文列表树具体定位某条报文。

XZHOUMIN的博客 5952

SpringCloud 2025王炸更新!GraalVM原生镜像启动速度提升90%实战

在当今云原生和Serverless架构盛行的时代,应用的启动速度已成为衡量技术栈竞争力的关键指标。传统SpringCloud应用由于依赖JVM的动态类加载、反射等机制,启动时间通常超过30秒,在Kubernetes滚动更新和函数计算场景下成为显著性能瓶颈。2025年,SpringCloud迎来里程碑式更新,通过深度集成GraalVM原生镜像技术,实现了启动速度提升90%的惊人突破,让SpringCloud应用正式进入"秒级启动"时代。

小筱在线博客 1100

Istio参数调优

本篇介绍和Istio性能关系较大的几个参数。仅供参考。 1.keepaliveMaxServerConnectionAge 这是Helm部署参数。它控制的是这是参数控制sidecar连接Polit的最长时间。在Isiot1.1中,默认时间是30分钟。 我们知道,在istio中,sidecar是要和Polit进行通讯的。Polit的实例数量通常不止一个。这就带来一个问题:如果Istio的访问量突然增...

liqiuman180688的博客 2134

Windows非分页缓冲池内存泄漏实战:PoolMon与RAMMap高效排查指南

本文详细介绍了Windows系统中非分页缓冲池内存泄漏的实战排查方法。当系统出现卡顿且内存占用异常增长时,通过RAMMap工具快速定位非分页缓冲池异常,并利用PoolMon监控内核内存分配标签,精准锁定泄漏源。文章提供了从确认症状、安装工具到使用findstr命令溯源驱动文件的完整五步排查流程,并总结了常见泄漏标签与解决方案,帮助用户高效解决深层系统内存问题。

weixin_28455801的博客 1014

[kubernetes]故障排查 istio

[kubernetes]故障排查 istio 问题是这样的,部署了自己公司的服务,发现相关的的pods都只有二分之一个容器是READY的。 启动deployment 显示not ready 我这里的pod是由一个tomcat容器和一个sidecar容器组成的。 1/2 running表示sidecar容器有问题,通过查看日志并指定容器 发现的确是sidecar健康检查有问题 没有通过readiness probe测试的是istio-proxy这个容器。它的readiness probe规则定义如下。 re

爷来辣的博客 6710

FFmpeg视频编码的流程详解及参考demo

本文主要讲解FFmpeg的视频编码的具体流程,API使用。最后再以一个非常简单的demo演示将一个yuv数据文件编码为H264的视频文件,也就是YUV编码为H264。

分享音视频技术 4502

RK3588平台开发系列讲解(以太网篇)MDIO底层驱动

沉淀、分享、成长,让自己和他人都能有所收获!😄。

内核笔记 6886

istio实战:springboot项目在istio中服务调用

在经过前面几天k8s和Istio的安装之后,开始进入最核心的阶段。微服务在抛弃传统的服务注册和服务发现之后,是怎么在istio怎么做服务间的调用的呢?本次实战花费了我2-3天的时间,经过不断的尝试,折腾,最后终于把服务间的调用调通了。下面我将介绍我本次的实践过程,希望对于同样在研究这个技术有困难的同学提供一定的帮助。另外学会了xshell 批量发送请求done。

luckywuxn的博客 2907

SPICE仿真软件:HSPICE_(20).HSPICE仿真结果的后处理

HSPICE仿真结果的后处理是一个多步骤的过程,包括读取结果文件、可视化、分析和导出。通过使用命令行工具、Python脚本和HSPICE内置工具,可以高效、准确地完成这些任务。Python脚本的灵活性和强大的数据分析能力使其成为后处理的理想选择。自动化处理可以显著提高工作效率,减少人为错误,而高级分析方法可以更深入地理解仿真结果,为电路设计提供有力支持。

kkchenjj的博客 1382

k8s集群安装Istio过程记录及问题总结

这篇文章记录一下k8s集群安装Helm、Istio 和 Kiali,方便学习相关概念。前提需要k8s集群:Arm64架构(MacBookPro M1)虚拟机安装k8s1.27.3版本记录及问题总结Helm是k8s机群的包管理器,我们可以通过Helm在k8s集群安装应用。Istio是一个功能强大的服务网格平台,为微服务架构提供了一套丰富的工具和功能,以简化和增强服务之间的通信、安全性和可观察性。Kiali 仪表板展示了网格的概览以及 Bookinfo 示例应用的各个服务之间的关系。

DreamsArchitects的博客 2047

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Istio Mixer Adapter开发 (一)K8S环境搭建

系列导航 Istio Mixer Adapter开发 (一)K8S环境搭建 Istio Mixer Adapter开发 (二)Istio环境搭建 Istio Mixer Adapter开发 (三)自定义Mixer Grpc Adapter部署 概述 由于Kubernetes(后面简称K8S)本身是一个非常复杂的容器管理平台/容器编排系统,本文重点是讲述Istio Mixer适配器组件的开发,在...

weixin_34029680的博客 346

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

学习k8s要学习哪些知识点?

33,993 关注问题​写回答 ​邀请回答 ​好问题 1 ​1 条评论 ​分享 ​ 登录后你可以 不限量看优质回答私信答主深度交流精彩内容一键收藏 登录 查看全部 9 个回答 Linux段子手老王 B站:Linux段子手老王 公众号:程序员面试吧 4 人赞同了该回答 Kubernetes 作为云原生的核心平台,吸引了越来越多的运维、开发、测试、项目、以及其他技术人员去了解、学习、掌握它。 可能在几年前,你只要会使用 Kubernetes,就可以找到一份待遇丰厚的工作。但是现

wangbaosongmsn的博客 1600

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

从头开始搭建kubernetes集群+istio服务网格(3)—— 搭建istio

(win10 + virtualbox6.0 + centos7.6.1810 + docker18.09.8 + kubernetes1.15.1 + istio1.2.3) 本系列分为三章,第一章是创建虚拟机、docker、kubernetes等一些基础设施;第二章是在此基础上创建一个三节点的kubernetes集群;第三章是再在之上搭建istio服务网格。 本文参考了大量其他优秀作者的创作(已经在开头列出),自己从零开始,慢慢搭建了istio服务网格,每一步都在文章中详细地列出了。

weixin_42711936的博客 2520

dsh-web-ui 安装教程:一条命令到手 8 个插件与 14 款皮肤(DSH Web UI 定制完整指南)

DSH 原生 Web UI 比较朴素:功能入口藏得深,翻提交历史费劲,想改界面又只能直接动源码。dsh-web-ui 是面向 DSH Web UI 的开源插件生态:任务看板、Git 图谱、皮肤中心、手机远程等 8 个模块一条命令装齐,全程不碰 DSH 源码,还内置 14 款皮肤可直接换装。 [![dsh-web-ui 主界面:侧边栏插件入口与聊天区](https://raw.gitcode.co

gitblog_00960的博客 198

带你全景俯瞰云原生与 kubernetes

按字面意思的理解,云原生应用是指在云上生长出来的应用,云上的“原住民”。业界还有阿里的 ACK,腾讯的 TKE,华为的 CCE 等竞品。有个说法很形象:K8S 只是一套毛坯样板,而像 GKE 这样的平台则相当于房地产商,开发并出售一套套精装修的商品房,让你可以拎包入住。同一个 Pod 内的容器共享同一个 IPC 命名空间,它们可以使用标准的进程间通信方式来互相通信,比如“SystemV 信号量”与“POSIX 共享内存”。身处技术变革浪潮的后台同学,应该都深切地感受到了云原生技术在公司内外的蓬勃发展。

j简说Linux的博客 883

KeyarchOS安装Istio 1.15.0

浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。,提供了统一、高效和透明的方式来保护、连接和监控云原生应用程序中的服务,支持零信任网络、策略执行、流量管理、负载均衡和监控,且所有这些都不需要重写应用程序。2、关闭防火墙和Selinux,以及swap分区。

ITer_szlgz的博客 787

Kubernetes + .NET Core 的落地实践

1容器化背景本来生活网(benlai.com)是一家生鲜电商平台,公司很早就停止了烧钱模式,开始追求盈利。既然要把利润最大化,那就要开源节流,作为技术可以在省钱的方面想想办法。我们的生产环...

dotNET跨平台 916

Istio在KeyarchOS上的安装及入门使用

目录 1 概述 2 安装准备 2.1 操作系统环境 2.2 Istio版本 2.3 kubernetes版本 2.4 Docker版本 3 安装 3.1 安装kubernetes 3.2 部署kubernetes集群 3.3 安装Istio 4 常见问题 1 概述 浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换

KeyarchOS的博客 1227

从头开始搭建kubernetes集群+istio服务网格(2)—— 搭建kubernetes集群

(win10 + virtualbox6.0 + centos7.6.1810 + docker18.09.8 + kubernetes1.15.1 + istio1.2.3) 本系列分为三章,第一章是创建虚拟机、docker、kubernetes等一些基础设施;第二章是在此基础上创建一个三节点的kubernetes集群;第三章是再在之上搭建istio服务网格。 本文参考了大量其他优秀作者的创作(已经在开头列出),自己从零开始,慢慢搭建了istio服务网格,每一步都在文章中详细地列出了。

weixin_42711936的博客 1945

k8s搭建Istio环境,案例pod一直处在Init:CrashLoopBackOff

刚刚执行的modprobe命令为手动加载,当重启操作系统后还需要再次加载,为了永久生效,我们可以在/etc/sysconfig/modules/下创建iptables.modules输入。1 部署calico网络环境,网上去找k8s版本对应的calico的配置文件,k8s2.8.0我用的3.28。设置sh /etc/sysconfig/modules/iptables.modules #临时生效。执行完成之后可以通过命令查看一下模块加载情况。查看日志基本没输出,查看描述如下。查看在创建阶段发生的问题。

m0_72363694的博客 818
上一篇: kubernetes下搭建harbor企业级docker仓库
下一篇: 我理解的Linux IO模式及select,poll,epoll
anteoy
博客等级 码龄10年 24粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值