Linux Mac 安装Higress 平替 Spring Cloud Gateway

Linux Mac 安装Higress 平替 Spring Cloud Gateway

    • Higress是什么?
    • 传统网关分类
    • Higress定位
    • 下载安装包
    • 执行安装命令
      • 执行脚本
    • 安装成功
    • 打开管理界面
    • 使用方法
      • configure.sh
      • reset.sh
      • startup.sh
      • shutdown.sh
      • status.sh
      • logs.sh

Higress官网

Higress是什么?

Higress是基于阿里内部的Envoy Gateway实践沉淀、以开源Istio + Envoy为核心构建的云原生API网关,实现了流量网关 + 微服务网关 + 安全网关三合一的高集成能力,深度集成Dubbo、Nacos、Sentinel等微服务技术栈,能够帮助用户极大的降低网关的部署及运维成本且能力不打折;在标准上全面支持Ingress与Gateway API,积极拥抱云原生下的标准API规范;同时,Higress Controller也支持Nginx Ingress平滑迁移,帮助用户零成本快速迁移到Higress。

image

传统网关分类

行业中通常把网关分为两个大类:流量网关与业务网关,流量网关主要提供全局性的、与后端业务无关的策略配置,例如阿里内部的的统一接入网关Tengine就是典型的流量网关;业务网关顾名思义主要提供独立业务域级别的、与后端业务紧耦合策略配置,随着应用架构模式从单体演进到现在的分布式微服务,业务网关也有了新的叫法 - 微服务网关(图示说明如下)。在目前容器技术与K8s主导的云原生时代,下一代网关模式依然是这样吗?

image

Higress定位

在虚拟化时期的微服务架构下,业务通常采用流量网关 + 微服务网关的两层架构,流量网关负责南北向流量调度和安全防护,微服务网关负责东西向流量调度和服务治理,而在容器和 K8s 主导的云原生时代,Ingress 成为 K8s 生态的网关标准,赋予了网关新的使命,使得流量网关 + 微服务网关合二为一成为可能。

作为面向南北向的公网网关,使用Waf防护异常流量是很常规的需求,而且随着互联网环境变得越来越复杂,用户对防护的诉求是持续增强的,常规做法是将流量先接入Waf安全网关,过滤后再将流量转发给流量网关,最后到达微服务网关;Higress希望通过内置Waf模块,使得用户的请求链接只经过Higress就可以同时完成Waf防护、流量分发、微服务治理,既可以降低链路RT,也可以降低网关的运维复杂度。因此Higress实现了流量网关 + 微服务网关 + 安全网关三合一的高集成能力。

image

如上图所示,① 在传统的虚拟化部署中,微服务通常选择使用 Spring Cloud Gateway 作为业务网关,而nginx则作为前置流量网关。

② 在容器和K8s主导的云原生时代,Ingress 成为 K8s 生态的网关标准,赋予了网关新的使命,使得流量网关和微服务网关的合并成为可能。

③ Higress 是基于阿里内部构建的下一代云原生网关,实现了流量调度 + 服务治理 + 安全防护三合一的高集成能力,并深度集成了Dubbo、Nacos、Sentinel等微服务技术栈。

下载安装包

获取本案例代码

公粽号:一颗星宇宙

发送higress获取

image-20240709191532999

执行安装命令

执行脚本

./bin/configure.sh -a

image-20240709185606612

输入相关的配置信息

…………等待安装

image-20240709185650361

安装成功

image-20240709185741802

打开管理界面

浏览器输入:ip:port

image-20240709185852928

第一次打开需要初始化账号信息

提交后会跳转登录页面,登录成功进入管理界面

image-20240709185956569

使用方法

在 bin 目录中存放有 Higress 独立运行版所需的各种操作脚本。本节将介绍各个脚本的具体功能和使用方法。

configure.sh

初始化 Higress 的配置,包括依赖的 Nacos 配置服务、各个组件的启动配置、Console 的初始管理员密码等等。

