OpenShift 4 - OpenShift Service Mesh 3 预览

《OpenShift / RHEL / DevSecOps 汇总目录》

了解 OpenShift Service Mesh 3 的变化

OpenShift Service Mesh 是一套在 OpenShift 上安装部署、跟踪监控 Istio 运行环境的实现。红帽在 2023 年底推出了技术预览版的 OpenShift Service Mesh 3,它和目前的 OpenShift Service Mesh 2.x 有明显变化。这一变化体主要现在 OpenShift Service Mesh 3 将能直接使用社区的 Istio 实现,而 OpenShift Service Mesh 2.x 使用的是经红帽小幅改造的 Istio。这种改造带来的好处是让红帽版的 Istio 能更充分地融入整个 OpenShift 环境,但也随之带来两个问题:其一是即便小幅的改造也需要时间开发和测试,因此 OpenShift Service Mesh 2.x 不能及时使用最新版 Istio;其二是 OpenShift Service Mesh 2.x 可能和社区版会有微小差异,因此会有迁移成本和使用约束。

OpenShift Service Mesh 3 更加贴近 Istio 社区,它可以直接使用社区最新的 Istio,而和对其跟踪监控的功能集成是也通过 Istio 社区推荐的 Istio addon 实现的。

安装 OpenShift Service Mesh 3 核心环境

安装 Sail Operator

目前处于预留阶段的 OpenShift Service Mesh 3 是通过 Sail Operator 安装部署的。

  1. 使用默认配置安装 Sail Operator 即可。

创建 istio 环境

  1. 创建 istio-system 项目。
  2. 在 istio-system 中使用 Sail Operator 创建 istio 资源。
  3. 完成后确认 State: Healthy。
  4. 查看当前 istio 的版本
$ oc -n istio-system get istio
NAME      REVISIONS   READY   IN USE   ACTIVE REVISION   VERSION   AGE
default   1           1       1        Healthy           v1.21.0   4d15h

创建 istio-cni 环境

  1. 创建 istio-cni 项目。
  2. 在 istio-cni 中使用 Sail Operator 创建 istio-cni 资源。
  3. 完成后确认 State: Healthy。

安装 istioctl 客户端

$ curl -sL https://istio.io/downloadIstioctl | ISTIO_VERSION=1.21.0 sh -
$ export PATH=$HOME/.istioctl/bin:$PATH
$ istioctl version
client version: 1.21.0
control plane version: 1.21.0
data plane version: 1.21.0 (8 proxies)

部署 Istio 应用

  1. 创建项目,然后打标签以实现自动注入。
oc new-project bookinfo
oc label namespace bookinfo istio-injection=enabled
  1. 部署应用
$ oc apply -f https://raw.githubusercontent.com/istio/istio/release-1.21/samples/bookinfo/platform/kube/bookinfo.yaml -n bookinfo
service/details created
serviceaccount/bookinfo-details created
deployment.apps/details-v1 created
service/ratings created
serviceaccount/bookinfo-ratings created
deployment.apps/ratings-v1 created
service/reviews created
serviceaccount/bookinfo-reviews created
deployment.apps/reviews-v1 created
deployment.apps/reviews-v2 created
deployment.apps/reviews-v3 created
service/productpage created
serviceaccount/bookinfo-productpage created
deployment.apps/productpage-v1 created
  1. 创建应用级 ingress-gateway。
$ oc apply -f https://raw.githubusercontent.com/maistra/istio-operator/maistra-3.0/chart/samples/ingress-gateway.yaml -n bookinfo
service/istio-ingressgateway created
deployment.apps/istio-ingressgateway created
role.rbac.authorization.k8s.io/istio-ingressgateway-sds created
rolebinding.rbac.authorization.k8s.io/istio-ingressgateway-sds created$ oc expose service istio-ingressgateway -n bookinfo
$ INGRESS_HOST=$(oc get route istio-ingressgateway -n bookinfo -o jsonpath='{.spec.host}')
  1. 将应用访问入口配置到 ingress-gateway。
$ oc apply -f https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/networking/bookinfo-gateway.yaml -n bookinfo
gateway.networking.istio.io/bookinfo-gateway created
virtualservice.networking.istio.io/bookinfo created
  1. 访问应用页面。
$ echo http://$INGRESS_HOST/productpage
$ curl http://$INGRESS_HOST/productpage

监控 Istio 运行环境和运行应用

安装 prometheus addon

  1. 安装 prometheus addon。
