首页 > 其他分享 >在容器云平台部署服务网格

在容器云平台部署服务网格

时间:2024-01-30 13:31:51浏览次数:30  
标签:容器 服务 Service 部署 网格 plane Mesh Operator

服务网格是什么?

服务网格(service mesh)是一个微服务网络,它用于在一个分布式的微服务架构中构成应用程序,并提供不同微服务间的交互功能。当服务网格的规模和复杂性增大时,了解和管理它就会变得非常困难。

Openshift Servicemesh Operator 基于开源 Istio 项目,用于简化 Istio 的部署和管理并为创建部署的服务提供发现、负载均衡、服务对服务身份验证、故障恢复、指标和监控的服务网络提供了便捷的方法。服务网格还提供更复杂的操作功能,其中包括 A/B 测试、canary 发行版本、访问控制以及端到端验证。Service Mesh Operator 允许用户在容器云平台中轻松地部署和管理 Istio 服务网格,而无需手动进行复杂的配置

核心功能


  • 流量管理- 控制服务间的流量和 API 调用,提高调用的可靠性,并使网络在条件不好的情况保持稳定
  • 服务标识和安全性-在网格中提供可验证身份的服务,并提供保护服务流量的能力,以便可以通过信任度不同的网络进行传输。
  • 策略强制-对服务间的交互应用机构策略,确保实施访问策略,并在用户间分配资源。通过配置网格就可以对策略进行更改,而不需要修改应用程序代码。
  • 遥测-了解服务间的依赖关系以及服务间的网络数据流,从而可以快速发现问题。


安装 Operator

OpenShift Service Mesh 安装需要依赖其余三个 Operator:

  • Elasticsearch -(可选)为使用分布式追踪平台进行追踪和日志记录提供数据库存储。它基于开源 Elasticsearch 项目。
  • distributed tracing- 平台提供分布式追踪以监控复杂分布式系统中的事务并进行故障排除。它基于开源 Jaeger 项目。
  • Kiali -为您的服务网格提供可观察性。允许您在单个控制台中查看配置、监控流量和分析追踪。它基于开源 Kiali 项目。

Distributed tracing 概述

每次用户在某个应用程序中执行一项操作时,一个请求都会在所在的系统上执行,而这个系统可能需要几十个不同服务的共同参与才可以做出相应的响应。这个请求的路径是一个分布式的事务。分布式追踪平台可让您执行分布式追踪,在组成一个应用的多个微服务间追踪请求的路径。

kiali 概述

Kiali 为在容器云上运行的 Service Mesh 提供了一个观察平台。Kiali 可以帮助您定义、验证并观察 Istio 服务网格。它所提供的拓扑结构可以帮助您了解服务网格的结构,并提供服务网格的健康状况信息。


以统信容器云管理平台为例(有雀):

  1. 使用具有 集群管理员角色的账户登录到 有雀 web页面
  2. 导航到 Operators-->Operatorhub在容器云平台部署服务网格_微服务
  3. 搜索需要安装的Operator 并点击安装在容器云平台部署服务网格_微服务_02
  4. 安装完成后如下所示:在容器云平台部署服务网格_openshift_03

创建 ServiceMeshControlPlane

ServicemeshControl plane 包括 Istiod、Ingress 和 Egress 网关,以及其他组件,如 Kiali 和 Jaeger。control plane 必须部署到与 Service Mesh Operator 和 data plane 应用程序和服务不同的命名空间中。您可以从 统信容器云平台的Web 控制台或使用 oc 客户端工具从命令行部署 ServiceMeshControlPlane (SMCP) 的基本安装。这个基本安装是基于默认的 OpenShift Container Platform 设置配置的,它不适用于生产环境。


从 web 控制台部署 Service Mesh control plane
  1. 创建一个名为 istio-system 的项目。
  2. 导航到安装的 Operators。
  3. 点统信容器云管理平台服务网格 Operator,然后点 Istio Service Mesh Control Plane。
  4. 在创建ServiceMeshControlPlane。
  5. 在创建 ServiceMeshControlPlane 页面中,接受默认的 Service Mesh control plane 版本。


使用 CLI 部署 Service Mesh control plane

在 istio-system 命名空间中:

应用以下 Yaml 文件创建 control plane

apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  name: basic
  namespace: istio-system
