Istio 实战

news2024/11/17 13:51:42

文章目录

  • Istio流量管理分享会
    • 【1】什么是istio?
    • 【2】istio 可以干什么?
    • 【3】业务中的痛点?
    • 【4】istio 高级流量管理
      • 5.1 istio 组件介绍与原理
      • 5.2 sidercar何时注入?如何控制是否注入?
      • 5.3 查看sidecar 容器插入的容器中的iptables
      • Destination Rule
      • Virtual Service
      • Gateway
      • service entry
    • 【5】istio案例
      • 5.0 istio部署与安装
      • 5.1 业务背景介绍
      • 5.2 部署服务
    • 【6】集成kiali 和jaeger
    • 【7】集成prometheus 和grafana
    • 【8】金丝雀发布
      • 8.1 精细化流量管理
      • 8.2 自动化灰度发布
    • 【9】流量治理
    • 【10】双刃剑
    • 【11】参考

Istio流量管理分享会

Start Date: October 31, 2023
End Date: October 27, 2023
Tags: Life, Work
Status: Not started

技术分享会

【1】什么是istio?

  • Istio是一个用于服务治理的开放平台。
  • Istio是一个Service Mesh形态的用于服务治理的开放平台。
  • Istio是一个与Kubernetes紧密结合的适用于云原生场景的Service Mesh形态的用于服务治理的开放平台。

只要服务间有访问,如果需要对服务间的访问进行管理,就可以使用Istio。

CNCF 社区2023 年6月毕业的一个项目。

  • 流行度
  • 稳定性

什么是南北流量 ?东西流量?

南北: ingress → svc → ep → po

东西: svc → svc

流量被集群的coreDNS解析之后,istio 就接管流量了。istio 会动态发现svc 、 pod 和ep。

在这里插入图片描述

【2】istio 可以干什么?

  • 自动通过服务发现获取服务实例列表,并根据负载均衡策略选择一个服务实例
  • 对服务双方启用双向认证和通道加密 mtls
  • 如果某个服务实例连续访问出错,则可以将该实例隔离一段时间,以提高访问质量
  • 设置最大连接数、最大请求数、访问超时等对服务进行保护
  • 限流
  • 对请求进行重试
  • 修改请求中的内容
  • 将一定特征的服务重定向
  • 灰度发布
  • 自动记录服务访问信息
  • 记录调用链,进行分布式追踪
  • 根据访问数据形成完整的应用访问拓扑
  • ……

所有这些功能,都不需要用户修改代码,用户只需在Istio的控制面配置即可,并且动态生效

对业务代码完全没有侵入性

【3】业务中的痛点?

  • 微服务调用链路内部是一个黑盒,排查问题主要靠猜? kiali workload graph
  • 如何让网格内的服务调用链路清晰呈现? 不同版本服务之间调用成功率、时间、请求内容大小? kiali version graph
  • 线上服务cpu 100% 如何快速定位是哪个服务?jaeger 链路追踪分析
  • 发布版本提心吊胆( 研发 + 运维 + 产品) ?金丝雀

【4】istio 高级流量管理

5.1 istio 组件介绍与原理

istio安装后,有三个组件. 其中istio-ingress 是入口网关,和ingress 功能类似。

istiod 是istio的控制面.

envory作为sidercar 容器跑在业务pod中,是数据面。在pod的镜像中叫istio-proxy

[root@k8s-worker-node1 istio-1.19.3]# kubectl -n istio-system get deploy
NAME                   READY   UP-TO-DATE   AVAILABLE   AGE
istio-egressgateway    1/1     1            1           23h
istio-ingressgateway   1/1     1            1           23h
istiod                 1/1     1            1           23h

k get po
NAME                                READY   STATUS    RESTARTS   AGE
advertisement-v1-6b65cd7c78-wtt4n   2/2     Running   0          4h11m
forecast-v1-58ffc96649-bsxxr        2/2     Running   0          4h11m
frontend-v1-58896bbfdd-x66jv        2/2     Running   0          4h11m

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

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

相关文章

Qwt QwtPlotMultiBarChart绘制多列柱状图

1.概述 QwtPlotMultiBarChart 是 Qwt 绘图库中的一个类,用于绘制多列柱状图。它可以显示多个柱状条并将它们按照不同的类别分组显示。每个类别下的柱状条可以有不同的颜色和宽度。 以下是类继承关系图: 2.常用方法 设置数据: void setSam…

不小心commit错误代码,还没push的回滚解决方法

命令:git reset --soft HEAD^ 第一步:找到项目所在文件夹 第二步,右键点击git base here 第三步,命令行输入git reset --soft HEAD^ 回车即可

【java】【MyBatisPlus】【三】【完】MyBatisPlus扩展

