istio安装部署总结

istio安装部署总结

大纲

  • istio基础概念
  • 版本选择
  • 安装istio
  • 核心主件
  • 卸载istio
  • kiali安装

istio基础概念

https://istio.io/latest/zh/docs/ 中文文档

istio是一个服务治理平台,治理服务间的访问,(例如流量控制,安全策略,限流机制等)只要服务间产生访问就可以进行治理,不关注服务是否为微服务,也不要求服务的代码进行微服务化。

版本选择

安装istio前需要对比版本,istio与k8s有深度的绑定,istio与 k8s版本对应如下

在这里插入图片描述

https://istio.io/latest/docs/releases/supported-releases/#support-status-of-istio-releases 版本对应说明

由于本地的k8s集群版本为1.17 故本次安装使用Istio 1.9.x

在这里插入图片描述

k8s 1.17 对应 Istio 1.9.x

下载地址
https://github.com/istio/istio/releases/tag/1.9.9
https://github.com/istio/istio/releases/tag/1.9.7

在这里插入图片描述

下载完成后得到 istio-1.9.7-linux-amd64.tar.gz 解压后得到istioctl

在这里插入图片描述

将istioctl命令复制到/usr/bin文件夹即可

在这里插入图片描述

安装方式

istioctl install配置说明

https://istio.io/latest/zh/docs/setup/install/istioctl/ 官方安装文档说明

最简单的安装方式是直接使用istioctl install命令进行安装

istioctl install --set profile=demo
使用--set 可以指定安装时的参数
例如 
--set profile=demo 表示指定配置类型为demo

istio profile配置类型有如下类型

  • default:根据 IstioOperator API 的默认设置启动组件。 建议用于生产部署和 Multicluster Mesh 中的 Primary Cluster。
    您可以运行 istioctl profile dump 命令来查看默认设置。

  • demo:这一配置具有适度的资源需求,旨在展示 Istio 的功能。 它适合运行 Bookinfo 应用程序和相关任务。 这是通过快速开始指导安装的配置。

  • minimal:与默认配置文件相同,但只安装了控制平面组件。 它允许您使用 Separate Profile 配置控制平面和数据平面组件(例如 Gateway)。

  • remote:配置 Multicluster Mesh 的 Remote Cluster。

  • empty:不部署任何东西。可以作为自定义配置的基本配置文件。

  • preview:预览文件包含的功能都是实验性。这是为了探索 Istio 的新功能。不确保稳定性、安全性和性能(使用风险需自负)。

下图表示不同的配置文件会去安装的istio的组件

在这里插入图片描述

https://istio.io/latest/zh/docs/setup/additional-setup/config-profiles/ 安装配置文件官方说明文档

–set 还可以配置其他参数

  • –set meshConfig.accessLogFile=/dev/stdout 启动访问日志
  • –set hub=registry-1.docker.io/istio 配置根镜像 可以是自己搭建的私有镜像仓库,可以将其他渠道获得的镜像放入自己的registry中,方便使用

其他安装配置说明 https://istio.io/v1.9/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec

安装istio

使用 istioctl install --set profile=demo命令安装istio 此时会安装Istiod,ingressgateway和egressgateway,

istioctl install --set profile=demo

在这里插入图片描述

安装完成后可以看到

在这里插入图片描述

核心主件

  • istiod istiod
  • istio ingress gateway
  • istio egress gateway

istiod

istiod中的’d’ 代表 daemon

istiod 将老版本中需要的 Pilot,Galley,Citadel 和 sidecar 注入器执行的功能统一为一个二进制文件

参考资料 https://istio.io/latest/zh/blog/2020/istiod/

istio ingress gateway

istio ingress gateway是进入集群的大门,外部要访问网格内部需要从这个ingress gateway进入

istio egress gateway

istio egress gateway是出去集群的大门。流量出去的时候走这

卸载istio

istioctl x uninstall --purge

kiali安装使用

kialiIstio 可观察性的控制台。通过监视流量来推断拓扑和错误报告,它可以帮助您了解服务网格的结构和运行状态。 Kiali 提供了详细的的指标并与 Grafana 进行基础集成,可以用于高级查询。通过与 Jaeger 来提供分布式链路追踪功能。

官方资料 https://istio.io/latest/zh/docs/ops/integrations/kiali/

Kiali提供以下功能:

  • 1 分布式跟踪
  • 2 服务拓扑图
  • 3 服务发现
  • 4 健康检查
  • 5 指标度量收集
  • 6 配置校验

kiali安装