spec:
  version: v2.1
  tracing:
    type: Jaeger
    sampling: 10000
  addons:
    jaeger:
      name: jaeger
      install:
        storage:
          type: Memory
    kiali:
      enabled: true
      name: kiali
    grafana:
      enabled: true

使用 CLI 验证 SMCP 安装

oc get smcp -n istio-system
NAME    READY   STATUS            PROFILES      VERSION   AGE
basic   10/10   ComponentsReady   ["default"]   2.1.2     108m









标签:容器,服务,Service,部署,网格,plane,Mesh,Operator
From: https://blog.51cto.com/u_15249701/9483640

相关文章

  • 发个阿里云广告,对园子脱困很重要:阿里云上部署幻兽帕鲁
    2023年3月,我们接了一个阿里云的广告单子,单子金额比较大,对于当时囊中告急的园子来说很诱人,但考核指标非常严格,当时实在接不到其他单子,就咬着牙接下来。结果咬牙咬出一个悲剧,到现在这个单子做快了一年,考核指标还没全部完成,诱人的单子到现在一分钱也没拿到。三项考核指标完成了两项......
  • Visual Studio部署C++矩阵库Armadillo的方法
      本文介绍在VisualStudio软件中配置C++环境下线性代数运算库Armadillo的方法。  首先,我们需要在Armadillo库官网下载其源代码,直接点击下图所示红色框内部分即可。  点击上图所示位置后,将弹出一个新的下载界面;Armadillo库的源代码将随后自动下载。  接下来,我们在Vis......
  • 最全的项目部署+持续集成解决方案:Jenkins + git + docker
    最全的项目部署+持续集成解决方案:Jenkins+git+docker:https://blog.csdn.net/m0_45806184/article/details/126408527?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-126408527-blog-128137274.235^v43^control&spm=1001.21......
  • 手摸手教你 docker+jenkins+gitlab 部署你的前端项目
    手摸手教你docker+jenkins+gitlab部署你的前端项目 :https://blog.csdn.net/wx17343624830/article/details/128137274?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-128137274-blog-132392231.235^v43^control&spm=1001.2......
  • windows 宝塔本地部署ssl证书
    1、使用 mkcert-v1.4.4-windows-amd64.exe参考《https本地自签名证书添加到信任证书访问》1#进入到mkcert-v1.4.4-windows-amd64.exe下载文件位置2#执行命令3./mkcert-v1.4.4-windows-amd64.exe*.game.localaiPlatform.devlocalhost127.0.......
  • LAMP架构简易部署 yum
    永久关闭selinux1.喜欢关闭所有的防火墙,内置防火墙,linux的软件防火1.关闭selinux,美国的航空安全局,开发的linux内置防火墙查询selinux状态,基本只有centos8会多些selinux的策略,centos7不用#看到disbaled表示selinux是永久禁止的[root@AlienCat~]#getenforceDisabled2.......
  • 使用 docker 部署 kafka
    在很多时候我们需要使用到消息队列,其中kafka是一个非常优秀的消息队列,在我们平时开发中也经常会用到,但是在开发环境中部署kafka是一个非常麻烦的事情在kafka官网上,有一个详细的部署文档,需要的小伙伴可以参考这个文档https://kafka.apache.org/quickstart,但是......
  • vue部署
    1.虚拟机打包0.本地打包(webstorm)npmrunbuild1.上传工程及镜像#1.将打包好的文件dist压缩,发送到服务器一文件夹内[root@localhost~]#cd/opt/frontend[root@localhostfrontend]#lsdist.zip#2.解压打包的文件[root@localhostfrontend]#unzipdist.zip[root@lo......
  • Eventgrid+Function实现event driven架构 - 架构介绍及环境部署
    今天来介绍这几年在云上比较流行的eventdriven,也就是事件驱动的架构,用一个很简单的sample来实际看下事件驱动的架构到底是个啥事件驱动的架构由生成事件流的事件生成者和侦听事件的事件使用者组成,它的特点是事件可几乎实时发送,因此使用者可在事件发生时需要立即做出响应。生成者......
  • Docker私有仓库搭建以及四大容器重启策略
    Docker私有仓库搭建以及四大容器重启策略registry私有仓库  #修改docker配置文件,并重启docker  #dockerrun-itd-v/data/registry:/var/lib/registry-p5000:5000--restart=always--nameregistryregistry:latest-itd:在容器中打开一个伪终端进行交互操作......