oc apply -f https://raw.githubusercontent.com/istio/istio/master/samples/addons/prometheus.yaml
oc expose service prometheus -n istio-system
oc get route prometheus -o jsonpath='{.spec.host}' -n istio-system

安装 grafana addon

  1. 安装 grafana addon。
oc apply -f https://raw.githubusercontent.com/istio/istio/master/samples/addons/grafana.yaml
oc expose service grafana -n istio-system
oc get route grafana -o jsonpath='{.spec.host}' -n istio-system
  1. 打开 grafana 控制台,查看 Istio Service Dashboard。
    在这里插入图片描述

安装 jaeger addon

  1. 安装 jaeger addon。
oc apply -f https://raw.githubusercontent.com/istio/istio/master/samples/addons/jaeger.yaml
oc expose service tracing -n istio-system
oc get route tracing -o jsonpath='{.spec.host}' -n istio-system
  1. 打开 jaeger 控制台,监控服务。
    在这里插入图片描述

安装 kiali addon

  1. 安装 kiali addon。
oc apply -f https://raw.githubusercontent.com/istio/istio/master/samples/addons/kiali.yaml
oc expose service kiali -n istio-system
oc get route kiali -o jsonpath='{.spec.host}' -n istio-system
  1. 打开 kiali 控制台,跟踪服务调用路径。
    在这里插入图片描述

参考

https://github.com/maistra/istio-operator/blob/maistra-3.0/bundle/README.md
https://www.redhat.com/en/blog/introducing-a-new-operator-for-istio-on-openshift
https://www.redhat.com/en/blog/red-hat-openshift-service-mesh-3-developer-preview-update
https://github.com/openshift-service-mesh/sail-operator

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RERCS系统开发实战案例-Part01 快速启动面板创建新功能启动面板

需求背景:RERCS系统设计合同应收付比例调整界面,目的为合同与应收付款调整关联,保证数据的完整性与准确性。 步骤① 参数化快速启动板事务码 :LPD_CUST_PARAM 选择对应的角色与实例 可以看到系统中的快速启动面板菜单中已有的功能…

顶顶通呼叫中心中间件-asr录音路径修改(mod_cti基于FreeSWITCH)

