当前位置: 首页 > news >正文

Istio 实战

文章目录

  • 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           23hk 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

相关文章:

Istio 实战

文章目录 Istio流量管理分享会【1】什么是istio?【2】istio 可以干什么?【3】业务中的痛点?【4】istio 高级流量管理5.1 istio 组件介绍与原理5.2 sidercar何时注入?如何控制是否注入?5.3 查看sidecar 容器插入的容器中的iptablesDestination RuleVirtual ServiceGateways…...

【Midjourney入门教程4】与AI对话,写好prompt的必会方法

文章目录 1、语法2、单词3、要学习prompt 框架4、善用参数(注意版本)5、善用模版6、临摹7、垫图 木匠不会因为电动工具的出现而被淘汰,反而善用工具的木匠,收入更高了。 想要驾驭好Midjourney,可以从以下方面出发调整&…...

基于单片机的智能灭火小车设计

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、整体设计方案1.1 整体设计任务1.2 整体设计要求1.3 系统整体方案设计1.3.1 整体模块设计1.3.2 整体设计方案选择…...

[Machine Learning][Part 7]神经网络的基本组成结构

这里我们将探索神经元/单元和层的内部工作原理。特别是,与之前学习的回归/线性模型和逻辑模型进行比较。最后接介绍tensorflow以及如何利用tensorflow来实现这些模型。 神经网络和大脑的神经元工作原理类似,但是比大脑的工作原理要简单的多。大脑中神经元的工作原理…...

精准测试:提高软件质量和用户满意度的利器

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…...

代碼隨想錄算法訓練營|第五十八天|583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结篇。刷题心得(c++)

目录 讀題 583. 两个字符串的删除操作 自己看到题目的第一想法 看完代码随想录之后的想法 72. 编辑距离 看完代码随想录之后的想法 583. 两个字符串的删除操作 - 實作 思路 代碼隨想錄思路 Code 72. 编辑距离 - 實作 思路 Code 编辑距离总结篇 判斷子序列 不同…...

JavaScript基础之BOM与DOM

文章目录 BOM操作window对象window的子对象之navigator对象(了解即可)window的子对象之screen对象(了解即可)window的子对象之history对象(了解即可)window的子对象之location对象 弹出框警告框确认框提示框…...

【Linux学习笔记】进程概念(中)

1. 操作系统的进程状态2. Linux操作系统的进程状态3. 僵尸进程4. 孤儿进程5. 进程优先级5.1. 优先级是什么和为什么要有优先级5.2. Linux中的进程优先级 6. 进程切换7. 环境变量7.1. 环境变量的认识7.2. 环境变量相关的命令7.3. 环境变量和本地变量7.4. 命令行参数7.5. 获取环境…...

scanpy赋值问题

今天发现一个很奇怪的bug import numpy as np import pandas as pd import anndata as ad from scipy.sparse import csr_matrix print(ad.__version__)counts csr_matrix(np.random.poisson(1, size(100, 2000)), dtypenp.float32) adata1 ad.AnnData(counts) print(adata1)…...

腾讯云域名备案后,如何解析到华为云服务器Linux宝塔面板

一、购买域名并且进行备案和解析,正常情况下,购买完域名,如果找不到去哪备案,可以在腾讯云上搜索“备案”关键词就会出现了,所以这里不做详细介绍,直接进行步骤提示: 二、申请ssl证书&#xff0…...

odoo 按钮打印pdf报表

odoo打印一般是在动作里面进行的 所以此方法可用自定义按钮进行打印 <template id"report_sale_line_packing_template"> xxx </template><template id"report_sale_line_packing"><t t-call"web.basic_layout"><t …...

用逻辑分析仪观察串口Uart数据波形

一、概述 只讨论嵌入式编程中较为常用的异步串行接口&#xff08;Universal Asynchronous Receiver/Transmitter&#xff0c; UART&#xff09;&#xff0c;TTL电平。 串口的参数一般有&#xff1a; 1.波特率&#xff0c;数据传输速率&#xff0c;单位bps&#xff08;bits per…...

数据结构-栈应用括号匹配

1、顺序栈的定义 2、顺序栈的入栈&#xff0c;出栈&#xff0c;取出栈顶元素&#xff0c;匹配判断函数 3、顺序栈的运行测试 4、实现代码 #include<iostream> using namespace std; #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef int Status; #define M…...

leetcode做题笔记209. 长度最小的子数组

给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回 0 。 示例 1&#xff1a; 输入&#…...

【机器学习】几种常用的机器学习调参方法

在机器学习中&#xff0c;模型的性能往往受到模型的超参数、数据的质量、特征选择等因素影响。其中&#xff0c;模型的超参数调整是模型优化中最重要的环节之一。超参数&#xff08;Hyperparameters&#xff09;在机器学习算法中需要人为设定&#xff0c;它们不能直接从训练数据…...

使用免费 FlaskAPI 部署 YOLOv8

目标检测和实例分割是计算机视觉中关键的任务&#xff0c;使计算机能够在图像和视频中识别和定位物体。YOLOv8是一种先进的、实时的目标检测系统&#xff0c;因其速度和准确性而备受欢迎。 Flask是一个轻量级的Python Web框架&#xff0c;简化了Web应用程序的开发。通过结合Fla…...

不使用屏幕在树莓派4B安装Ubuntu22.04桌面版(64位)

因为时间有限只说一下基本路径&#xff1a; 1首先安装Ubuntu22.04server版本 2设置服务器版本的SSH和WiFi 3通过服务器版本安装Ubuntu-desktop升级到Ubuntu22.04桌面版 4在桌面版上安装远程控制软件&#xff1a;xrdp; 5使用Windows自带的远程桌面连接访问Ubuntu 6完成...