目录 一、分页查询lambdaQueryWrapper 二、自定义分页查询 1、UserMapper 2、UserMapper.xml 3、测试方法 三、MybatisX插件 1、安装 2、MybatisX代码快速生成 2.1 连接数据库 2.2 操作需要生成代码的表 3、MybatisX快速生成CRUD(前提步骤2生成&#xff…

FPGA_Quartus 如何生成 jic 文件

打开要转换 jic 的工程文件,打开 File——Convert Programming Files。如图所示: 进入下面界面后,在框 1 处选择将要转换的目标文件类型(jic),在框 2 处选择配置芯片的型号(此处选择 EPCS16&a…

代码随想录Day32 动态规划01 LeetCodeT509 斐波那契数列 T70 爬楼梯 T746 爬楼梯的最小消耗

前言:动态规划基础 动态规划首先可以解决的问题有背包问题,打家劫舍问题,股票问题,子序列问题等,主要是将一个大的问题切分成多个重叠的子问题,所以动态规划一定是上一个状态递推过来的,有一个重要的状态转移方程,但是这也并不是解题的全部,我们将动态规划的题目基本分为五步来…

【AI视野·今日Sound 声学论文速览 第八期】Wed, 20 Sep 2023

AI视野今日CS.Sound 声学论文速览 Wed, 20 Sep 2023 Totally 1 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers Accelerating Diffusion-Based Text-to-Audio Generation with Consistency Distillation Authors Yatong Bai, Trung Dang, Dung Tran, K…

Qt QUrlQuery详解

1.概述 QUrlQuery 是Qt框架中用于操作URL查询部分的类,提供了一些方法来解析和构造URL查询字符串。URL查询部分通常是在URL中使用 "?" 后面的一串参数,用于传递数据或配置信息。 如下图所示:也就是 "?" 后面的一串参数…

30秒get视频号视频如何下载,保存视频号视频到本地方法!

终于可以告别无法下载视频号视频的烦恼啦!下面是一些只需 30 秒就能get到的t视频号视频如何下载方法,让我们一起来探索如何保存视频号视频到本地方法吧! 首先,要记得这些方法仅适用于个人观看或学习使用,不可用于商业用…

SpringBoot,使用JavaMailSender发送邮件(含源码)。

本文主要讲解使用JavaMailSender发送邮件,并给出对应的参考案例、源码。 1、使用的依赖jar包 JavaMailSender发送邮件,只需要 "spring-boot-starter-mail" jar包就可以。考虑到邮件发送时,使用 Hutool工具生成Excel文件做为附件&am…

4.编译多线程应用程序

在不同平台下使用多线程的程序编译时的编译选项设置如下图所示。 gcc下编译时我们会碰到两个选项-pthread和-lpthread,记住推荐使用-pthread而不是-lpthread,原因如下 -lpthread只是起到链接pthread库的作用;而-pthread选项除了会链接pthrea…

java爱心代码,脱单必备

package com.example.test;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Image;import java.awt.Toolkit; import java.util.jar.JarOutputStream;import javax.swing.JFrame;class Cardioid extends JFrame {//定义窗口大小private …

MySQL数据类型、字符集、引擎、索引

MySQL数据类型、字符集、引擎、索引 数据类型 整型浮点类型字符类型时间类型复合类型整型 MySQL数据类型所占字节值范围tinyint1字节-128~127smallint2字节-32768~32767mediumint3字节-8388608~8388607int4字节-2147483648~2147483647bigint8字节9.22*10的18次方在创建表字段时…

《Linux创建新用户》

本文主要讲解linux下如何进行新用户创建、登录以及删除操作 文章目录 1、创建新普通用户2、登录普通用户(一)已经创建过普通用户(二)第一次创建普通用户 3、普通用户切换至超级用户(root)及超级用户&#x…

【NLP文本分类算法集锦】零基础入门经典文本分类项目实战(附代码+数据集)

前言 大家好,我是阿光。 本专栏整理了《NLP文本分类算法集锦》,内包含了各种常见的中英文文本分类算法,以及常见的NLP任务:情感分析、新闻分类以及谣言检测等。 文本分类是NLP的必备入门任务,在搜索、推荐、对话等场…

C++面试——多线程详解

C11提供了语言层面上的多线程&#xff0c;包含在头文件<thread>中。它解决了跨平台的问题&#xff0c;提供了管理线程、保护共享数据、线程间同步操作、原子操作等类。C11 新标准中引入了5个头文件来支持多线程编程&#xff0c;如下图所示&#xff1a; 多进程与多线程 多…

微信黑名单在哪里找出来怎么恢复微信好友?

微信黑名单在哪里找出来&#xff1f; 1、打开手机微信&#xff0c;点击底部「我」进入找到「设置」&#xff1b; 2、在微信设置内找到「朋友权限」并点击进入&#xff1b; 3、在微信设置朋友权限内&#xff0c;即可找到微信通讯录黑名单&#xff0c;并点击微信「通讯录黑名单」…

1200*B. Interesting Subarray(贪心规律)

Problem - 1270B - Codeforces 解析&#xff1a; 可以发现&#xff0c;对于某个符合条件的数列&#xff0c;如果两个最值不在两端&#xff0c;那么可以删去两端多余的元素直到两个最值在两端为止。 我们观察某两个相邻元素a、b&#xff0c;可以发现这两个元素组成的序列成立的条…

基于旗鱼算法的无人机航迹规划-附代码

基于旗鱼算法的无人机航迹规划 文章目录 基于旗鱼算法的无人机航迹规划1.旗鱼搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用旗鱼算法来优化无人机航迹规划。 1.旗鱼搜索算法 …

C语言 每日一题 PTA 10.30 day8

1.高空坠球 皮球从某给定高度自由落下&#xff0c;触地后反弹到原高度的一半&#xff0c;再落下&#xff0c;再反弹&#xff0c;……&#xff0c;如此反复。问皮球在第n次落地时&#xff0c;在空中一共经过多少距离&#xff1f;第n次反弹的高度是多少&#xff1f; 输入格式 : …

excel求差公式怎么使用?

利用excel求差&#xff0c;可能有许多的小伙伴已经会了&#xff0c;不过还是存在一些不太熟悉的朋友们&#xff0c;所以这里有必要讲解一下。其实求差的实现主要就是一个公式&#xff0c;就是用一个单元格中的数字“减去”另一个单元格中的数字“等于”第三个单元格。此公式掌握…