在github上找到对应版本的istio的源码,例如当前安装的istio版本为1.9.7

在这里插入图片描述

istio-1.9.x版本
https://github.com/istio/istio/tree/release-1.9/samples/addons

在这里插入图片描述

配置文件说明

  • kiali.yaml kiali安装配置文件
  • jaeger.yaml jaeger分布式链路追踪安装配置文件
  • prometheus.yaml prometheus监控安装配置文件
  • grafana.yaml grafana相关配置,可以不部署

安装时先修改kiali.yaml 中service的配置,将service的类型改为NodePort 这样可以外网访问

apiVersion: v1
kind: Service
metadata:
  name: kiali
  namespace: istio-system
  labels:
    ... 省略
spec:
  ports:
  - name: http
    protocol: TCP
    port: 20001
    targetPort: 20001
    nodePort:  20001
  - name: http-metrics
    protocol: TCP
    port: 9090
    targetPort: 9090
    nodePort:  9090
  selector:
    app.kubernetes.io/name: kiali
    app.kubernetes.io/instance: kiali-server
  type: NodePort  

最小安装只需要安装kiali.yaml prometheus.yaml jaeger.yaml

kubectl apply -f kiali.yaml -n istio-system
kubectl apply -f prometheus.yaml -n istio-system
kubectl apply -f jaeger.yaml -n istio-system

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

安装完成后可以看下

在这里插入图片描述

访问 http://192.168.0.160:20001/ kiali成功运行
在这里插入图片描述

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

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

相关文章

【C++链表】

目录 前言一、搭建链表实现的框架二、链表的构造函数三、链表的尾插四、链表的遍历(重点)迭代器的遍历const修饰的迭代器 五、代码实现 前言 最近用C写了一下list的基本功能,感触颇深。本以为会跟之前用C写list一样会很轻松,没想到更难了。要考虑的东西…

代码随想录| 图论04 查并集 ●查并集理论知识 ●1971.寻找图中是否存在路径 ●684.冗余连接 ●685.冗余连接II

#查并集理论知识 并查集用处:解决连通性问题 将两个元素添加到一个集合中。判断两个元素在不在同一个集合 思路:将三个元素A,B,C (分别是数字)放在同一个集合,其实就是将三个元素连通在一起&a…

k8s常见的资源对象使用

目录 一、kubernetes内置资源对象 1.1、kubernetes内置资源对象介绍 1.2、kubernetes资源对象操作命令 二、job与cronjob计划任务 2.1、job计划任务 2.2、cronjob计划任务 三、RC/RS副本控制器 3.1、RC副本控制器 3.2、RS副本控制器 3.3、RS更新pod 四、Deployment副…

IBM:2023 年数据泄露的平均成本将达到 445 万美元

IBM 发布年度《数据泄露成本报告》,显示 2023 年全球数据泄露平均成本达到 445 万美元,比过去 3 年增加了 15%。创下该报告的历史新高。 报告显示,企业在计划如何应对日益增长的数据泄露频率和成本方面存在分歧。研究发现,虽然 95…

自定义MVC

目录 一.什么是MVC 1.1.三层架构和MVC的区别 二.自定义MVC工作原理图 三.自定义mvc实现 3.1 创建web工程 3.2 中央处理器 3.3 Action接口定义 3.4 实现子控制器 3.5 完善中央控制器 3.5.1 请求分发功能 3.5.2 使用配置文件配置action 3.5.3 请求参数处理 1. 定义接…

QT DAY1

1.思维导体 2.作业 #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {qDebug()<<this->size();qDebug()<<this->rect().size();qDebug()<<this->geometry().size();qDebug()<<this->frameGeometry().siz…

安防视频管理平台GB设备接入EasyCVR, 如何获取RTMP与RTSP视频流

安防视频监控平台EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力&#xff0c;比…

六边形架构和分层架构的区别?

六边形架构和分层架构是什么&#xff1f; 六边形架构&#xff08;Hexagonal Architecture&#xff09;和分层架构&#xff08;Layered Architecture&#xff09;是两种常见的软件架构模式。六边形架构强调将核心业务逻辑与外部依赖解耦&#xff0c;通过接口与外部世界进行通信。…

桥接模式-处理多维度变化

程序员小名去摆摊卖奶茶了&#xff0c;口味有香、甜。 型号有大、中、小。假如小名先在家里把这些奶茶装好&#xff0c;那么最少要装2x3 6杯奶茶&#xff0c;如果此时新增一个口味&#xff1a;酸&#xff0c;那么就需要多装3杯奶茶了。而且这样做&#xff0c;等客户买走一种&a…

