当前位置: 首页 > news >正文

Higress云原生API网关详解 与 Linux版本安装指南

引言

在云原生技术飞速发展的今天,API网关作为流量入口的关键组件,其性能、扩展性和安全性直接影响整个微服务架构的稳定性。Higress作为阿里巴巴开源的云原生API网关,基于Istio和Envoy内核,融合了流量网关、微服务网关、安全网关和AI网关的能力,正在成为云原生领域的新选择。本文将详细介绍Higress的核心功能、优势,并提供完整的Linux环境安装教程。

一、Higress核心功能与优势

1.1 官方定义

Higress是一款云原生API网关,内核基于Istio和Envoy,支持多语言Wasm插件扩展,提供数十个开箱即用的通用插件和可视化控制台,可满足从传统微服务到AI业务的全场景需求。

1.2 四大核心优势

▶ 生产级稳定性
  • 脱胎于阿里巴巴多年生产验证,支持数十万QPS大规模场景
  • 毫秒级配置热更新,彻底解决Nginx reload引起的流量抖动问题
  • 对长连接业务(如AI对话、WebSocket)特别友好,配置变更无感知

▶ 灵活扩展能力
  • Wasm插件生态:支持Go/Rust/JS等多语言开发,热插拔更新不中断流量
  • 内置90%+业务场景插件:涵盖AI集成、流量控制、安全防护等领域
  • 插件生效粒度支持:全局级、域名级、路由级,满足精细化需求

▶ 安全与合规
  • 内置WAF防护:抵御SQL注入、XSS等常见攻击
  • 全面认证体系:支持JWT/OIDC/Key-Auth等10+种认证方式
  • 自动HTTPS:对接Let's Encrypt实现证书自动签发与续期

▶ 多场景适配
  • AI网关能力:支持大模型API代理、语义缓存、令牌限流等AI场景特性
  • 微服务治理:深度集成Dubbo/Nacos/Sentinel等微服务技术栈
  • 标准兼容:支持Ingress/Gateway API/Istio API,无缝迁移现有网关

1.3 典型应用场景

场景类型核心价值适用业务场景
Kubernetes Ingress替代Nginx Ingress,降低资源占用30%+K8s集群流量入口
AI服务网关统一管理多模型供应商API,提供语义缓存AIGC应用、智能客服、RAG系统
微服务网关支持多注册中心,简化服务发现与路由配置Spring Cloud/Dubbo微服务架构
安全防护网关一站式WAF+认证+限流,降低安全架构复杂度开放平台、公网API服务

二、Linux环境安装教程

Higress提供两种部署模式:独立部署(适合测试/非K8s环境)和K8s集群部署(适合生产环境)。以下是两种模式的详细安装步骤。

2.1 独立部署(非K8s环境)

2.1.1 环境准备

系统要求

  • CentOS 7+/Ubuntu 20.04+
  • 2核4G以上配置
  • 网络通畅(需拉取Docker镜像)

2.1.2 安装Docker环境
# 1. 卸载旧版本Docker(如有)
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce# 2. 关闭防火墙(测试环境,生产环境需配置规则)
systemctl stop firewalld# 3. 安装依赖工具
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken# 4. 配置阿里云Docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repoyum makecache fast# 5. 安装Docker及Compose插件
yum install docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin -y# 6. 启动Docker并设置开机自启
systemctl start docker
systemctl enable docker# 7. 验证安装(出现"Hello from Docker!"即为成功)
docker run hello-world
2.1.3 一键部署Higress
# 使用内置Nacos(适合测试环境)
curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -a --use-builtin-nacos# 如需连接外部Nacos(生产推荐)
# curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -c nacos://192.168.0.1:8848 -a
2.1.4 验证部署结果
# 1. 检查容器状态(确保higress-gateway和higress-console正常运行)
docker ps | grep higress# 2. 访问管理控制台
# 默认地址:http://服务器IP:8080
# 默认账号:admin
# 默认密码:123456(首次登录需强制修改)

2.2 Kubernetes集群部署(生产环境)

2.2.1 环境准备

  • K8s集群(1.24+版本)
  • Helm 3.8+
  • kubectl命令行工具