顶顶通呼叫中心中间件-asr录音路径修改(mod_cti基于FreeSWITCH) 录音路径模板。如果不是绝对路径,会把这个路径追加到FreeSWITCH的recordings后面。支持变量,比如日期 ${strftime(%Y-%m-%d)}。最后一个录音文件路径会保存到变量 ${cti_asr_last_record_…

最大矩形问题

柱状图中最大的矩形 题目 分析 矩形的面积等于宽乘以高,因此只要能确定每个矩形的宽和高,就能计算它的面积。如果直方图中一个矩形从下标为 i 的柱子开始,到下标为 j 的柱子结束,那么这两根柱子之间的矩形(含两端的柱…

Day45 代码随想录打卡|二叉树篇---路径总和

题目(leecode T112): 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;…

Docker搭建ELKF日志分析系统

Docker搭建ELKF日志分析系统 文章目录 Docker搭建ELKF日志分析系统资源列表基础环境一、系统环境准备1.1、创建所需的映射目录1.2、修改系统参数1.3、单击创建elk-kgc网络桥接 二、基于Dockerfile构建Elasticsearch镜像2.1、创建Elasticsearch工作目录2.2、上传资源到指定工作路…

临床应用的深度学习在视网膜疾病的诊断和转诊中的应用| 文献速递-视觉通用模型与疾病诊断

Title 题目 Clinically applicable deep learning for diagnosis and referral in retinal disease 临床应用的深度学习在视网膜疾病的诊断和转诊中的应用 01 文献速递介绍 诊断成像的数量和复杂性正在以比人类专家可用性更快的速度增加。人工智能在分类一些常见疾病的二…

nvm,node不是内部命令,npm版本不支持问题(曾经安装过nodejs)

nvm安装后nvm -v有效,node指令无效 环境变量配置无问题 推荐方案 下载你需要的node版本 Index of /dist/ (nodejs.org) 下载后解压到你的nvm存储版本的位置 cmd进入切换你的使用版本(此时你的nodejs是从网上下载的,npm文件是存在的&…

rtl8723DU移植 android4.4 4418 (第二部分蓝牙部分)

使用的代码: HMI (8723bu)源码 567_RTL8723DU_WiFi_linux_v5.6.5.3_35502_COEX20181130-2e2e.20191025.zip 由于之前写的所有笔记没有保存,这里只能是部分。 0、 前置知识 1 、kernel 的移植 2、hardwire的移植 将 驱动中的 h…

一脉阳光上市圆梦:销售成本高昂,两大创始人的行贿往事与屡屡被罚

《港湾商业观察》施子夫 2024年6月7日,江西一脉阳光集团股份有限公司(以下简称,一脉阳光)将正式在港交所主板挂牌上市(以下简称,一脉阳光;股票代码02522.HK),公司预计发…

106、python-第四阶段-3-设计模式-单例模式

不是单例类,如下: class StrTools():pass str1StrTools() str2StrTools() print(str1) print(str2) 运用单例,先创建一个test.py class StrTools():pass str1StrTools()然后创建一个hello.py,在这个文件中引用test.py中的对象&a…

QSqlDatabase、QSqlQuery、QSqlRecord、Sqlite用法

使用QSqlDatabase、QSqlQuery、QSqlRecord、Sqlite数据库实现一个简单的界面查询 1. 创建Sqlite数据库,表 mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include "QSqlDatabase" #include "QSqlQuery&q…

计算机组成结构—IO接口(IO控制器)

目录 一、I/O 接口的功能 二、I/O 接口的基本结构 1. 总线连接的数据通路 2. I/O 接口的基本组成 三、I/O 端口及其编址 1. 统一编址 2. 不统一编址 四、I/O 接口的类型 两个系统或两个部件之间的交接部分,一般就称为 接口。接口可以是硬件上两种设备间的连…

Wakeup Source框架设计与实现

Wakeup Source 为系统组件提供了投票机制,以便低功耗子系统判断当前是否可以进入休眠。 Wakeup Source(后简称:WS) 模块可与内核中的其他模块或者上层服务交互,并最终体现在对睡眠锁的控制上。 1. 模块功能说明 WS的处理逻辑基本上是围绕 com…

哈希经典题目(C++)

文章目录 前言一、两数之和1.题目解析2.算法原理3.代码编写 二、判定是否互为字符重排1.题目解析2.算法原理3.代码编写 三、 字⺟异位词分组1.题目解析2.算法原理3.代码编写 总结 前言 哈希表是一个存储数据的容器,我们如果想要快速查找某个元素,就可以…

【UE5:CesiumForUnreal】——加载无高度地形数据

目录 1.实现目的 2.数据准备 2.1下载数据 2.2 数据切片 3.加载无地形数据 1.实现目的 在CesiumForUnreal插件中,我们加载地图和地形图层之后,默认都是加载的带有高程信息的地形数据,在实际的项目和开发中,有时候我们需要加载无…

Vue3【三】 使用TS自己编写APP组件

Vue3【三】 使用TS自己编写APP组件 运行截图 目录结构 注意目录层级 文件源码 APP.vue <template><div class"app"><h1>你好世界!</h1></div> </template><script lang"ts"> export default {name:App //组…

【乐吾乐3D可视化组态编辑器】数据接入

数据接入 本文为您介绍3D数据接入功能&#xff0c;数据接入功能分为三个步骤&#xff1a;数据订阅、数据集管理、数据绑定 编辑器地址&#xff1a;3D可视化组态 - 乐吾乐Le5le 数据订阅 乐吾乐3D组态数据管理功能由次顶部工具栏中按钮数据管理打开。 在新弹窗中选择数据订阅…

vue2 后端传年月日 时分秒 前端拿到当日时间 做对比 如果是当日的时间 筛选出来

getList () { this.loading true listAlarm(this.queryParams).then(response > { this.listData response.rows const currentDate new Date() const year currentDate.getFullYear() const month currentDate.getMonth() 1 // 月份是从 0 开始计数的&#xff0c;所以…

图像的IO操作

代码&#xff1a; import cv2 as cvimport matplotlib.pyplot as plt​#读取图像img cv.imread("../data/images/zidane.jpg")​#显示图像#2.1 OpenCVcv.imshow("dili",img)cv.waitKey(0)cv.destroyAllWindows()​#2.2 matplotlibplt.imshow(img[:,:,::-…

[matlab]折线图之多条折线如何绘制实心圆作为标记点

使用MarkerFaceColor是标记点填充的颜色&#xff0c;b&#xff0c;表示blue&#xff0c;蓝色 plot(x, a, d--, MarkerFaceColor, b); % 绘制仿真结果的曲线如果一张图多条曲线那么每条曲线需要单独调用一次plot&#xff0c;每个plot间用hold on 连接 plot(x, a, d--, MarkerF…