【【51单片机直流电机调速】】

学会电机调速&#xff0c;掌握中国速度 PWM的生成方法 先用户设定一个比较值&#xff0c;然后计数器定时自增。 当计数器<比较值&#xff0c;输出0 当计数器>比较值&#xff0c;输出1 main.c #include <REGX52.H> #include"delay.h" #include"…

【弹力设计篇】聊聊熔断设计

为什么需要熔断 熔断这个词一听从生活中就是保险丝超过一定的温度后自动断开&#xff0c;以此来保护家用电器&#xff0c;属于电路中自我保护装置。如果没有熔断&#xff0c;那么家用电器一定会损坏的。 进一步再来分析一下&#xff0c;在分布式系统中&#xff0c;各个系统之间…

酷雷曼无人机技能培训考试圆满举办

2023年7月18日、19日&#xff0c;以“向云端起航&#xff0c;让技术落地”为主题的酷雷曼无人机技能提升培训会在酷雷曼北京运营中心隆重举行&#xff0c;来自全国各地的众多合作商参加了本次培训&#xff0c;通过系统、全面的学习成功取得了专业无人机飞行员执照&#xff0c;为…

django跨域设置

1.安装 (venv) ***\data_analyse_web>pip install django-cors-headers 2.添加应用 :在settings.py中添加应用,放到任意位置都行 INSTALLED_APPS {# ...corsheaders,# ... } 3. 设置中间层&#xff0c;在settings.py中添加中间层&#xff0c;放到最前面 MIDDLEWARE [c…

mac m1 触控栏TouchBar功能栏异常

电脑可能在高温下运行时间过长&#xff0c;导致TouchBar之前正常显示的调整屏幕亮度与调整声音等功能的按钮均丢失&#xff0c;然后看了一眼键盘设置&#xff0c;设置也是正常的&#xff0c;已勾选显示功能栏 下面请看 如何在MacBook Pro&#xff08;macOS Monterey&#xff0…

PHP百度小程序rtc-room组件token获取经历

【前言】 目前就职盘古网络集团&#xff0c;一名PHPer程序员。我们的主营业务是百度产品相关&#xff0c;所以最近有了一个百度小程序项目&#xff0c;涉及其音视频组件做直播。 开发文档 百度智能小程序文档 鉴权token 百度智能小程序文档 嗯&#xff0c;很好的功能。结果测…

【Redis学习】01Redis基础

Redis&#xff08;B站黑马&#xff09;学习笔记 01Redis基础 文章目录 Redis&#xff08;B站黑马&#xff09;学习笔记前言01Redis基础初始Redis认识NoSQL认识Redis安装RedisLinux版安装官网压缩包下载使用yum下载&#xff08;个人不推荐&#xff0c;找不到安装目录&#xff0…

golang+layui提升界面美化度--[推荐]

一、背景 golanglayui提升界面美化度--[推荐]&#xff1b; golang后端写的页面很难看&#xff0c;如何好看点呢&#xff0c;那就是layui https://layui.dev/ 也是一个简单上手容易使用的框架&#xff0c;类似jquery&#xff0c;对于后端开发来说满足使用需求 二、使用注意点…

Python 逻辑回归:理论与实践

文章目录 1. 介绍1.1 什么是逻辑回归&#xff1f;1.2 逻辑回归的应用领域 2. 逻辑回归的原理2.1 Sigmoid 函数2.2 决策边界2.3 损失函数 3. 逻辑回归的实现3.1 数据准备3.2 创建逻辑回归模型3.3 模型训练3.4 模型预测3.5 模型评估 4. 可视化决策边界4.1 绘制散点图4.2 绘制决策…

TortoiseGit安装

1、TortoiseGit简介 TortoiseGit是基于TortoiseSVN的Git版本的Windows Shell界面。它是开源的&#xff0c;可以完全免费使用。 TortoiseGit 支持你执行常规任务&#xff0c;例如commit、显示日志、区分两个版本、创建分支和标签、创建补丁等。 2、TortoiseGit下载 (1)Tortois…

RocketMQ第一课-快速实战以及集群架构搭建

一、RocketMQ产品特点 1、RocketMQ介绍 ​ RocketMQ是阿里巴巴开源的一个消息中间件&#xff0c;在阿里内部历经了双十一等很多高并发场景的考验&#xff0c;能够处理亿万级别的消息。2016年开源后捐赠给Apache&#xff0c;现在是Apache的一个顶级项目。 ​ 早期阿里使用Act…