参数列表:

  • -a, --auto-start

    配置完成后自动启动。

  • -c, --config-url=URL

    配置服务的 URL。

    • 若使用独立部署的 Nacos 服务,URL 格式为:nacos://192.168.0.1:8848
    • 若在本地磁盘上保存配置,URL 格式为:file:///opt/higress/conf
  • –use-builtin-nacos

    使用内置的 Nacos 服务。不建议用于生产环境。如果设置本参数,则无需设置 -c 参数

  • –nacos-ns=NACOS-NAMESPACE

    用于保存 Higress 配置的 Nacos 命名空间 ID。默认值为 higress-system

  • –nacos-username=NACOS-USERNAME

    用于访问 Nacos 的用户名。仅用于 Nacos 启动了认证的情况下。

  • –nacos-password=NACOS-PASSWORD

    用于访问 Nacos 的用户密码。仅用于 Nacos 启动了认证的情况下。

  • -k, --data-enc-key=KEY

    用于加密敏感配置数据的密钥。长度必须为 32 个字符。若未设置,Higress 将自动生成一个随机的密钥。若需集群部署,此项必须设置。

  • –nacos-port=NACOS-PORT

    内置 NACOS 服务在服务器本地监听的端口。默认值为 8848。

  • –gateway-http-port=GATEAWY-HTTP-PORT

    Higress Gateway 在服务器本地监听的 HTTP 端口。默认值为 80。

  • –gateway-https-port=GATEWAY-HTTPS-PORT

    Higress Gateway 在服务器本地监听的 HTTPS 端口。默认值为 443。

  • –gateway-metrics-port=GATEWAY-METRIC-PORT

    Higress Gateway 在服务器本地监听的用于暴露运行指标端口。默认值为 15020。

  • –console-port=CONSOLE-PORT

    Higress Console 在服务器本地监听的端口。默认值为 8080。

  • -r, --rerun

    在 Higress 已配置完成后重新执行配置流程。

  • -h, --help

    显示帮助信息。

reset.sh

重置 Higress 配置至原始状态。已启动的 Higress 服务也将被中止。

startup.sh

启动 Higress 服务。

shutdown.sh

关闭运行中的 Higress 服务。

status.sh

查看 Higress 各组件的运行状态。

输出示例:

$ ./bin/status.sh
NAME                   COMMAND                  SERVICE             STATUS              PORTS
higress-apiserver-1    "/apiserver --secure…"   apiserver           running (healthy)
higress-console-1      "/app/start.sh"          console             running             0.0.0.0:8080->8080/tcp, :::8080->8080/tcp
higress-controller-1   "/usr/local/bin/higr…"   controller          running (healthy)
higress-gateway-1      "/usr/local/bin/pilo…"   gateway             running (healthy)   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
higress-nacos-1        "bin/docker-startup.…"   nacos               running (healthy)   0.0.0.0:8848->8848/tcp, :::8848->8848/tcp, 0.0.0.0:9848->9848/tcp, :::9848->9848/tcp
higress-pilot-1        "/usr/local/bin/higr…"   pilot               running (healthy)
higress-precheck-1     "/bin/bash ./prechec…"   precheck            exited (0)

logs.sh

查看 Higress 各组件的运行日志。

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

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

相关文章

Vue指令详解与实操运用 - 编程魔法

在Vue.js的世界里,指令就像是一位魔法师,它们能够赋予HTML元素以生命,让网页与用户互动起来。今天,我们就来揭开这些指令的神秘面纱,看看它们是如何在我们的日常开发中发挥作用的。 1. v-text 和 v-html - 文字与内容的…

思考:Java内存模型和硬件内存模型

前言 前一阵在看volatile的原理,看到内存屏障和缓存一致性,发现再往底层挖就挖到了硬件和Java内存模型。这一块是自己似懂非懂的知识区,我一般称之为知识混沌区。因此整理这一篇文章。 什么是内存模型(Memory Model)…

CentOS6用文件配置IP模板

CentOS6用文件配置IP模板 到 CentOS6.9 , 默认还不能用 systemctl , 能用 service chkconfig sshd on 对应 systemctl enable sshd 启用,开机启动该服务 ### chkconfig sshd on 对应 systemctl enable sshd 启用,开机启动该服务 sudo chkconfig sshd onservice sshd start …

未羽研发测试管理平台

突然有一些觉悟,程序猿不能只会吭哧吭哧的低头做事,应该学会怎么去展示自己,怎么去宣传自己,怎么把自己想做的事表述清楚。 于是,这两天一直在整理自己的作品,也为接下来的找工作多做点准备。接下来…

LT7911UX 国产原装 一拖三 edp 转LVDS 可旋转 可缩放

2.一般说明 该LT7911UX是一种高性能Type-C/DP1.4a到MIPI或LVDS芯片的VR/显示应用。HDCP RX作为HDCP转发器的上游,可以与其他芯片的HDCP TX配合实现转发器功能。 对于DP1.4a输入,LT7911UX可配置为1/2/4通道。自适应均衡使其适用于长电缆应用,最…

Junior.Crypt.2024 CTF Web方向 题解WirteUp 全

Buy a cat 题目描述:Buy a cat 开题 第一思路是抓包改包 Very Secure App 题目描述:All secrets become clear 开题 乱输一个密码就登陆成功了(不是弱口令) 但是回显Your role is: user 但是有jwt!!&a…

深入理解基本数据结构:链表详解

