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

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

附录

相关推荐
long3167 分钟前
java 策略模式 demo
java·开发语言·后端·spring·设计模式
rannn_1111 小时前
【Javaweb学习|黑马笔记|Day1】初识,入门网页,HTML-CSS|常见的标签和样式|标题排版和样式、正文排版和样式
css·后端·学习·html·javaweb
柏油1 小时前
Spring @Cacheable 解读
redis·后端·spring
柏油2 小时前
Spring @TransactionalEventListener 解读
spring boot·后端·spring
夜影风4 小时前
RabbitMQ核心架构与应用
分布式·架构·rabbitmq
两码事4 小时前
告别繁琐的飞书表格API调用,让飞书表格操作像操作Java对象一样简单!
java·后端
shark_chili4 小时前
面试官再问synchronized底层原理,这样回答让他眼前一亮!
后端
奥格列的魔法拖鞋~4 小时前
Docker-LNMP架构 创建多项目- 单个ngixn代理多个PHP容器服务
nginx·docker·eureka·架构·php·lnmp
灵魂猎手5 小时前
2. MyBatis 参数处理机制:从 execute 方法到参数流转全解析
java·后端·源码