云原生API网关 Higress 使用
Contents
Higress 一个遵循开源Ingress/Gateway API标准,提供流量调度、服务治理、安全防护三合一的高集成、易使用、易扩展、热更新的云原生API网关。
Higress是什么?
Higress是基于阿里内部的Envoy Gateway实践沉淀、以开源Istio + Envoy为核心构建的云原生API网关,实现了流量网关 + 微服务网关 + 安全网关三合一的高集成能力,深度集成Dubbo、Nacos、Sentinel等微服务技术栈,能够帮助用户极大的降低网关的部署及运维成本且能力不打折;在标准上全面支持Ingress与Gateway API,积极拥抱云原生下的标准API规范;同时,Higress Controller也支持Nginx Ingress平滑迁移,帮助用户零成本快速迁移到Higress。
使用场景
- Kubernetes Ingress 网关:
Higress 可以作为 K8s 集群的 Ingress 入口网关, 并且兼容了大量 K8s Nginx Ingress 的注解,可以从 K8s Nginx Ingress 快速平滑迁移到 Higress。
支持 Gateway API 标准,支持用户从 Ingress API 平滑迁移到 Gateway API。
- 微服务网关:
Higress 可以作为微服务网关, 能够对接多种类型的注册中心发现服务配置路由,例如 Nacos, ZooKeeper, Consul, Eureka 等。
并且深度集成了 Dubbo, Nacos, Sentinel 等微服务技术栈,基于 Envoy C++ 网关内核的出色性能,相比传统 Java 类微服务网关,可以显著降低资源使用率,减少成本。
- 安全防护网关:
Higress 可以作为安全防护网关, 提供 WAF 的能力,并且支持多种认证鉴权策略,例如 key-auth, hmac-auth, jwt-auth, basic-auth, oidc 等。
在 K8s 中使用
在标准 K8s 集群中使用
Helm 安装命令
|
|
在本地 K8s 环境中使用
安装 Higress
本地安装开关: --set global.local=true
|
|
安装完成后,通过本地的 80 和 443 端口即可访问本地集群内的 Higress Gateway。
注:如果您使用的是本地现存的 K8s 集群,那么可能需要先执行下方命令将 K8s 集群内的端口映射出来,然后再尝试访问本地端口。
|
|
使用 Higress Console 进行配置
使用 hgctl 打开控制台:
|
|
首次访问时需要先初始化管理员账号。
详细操作指南