引言 在计算机科学中,数据结构是存储、组织和管理数据的方式。链表是一种重要的线性数据结构,广泛应用于各种编程场景。在这篇博客中,我们将详细探讨链表的定义、特点、操作及其在不同编程语言中的实现。 什么是链表? 链表是一种…

Mobile ALOHA前传之VINN, Diffusion Policy和ACT对比

VINNDiffusion PolicyACT核心思想1.从离线数据中自监督学习获得一个视觉编码器;2.基于视觉编码器,从采集的示例操作数据中检索与当前观测图像最相似的N张图像以及对应的动作;3.基于图像编码器的距离对各个动作进行加权平均,获得最…

Open3D loss函数优化的ICP配准算法(精配准)

目录 一、概述 1.1ICP的基本步骤 1.2损失函数的设计 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2配准后点云 3.3计算数据 一、概述 ICP(Iterative Closest Point)配准算法是一种用于对齐两个点云的经典算法。其目标是通过迭代优化…

Istio实战教程:Service Mesh部署与流量管理

引言 Istio是一个开源的服务网格,它提供了一种统一的方法来连接、保护、控制和观察服务。本教程将指导你从零开始部署Istio,并展示如何使用Istio进行基本的流量管理。 环境准备 Kubernetes集群:Istio运行在Kubernetes之上,确保…

W25Q64 Flash存储器与STM32:硬件与软件的完美结合案例

摘要 在嵌入式系统中,数据存储是关键组成部分之一。W25Q64 Flash存储器因其高容量、低功耗和高可靠性,成为STM32微控制器项目中优选的存储解决方案。本文将展示W25Q64与STM32微控制器集成的案例,包括硬件设计、SPI通信协议实现和软件编程策略…

记录在Windows上安装Docker

在Windows上安装Docker时,可以选择使用不同的后端。 其中两个常见的选择是:WSL 2(Windows Subsystem for Linux 2)和 Hyper-V 后端。此外,还可以选择使用Windows容器。 三者的区别了解即可,推荐用WSL 2&…

我们公司落地大模型的路径、方法和坑

我们公司落地大模型的路径、方法和坑 李木子 AI大模型实验室 2024年07月02日 18:35 北京 最近一年,LLM(大型语言模型)已经成熟到可以投入实际应用中了。预计到 2025 年,AI 领域的投资会飙升到 2000 亿美元。现在,不只…

Thinking--在应用中添加动态水印,且不可删除

Thinking系列,旨在利用10分钟的时间传达一种可落地的编程思想。 水印是一种用于保护版权和识别内容的技术,通常用于图像、视频或文档中。它可以是文本、图像或两者的组合,通常半透明或以某种方式嵌入到内容中,使其不易被移除或篡改…

【Linux】多线程_2

文章目录 九、多线程2. 线程的控制 未完待续 九、多线程 2. 线程的控制 主线程退出 等同于 进程退出 等同于 所有线程都退出。为了避免主线程退出,但是新线程并没有执行完自己的任务的问题,主线程同样要跟进程一样等待新线程返回。 pthread_join 函数…

【代码随想录_Day28】62. 不同路径 63. 不同路径 II

Day28 OK,今日份的打卡!第二十八天 以下是今日份的总结不同路径不同路径 II 以下是今日份的总结 62 不同路径 63 不同路径 II 今天的题目难度不低,尽量还是写一些简洁代码 ^ _ ^ 不同路径 思路: 1.确定dp数组(dp…

算法学习笔记(8.2)-动态规划入门进阶

目录 问题判断: 问题求解步骤: 图例: 解析: 方法一:暴力搜索 实现代码如下所示: 解析: 方法二:记忆化搜索 代码示例: 解析: 方法三:动态规划 空间…

每日复盘-20240709

今日关注: 20240709 六日涨幅最大: ------1--------300391--------- 长药控股 五日涨幅最大: ------1--------300391--------- 长药控股 四日涨幅最大: ------1--------603155--------- 新亚强 三日涨幅最大: ------1--------301300--------- 远翔新材 二日涨幅最大: ------1-…

基于antdesign封装一个react的上传组件

项目中遇到了一个上传的需求,看了一下已有的代码很粗糙,而且是直接引用andt的组件,体验不太好,自己使用FormData对象封装了一个上传组件,仅供参考。 代码如下: /*** FileUploadModal* description - 文件选…

Qt入门(二):Qt的基本组件

目录 Designer程序面板 1、布局Layout 打破布局 贴合窗口 2、QWidget的属性 3、Qlabel标签 显示图片 4、QAbstractButton 按钮类 按钮组 5、QLineEdit 单行文本输入框 6、ComboBox 组合框 7、若干与数字相关的组件 Designer程序面板 Qt包含了一个Designer程序 &…