Higress安装直播

发现身边事儿、聊点周奇遇,我是沈二,期待奇遇的互联网灵魂~、一起聊天吹水,探索新的可能~wx:breathingss,入圈吧!

主题

本期实践的是docker-compose 进行Higress的安装内容,我主要的诉求是sass化时能够解决每个sass用户拥有独立的访问域名或者地址,而非采用传统的登录提供租户ID的模式,这两者的区别主要是需要多解决一个nginx发布配置的问题,当然能够解决更多的配置型策略,那是也是极好的,以下是验证过程,初步符合预期。

背景

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

Higress定位

在虚拟化时期的微服务架构下,业务通常采用流量网关 + 微服务网关的两层架构,流量网关负责南北向流量调度和安全防护,微服务网关负责东西向流量调度和服务治理,而在容器和 K8s 主导的云原生时代,Ingress 成为 K8s 生态的网关标准,赋予了网关新的使命,使得流量网关 + 微服务网关合二为一成为可能。 作为面向南北向的公网网关,使用Waf防护异常流量是很常规的需求,而且随着互联网环境变得越来越复杂,用户对防护的诉求是持续增强的,常规做法是将流量先接入Waf安全网关,过滤后再将流量转发给流量网关,最后到达微服务网关;Higress希望通过内置Waf模块,使得用户的请求链接只经过Higress就可以同时完成Waf防护、流量分发、微服务治理,既可以提升链路RT,也可以降低网关的运维复杂度。因此Higress实现了流量网关 + 微服务网关 + 安全网关三合一的高集成能力。

引导教程

基于 Docker Compose 进行独立部署

Docker Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过它,我们可以使用 YAML 文件来脱离 K8s 集群来实现 Higress 网关的独立部署。

前置需求

为了拉平不同操作系统的运行时差异,当前版本的部署方案是基于 Docker Compose 设计的。所以在使用这一方案进行部署之前,请先在本机安装好 Docker Compose,随后确认以下命令可以正常运行并输出 Docker Compose CLI 的帮助信息:

bash 复制代码
docker compose

安装命令

bash 复制代码
curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- [DESTINATION] [OPTIONS...]

波折的路

来了第一个错误提示 马上检查一下是不是没有安装,额,习惯性的(明明记得已经装了),注意这个其实已经将相关的文件进行了下载

bash 复制代码
docker-compose version

docker-compose升级

先看看yum 的包地址,不出意外的话,应该是1.18的版本, 我想要安装v2版本的,

bash 复制代码
yum --showduplicates list docker-compose
yum list docker-compose --showduplicates | sort -r

这里是版本对应关系 这里的需要从github上头下载,但网络速度堪忧,下面用的是镜像地址,速度有保障

bash 复制代码
sudo curl -L  https://hub.yzuu.cf/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64  -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

处理完成之后,在相关路径下下载路径下/higress/ 执行,输入端口采用默认即可,如果需要调整,根据需要进行调整

bash 复制代码
./bin/configure.sh -a

控制台配置

因为我是在虚拟机中安装的,此处的console地址访问如下

arduino 复制代码
http://192.168.145.130:8080/

路由配置

这里的路由配置起到的作用和nginx差不多,但配置化和粒度支持更广泛,比如可对head、get参数请求头做进一步的规则切割,匹配到指定的内容规则才会生效 每条规则的策略有一些通用的适应场景,即针对不同的规则可以做一些转接适配,如跨域、重写等常规,以及服务安全验证配置化等操作,同时提供Wasm插件化扩展机制,适配不同业务的扩展

服务来源

这里支持一些nacos、Zookeeper、Eureka、固定IP等不同框架体系下的流量融合,这里官方提到的灰度和渐进式平滑改造,能体会到一部分,有些项目改造又觉得鸡肋和不值当,部署调整又觉得不统管,这个方案是个不错的选择

服务网关

代理规则的一些header粒度更细分的规则筛选,以及策略中header转接轻量化处理能够满足具体的要求 至于后续的跨域、用户验证有待于进一步的渐进式尝试和验证。

PS

以上就是具体的安装以及部分验证体验分享

附录

相关推荐
秋意钟9 分钟前
Spring新版本
java·后端·spring
小蜗牛慢慢爬行29 分钟前
有关异步场景的 10 大 Spring Boot 面试问题
java·开发语言·网络·spring boot·后端·spring·面试
A小白59081 小时前
Docker部署实践:构建可扩展的AI图像/视频分析平台 (脱敏版)
后端
goTsHgo1 小时前
在 Spring Boot 的 MVC 框架中 路径匹配的实现 详解
spring boot·后端·mvc
waicsdn_haha1 小时前
Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】
java·运维·服务器·开发语言·windows·后端·jdk
飞的肖1 小时前
前端使用 Element Plus架构vue3.0实现图片拖拉拽,后等比压缩,上传到Spring Boot后端
前端·spring boot·架构
Q_19284999061 小时前
基于Spring Boot的摄影器材租赁回收系统
java·spring boot·后端
良许Linux1 小时前
0.96寸OLED显示屏详解
linux·服务器·后端·互联网
小屁不止是运维2 小时前
麒麟操作系统服务架构保姆级教程(五)NGINX中间件详解
linux·运维·服务器·nginx·中间件·架构
求知若饥2 小时前
NestJS 项目实战-权限管理系统开发(六)
后端·node.js·nestjs