引言
在云原生技术飞速发展的今天,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.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum 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-plane
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
extraPortMappings:
- containerPort: 80
hostPort: 80
protocol: TCP
- containerPort: 443
hostPort: 443
protocol: 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插件体系则提供了无限扩展可能。
推荐进阶路径:
- 控制台配置:通过Web界面配置路由规则和插件
- AI网关实践 :参考Higress AI网关文档
- 生产环境优化:调整资源配置、启用监控告警、配置高可用集群
无论是传统微服务架构还是新兴的AI应用,Higress都能提供稳定、高效的流量管理能力。立即部署体验,开启云原生网关新范式!
官方资源: