【Kubenetes】微服务治理:服务网格Istio安装搭建体验

文章目录

  • ServiceMesh介绍
  • Istio解决方案
  • 安装Istio
    • 第一步 下载istio
    • 第二步 安装istio环境
    • 第三部 安装istio应用
    • 第四部 暴露到外部流量
    • 然后再下一步 把dashboard弄好


ServiceMesh介绍

扯淡环节

  • 什么是服务网格?–服务间通信,可扩展性和灵活性
  • 服务网格的工作原理 --Sidecars处理从服务中抽象出来的任务
  • 为什么采用服务网格?–分离和管理服务间通信
    在这里插入图片描述
    颜色代表的含义
  • 绿色部分:业务代码
  • 蓝色部分:应用流量的入口和出口

服务网格的好处
随着微服务数量的增加,服务网格的优势变得愈加明显。然而,服务网格的发展滞后于 Kubernetes 和容器技术的发展。目前,只有少数企业在使用服务网格,因为大部分功能已经能通过中间件实现。

服务网格的主要特性

  • 可靠性:通过 Sidecar 提高了服务的隔离性、透明性和动态性(例如动态路由、流量控制和故障恢复)。
  • 可观测性:提供监控、追踪和日志功能,例如使用 Prometheus 和 Jaeger 等工具。
  • 安全性:支持加密通信、访问控制和身份验证,但这些功能一般在内部服务中不常使用。

服务网格的优点和缺点

优点

  • 简化微服务之间的通信。
  • 更容易诊断通讯错误,因为错误会发生在服务网格的基础设施层上。
  • 支持加密、认证和授权等安全特性。

缺点

  • 增加复杂性、性能开销等

Istio解决方案

Istio架构设计图:
在这里插入图片描述

服务网格建立在微服务之上

在这里插入图片描述

安装Istio

官网:https://istio.io/latest/docs/setup/getting-started/

在这里插入图片描述
官网给出了4个步骤

第一步 下载istio

脚本里的url有github的 国内有的访问不到
所以直接去github下载最新版
https://github.com/istio/istio/releases

bin/istioctl复制到环境里/usr/local/bin/
查看istio版本:istioctl version
目前是没有运行的

第二步 安装istio环境

在这里插入图片描述
执行官网给的命令
istioctl install --set profile=demo -y
在这里插入图片描述
下载完成

接着给default命名空间打一个label
官方是为了区分
在这里插入图片描述
kubectl label namespace default istio-injection=enabled

第三部 安装istio应用

回到下载istio的目录
在这里插入图片描述
执行官网给出的命令
在这里插入图片描述
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml

创建完成之后看一下pod
在这里插入图片描述
等待变成Running

验证是否已经部署成功
在这里插入图片描述

kubectl exec "$(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}')" -c ratings -- curl -sS productpage:9080/productpage | grep -o "<title>.*</title>"

这样就是部署成功了
在这里插入图片描述

第四部 暴露到外部流量

在这里插入图片描述
接着官网的步骤做: 安装gateway
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml

验证一下
在这里插入图片描述
下一步是把ip:port找到 然后访问
在这里插入图片描述
有两种方式 minikube或其他平台
应该都是其他平台

在这里插入图片描述
执行:kubectl get svc istio-ingressgateway -n istio-system

在这里插入图片描述
这里是LoadBalancer需要改写为node port来访问
kubectl edit svc istio-ingressgateway -n istio-system
跳到最下面 把type: LoadBalancer改为:type: NodePort
在这里插入图片描述
再看一下就是nodeport了
在这里插入图片描述
通过任意一个节点的ip 加上nodeport就可以访问到
ip:32184

然后发现找不到
在这里插入图片描述
看一下创建的gateway
vim samples/bookinfo/networking/bookinfo-gateway.yaml

找到VirtualService
在这里插入图片描述
官方创建的gateway是绑定了VirtualService 匹配的路径的

在这里插入图片描述
加上后缀/productpage正常访问

不断刷新发现访问的可能不一样 是因为负载均衡

然后再下一步 把dashboard弄好

在这里插入图片描述
执行安装插件:kubectl apply -f samples/addons

等待插件的pod都启动起来
在这里插入图片描述
然后把kiali暴露出来

官方给了张图 可以看到清晰的流量链路 调用情况
kiali就做这个事情
在这里插入图片描述

官网给了一个模拟流量的命令
在这里插入图片描述
其实可以不执行这个
直接疯狂刷新ip:pord/productpage来搞流量

现在访问不到kiali 是因为kiali的svc是ClusterIP
在这里插入图片描述

需要改写为NodePort

kubectl edit svc kiali -n istio-system
跳到最下面 把type: LoadBalancer改为:type: NodePort
在这里插入图片描述
再看一下svc 就是NodePort了 同时映射了一个端口 这边是30795
在这里插入图片描述

打开任意一个节点+port 访问
在这里插入图片描述
去看一下Graph里 筛选ns 看到流量没有联系 右上角是15s匹配一次
再拼一次手速 单身20年手速 疯狂访问ip:pord/productpage

在这里插入图片描述

再看一下 和官网的图就类似了
在这里插入图片描述
完成

补充一下gatewayvirtualservice的原理
在这里插入图片描述
gateway入口
进一个gateway看一下 它是istio定义的一个资源

在这里插入图片描述

virtualservice是虚拟服务和这个gateway绑定在了一起
意思是 通过gateway进入之后 会给virtualservice虚拟服务一个匹配关系
在这里插入图片描述
virtualservice在k8s中有一个抽象的管理层
太麻烦了不说了 ok完成

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

地平线旭日X3开发板编译USB网卡驱动 AX88772B

由于使用的激光雷达是网口输出的&#xff0c; 为了不占用X3派已有的网口&#xff0c;接上去了一个绿联的usb网卡&#xff0c; 发现系统没有驱动&#xff0c;所以动手看看能不能自己编译一个 首先lsusb查看一下网卡型号 发现型号是AX88772B&#xff0c;去官网看了一下&#x…

急救指南:苹果手机掉水里怎么处理?

【苹果手机进水后&#xff0c;如果及时处理&#xff0c;一般不会造成严重损害。但是&#xff0c;如果处理不当&#xff0c;可能会损坏手机的内部零件&#xff0c;甚至无法开机。】 苹果手机作为我们日常生活中不可或缺的一部分&#xff0c;承载着许多重要的信息和联系方式。然…

最近很火的iOS模拟器Delta iPhone模拟器使用教程

苹果在2024年调整策略允许游戏模拟器上架App Store后&#xff0c;能够让iPhone和iPad设备也能够直接玩模拟器游戏和复古游戏。如今真正原创首款iOS模拟器「Delta–Game Emulator」已经正式上架App Store苹果商店&#xff0c;能够让iPhone设备免越狱&#xff0c;也能轻松玩任天堂…

模拟量电机控制器PWM 输出隔离转换器4-20mA/0-5V/0-10V转50Hz/100Hz/1KHz/10KHz/100KHz

主要特性: 精度、线性度误差等级&#xff1a; 0.1、0.2、0.5 级4-20mA/0-5V/0-10V 等标准信号输入可选择RS485 通讯输入&#xff0c;支持 Modbus 协议PWM 信号输出&#xff0c;PWM 频率可选PWM 输出驱动能力可达 5A信号输入/信号输出 3000VDC 隔离可选择一进一出&#xff0c;一…

多客陪玩系统,陪玩系统源码,线下搭子,爆改家政整理师等功能,陪玩预约系统 定制化陪玩系统,陪玩软件APP小程序H5游戏陪玩成品软件源码

简述 陪玩系统源码是指一款游戏陪玩平台的程序代码。陪玩系统通常是一个在线平台&#xff0c;可以让用户通过该平台找到愿意为他们提供游戏陪玩服务的人员&#xff0c;从而帮助他们在游戏中取得更好的成绩。这种系统通常包括客户端和服务器端两个部分&#xff0c;客户端用于用…

如何购买RAKsmart的国外高防服务器?

随着互联网的快速发展&#xff0c;网络安全问题日益凸显&#xff0c;特别是对于拥有在线业务的企业或个人来说&#xff0c;选择一款高防服务器显得尤为关键。美国RAKsmart作为知名的服务器提供商&#xff0c;其高防服务器因其卓越的性能和安全性&#xff0c;受到了广大用户的青…

合合信息:TextIn文档解析技术与高精度文本向量化模型再加速

文章目录 前言现有大模型文档解析问题表格无法解析无法按照阅读顺序解析文档编码错误 诉求文档解析技术技术难点技术架构关键技术回根溯源 文本向量化模型结语 前言 随着人工智能技术的持续演进&#xff0c;大语言模型在我们日常生活中正逐渐占据举足轻重的地位。大模型语言通…

NSS【web】刷题

[SWPUCTF 2021 新生赛]jicao 类型&#xff1a;PHP、代码审计、RCE 主要知识点&#xff1a;json_decode()函数 json_decode()&#xff1a;对JSON字符串解码&#xff0c;转换为php变量 用法&#xff1a; <?php $json {"ctf":"web","question"…

电子公章怎么弄到合同上

将电子公章添加到合同上的步骤大致如下&#xff1a; 选择一家合法的数字证书服务机构&#xff0c;申请数字证书。数字证书是用来证明数字签名和电子公章的合法性和有效性的。在申请数字证书时&#xff0c;需要提供相关的身份证明材料&#xff0c;经过审核后&#xff0c;就可以…