Pymysql模块使用操作

一、pymysql模块安装 二、测试数据库连接 测试数据库连接.py from pymysql import Connectioncon None try:# 创建数据库连接con Connection(host"localhost",port3306,user"root",password"XXXXX")# 测试链接print(con.get_host_info())print…...

8+双疾病+WGCNA+多机器学习筛选疾病的共同靶点并验证表达

今天给同学们分享一篇双疾病WGCNA多机器学习的生信文章“Shared diagnostic genes and potential mechanism between PCOS and recurrent implantation failure revealed by integrated transcriptomic analysis and machine learning”&#xff0c;这篇文章于2023年5月16日发表…...

springboot如何获取前端请求头的值并加入ThreadLocal

依赖&#xff1a; <dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.7</version> </dependency>示例&#xff1a; public class ThreadLocalUtil {private static ThreadLoc…...

5分钟搭建原神私服:KCN-GenshinServer终极指南

5分钟搭建原神私服&#xff1a;KCN-GenshinServer终极指南 【免费下载链接】KCN-GenshinServer 基于GC制作的原神一键GUI多功能服务端。 项目地址: https://gitcode.com/gh_mirrors/kc/KCN-GenshinServer 还在为复杂的命令行配置而头疼吗&#xff1f;想要轻松拥有自己的…...

YOLOv8实战:从数据增强到模型部署的完整Pipeline(附代码)

YOLOv8实战&#xff1a;从数据增强到模型部署的完整Pipeline&#xff08;附代码&#xff09; 计算机视觉领域的目标检测技术近年来取得了显著进展&#xff0c;其中YOLO系列算法因其高效性和准确性备受关注。作为该系列的最新成员&#xff0c;YOLOv8在保持实时检测速度的同时&am…...

AI辅助开发:用自然语言描述需求,让快马平台自动生成精准的Copaw自动化脚本

AI辅助开发&#xff1a;用自然语言描述需求&#xff0c;让快马平台自动生成精准的Copaw自动化脚本 最近在做一个自动化测试项目&#xff0c;需要大量使用Copaw框架来模拟用户操作。作为一个刚接触Copaw的新手&#xff0c;最头疼的就是要花大量时间研究各种API和页面元素定位方…...

QMK Toolbox终极指南:5步完成机械键盘固件刷写与自定义

QMK Toolbox终极指南&#xff1a;5步完成机械键盘固件刷写与自定义 【免费下载链接】qmk_toolbox A Toolbox companion for QMK Firmware 项目地址: https://gitcode.com/gh_mirrors/qm/qmk_toolbox QMK Toolbox是一款专为机械键盘爱好者设计的开源固件刷写工具&#xf…...

别再只用箱线图了!用R语言vioplot绘制小提琴图的5个高级技巧与常见误区避坑

别再只用箱线图了&#xff01;用R语言vioplot绘制小提琴图的5个高级技巧与常见误区避坑 当你已经能够熟练地用箱线图展示数据分布时&#xff0c;是否想过有一种更优雅、信息量更大的可视化方式&#xff1f;小提琴图&#xff08;Violin Plot&#xff09;正是这样一种工具&#x…...

近期 GitHub 上爆火的 34 个极具潜力的开源项目

Coasts GitHub 链接&#xff1a;https://github.com/coast-guard/coasts 一款为 Git 工作区打造的本地主机服务隔离与编排工具&#xff0c;由前 Y Combinator 创始人开发。将自主智能体的主机全访问权限这一安全风险规避&#xff0c;智能体可在容器化主机内创建环境、运行服务…...

Graphormer高性能部署:PyTorch 2.8.0 + Torch-Geometric 2.4优化实践

Graphormer高性能部署&#xff1a;PyTorch 2.8.0 Torch-Geometric 2.4优化实践 1. 引言 Graphormer是一种基于纯Transformer架构的图神经网络&#xff0c;专为分子属性预测任务设计。与传统的图神经网络(GNN)相比&#xff0c;Graphormer通过全局注意力机制直接建模分子图中原…...

DanKoe 视频笔记:人生规划:20-30 岁是教程阶段,切勿虚度 [特殊字符]

在本节课中&#xff0c;我们将要学习如何正确看待并规划你的20-30岁。这个阶段并非人生的“主游戏”&#xff0c;而是关键的“教程”阶段。我们将探讨常见的陷阱和有效的策略&#xff0c;帮助你为未来打下坚实基础&#xff0c;避免陷入平庸的循环。 这封信的内容可能会让一些人…...

NovelAI:从文本生成到内容创作的AIGC实践

1. NovelAI&#xff1a;你的AI创作助手 第一次接触NovelAI时&#xff0c;我正被一篇商业方案折磨得焦头烂额。凌晨三点的咖啡杯旁&#xff0c;这个基于GPT模型的AI工具在15分钟内就帮我完成了初稿框架&#xff0c;那一刻我就知道&#xff0c;内容创作的方式正在被重新定义。Nov…...

ECDH算法避坑指南:OpenSSL和Node.js中的椭圆曲线参数选择

ECDH算法实战避坑指南&#xff1a;跨平台椭圆曲线参数选择与性能优化 在构建现代加密通信系统时&#xff0c;ECDH&#xff08;椭圆曲线迪菲-赫尔曼密钥交换&#xff09;算法因其高效性和安全性已成为TLS协议栈的核心组件。然而&#xff0c;当开发者需要在OpenSSL和Node.js等不同…...