2.2.2 安装kubectl与kind(本地测试环境)

# 1. 安装kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/# 2. 安装kind(本地K8s集群工具)
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.18.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/# 3. 创建K8s集群配置文件
cat > cluster.conf << EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-planekubeadmConfigPatches:- |kind: InitConfigurationnodeRegistration:kubeletExtraArgs:node-labels: "ingress-ready=true"extraPortMappings:- containerPort: 80hostPort: 80protocol: TCP- containerPort: 443hostPort: 443protocol: TCP
EOF# 4. 创建集群并切换上下文
kind create cluster --name higress --config=cluster.conf
kubectl config use-context kind-higress

2.2.3 使用Helm安装Higress

# 1. 添加Higress Helm仓库
helm repo add higress.io https://higress.io/helm-charts
helm repo update# 2. 安装Higress(创建独立命名空间)
helm install higress -n higress-system \
higress.io/higress --create-namespace --render-subchart-notes# 3. 查看部署状态(等待所有Pod变为Running状态)
kubectl get pods -n higress-system -w

2.2.4 获取访问地址

# 获取LoadBalancer IP(云环境)或NodePort(本地环境)
kubectl get svc -n higress-system higress-gateway -o wide

三、总结与进阶

Higress作为新一代云原生API网关,通过"四合一"架构(流量+微服务+安全+AI)大幅降低了网关层的运维复杂度。其基于Istio/Envoy的内核保证了高性能,而Wasm插件体系则提供了无限扩展可能。

推荐进阶路径:

  1. 控制台配置:通过Web界面配置路由规则和插件
  2. AI网关实践:参考Higress AI网关文档
  3. 生产环境优化:调整资源配置、启用监控告警、配置高可用集群

无论是传统微服务架构还是新兴的AI应用,Higress都能提供稳定、高效的流量管理能力。立即部署体验,开启云原生网关新范式!

官方资源:

  • 项目地址:https://github.com/alibaba/higress
  • 中文文档:Redirecting to: https://higress.cn/docs/latest/overview/what-is-higress/

http://www.dtcms.com/a/363051.html

相关文章:

  • lua脚本在redis中如何单步调试?
  • docker 安装 redis 并设置 volumes 并修改 修改密码(二)
  • MATLAB矩阵及其运算(四)矩阵的运算及操作
  • 互联网大厂求职面试记:谢飞机的搞笑答辩
  • Linux为什么不是RTOS
  • 对矩阵行化简操作几何含义的理解
  • 集群无法启动CRS-4124: Oracle High Availability Services startup failed
  • TSMC-1987《Convergence Theory for Fuzzy c-Means: Counterexamples and Repairs》
  • uni-app 实现做练习题(每一题从后端接口请求切换动画记录错题)
  • Nginx的反向代理与正向代理及其location的配置说明
  • 久等啦!Tigshop O2O多门店JAVA/PHP版本即将上线!
  • SpringBoot3 + Netty + Vue3 实现消息推送(最新)
  • B树和B+树,聚簇索引和非聚簇索引
  • 云计算学习100天-第44天-部署邮件服务器
  • vscode炒股插件-韭菜盒子AI版
  • 小白H5制作教程!一分钟学会制作企业招聘H5页面
  • Linux 环境配置 muduo 网络库详细步骤
  • WPF 开发必备技巧:TreeView 自动展开全攻略
  • gbase8s之导出mysql导入gbase8s
  • WebSocket STOMP协议服务端给客户端发送ERROR帧
  • 串口服务器技术详解:2025年行业标准与应用指南
  • 大文件稳定上传:Spring Boot + MinIO 断点续传实践
  • DevOps部署与监控
  • WPF中的DataContext以及常见的绑定方式
  • Zynq开发实践(FPGA之流水线和冻结)
  • FPGA入门-分频器
  • 【Python - 基础 - 工具】解决pycharm“No Python interpreter configured for the project”问题
  • 【踩坑随笔】VScode+ESP-IDF头文件标红但能正常运行
  • 广播电视制作领域,什么是SMPTE标准?
  • vscode使用black对python代码进行格式化