Spring的监听器使用(实用,直接拿去修改可用)

一&#xff0c;前言 这里我们以ApplicationListener为例&#xff0c;简单说明一下监听器如何使用。 本人基本只输出实用&#xff0c;即用的代码&#xff0c;希望能帮助到各位&#xff0c;如果想研究底层逻辑&#xff0c;大家可自行根据代码去类源码查看。 监听器的使用主要分…

机器视觉中的打光技巧、选择光源的流程

目录 基本原则选择照明的考虑因素明场照明和暗场照明全明场照明&#xff08;漫射照明&#xff09;技术 特定光源1. 环形光源2. 条形光源3. 同轴光源3.1 何时使用同轴照明&#xff1f;3.2 何时不使用同轴照明&#xff1f; 4. 背光源5. 远心照明6. 点光源7. 穹顶光源8. 线光源9. …

卷积神经网络CNN的运行过程、常见术语与问题

目录 一、CNN运行过程 1、卷积&#xff08;Convolution&#xff09; 2、激活函数&#xff08;activation function&#xff09; 3、池化&#xff08;pooling&#xff09; 3.1 池化操作 3.2 池化过程 3.3 池化后结果 4、Flatten 5、全连接层 Flatten层的操作 全连接层…

OKR到底该如何使用?

说到OKR,很多人会说之前都是用KPI&#xff0c;我们经常听到身边的人说&#xff1a;我这个月的KPI还没完成~这项列入你的KPI~KPI没有完成就没有奖金......那么OKR和KPI到底有什么区别呢&#xff1f;首先我们来了解下两者的概念和功能到底是什么&#xff1f; 什么是KPI? KPI是…

sqlserver账号没有“备份权限”,怎么将数据导出

前几天在工作中遇到一个问题&#xff0c;客户的数据在远程服务器上&#xff0c;客户给我分配的账号没有导出权限&#xff0c;但我想将数据从远程服务器上导到我的本地电脑上做开发。 常规的方法有以下三种&#xff1a; 1&#xff1a;任务->备份 这种方式需要有相关权限&a…

四信5G全连接工厂一站式解决方案上线,打造可持续发展工业未来

政策背景 2022年9月&#xff0c;为进一步加快“5G工业互联网”新技术新场景新模式向工业生产各领域各环节深度拓展&#xff0c;工信部印发《5G全连接工厂建设指南》&#xff0c;明确提出&#xff0c;推动万家企业开展5G全连接工厂建设&#xff0c;建成1000个分类分级、特色鲜明…

buff禁售武器箱和胶囊的原因,及游戏搬砖人该如何应对

大家好&#xff0c;我是童话&#xff0c;相信大家都看到这个消息了&#xff0c;buff平台在14号中午11点左右&#xff0c;已经全面禁止了武器箱和胶囊&#xff0c;纪念包等的上架和售卖。在饰品市场直接搜索武器箱或者胶囊&#xff0c;是完全搜索不出来任何东西的哈。 面对这一消…

阻抗控制理解之逆动态控制律

具有六个自由度的二阶机械系统&#xff0c;其特征是给定的质量、阻尼和刚度&#xff0c;称为机械阻抗。 用于运动控制的加速度解决方法&#xff0c;它旨在通过逆动力学控制律在加速度水平上解耦和线性化非线性机器人动力学。在与环境存在交互作用的情况下&#xff0c;控制律 考…

人武部三维电子沙盘系统

深圳易图讯科技有限公司(www.3dgis.top)系统采用自主可控高性能可视化三维GIS引擎&#xff0c;支持多用户客户端通过网络请求访问服务器地图和JFQ专题数据&#xff0c;提供地理信息数据、专题数据的并发访问和高效调度加载&#xff0c;依托前端设备采集的重点图像、视频等信息资…

数字功放-改善液晶显示屏音频性能,重塑音频体验

随着液晶电视、液晶显示器以及等离子电视屏幕的尺寸不断增大&#xff0c;音频性能要求相应提高&#xff1b;数字功放芯片作为音频解决方案&#xff1b;不仅为音频设备带来更高的效率和更低的功耗&#xff0c;同时在显示屏上进一步提高了平板显示器的音质&#xff0c;使之具有了…

机器学习 - 集成学习算法介绍

集成学习的定义 集成学习&#xff08;Ensemble Learning&#xff09;是一种通过组合多个模型来提升预测性能的技术。简单来说&#xff0c;它就像是在开会时听取多人的意见&#xff0c;而不是只依赖一个人的观点&#xff0c;从而做出更准确的决策。 提示&#xff1a;若无特别标…