
Higress API网关三步跑起来单机部署与配置实践指南【免费下载链接】higress AI Gateway | AI Native API Gateway项目地址: https://gitcode.com/GitHub_Trending/hi/higressHigress 是基于 Envoy 和 Istio 构建的云原生 API 网关支持 Wasm 插件扩展和 Nacos 等多种服务注册中心。这篇文章面向单机含边缘节点环境演示从 Docker 启动 all-in-one 镜像到添加服务路由、安装插件、查看资源占用的完整流程所有命令都可以直接执行。先搞清楚 all-in-one 镜像里有什么一个容器跑起来之前先看它的内部结构all-in-one镜像实际包含三个角色——Higress Gateway数据面由 Envoy 承载负责实际转发流量Higress Controller控制面负责从本地文件、Nacos 或 Kubernetes 等来源拉取配置并下发Higress ConsoleWeb 控制台域名、路由、插件都可以在界面上配置。这个结构对单机部署的好处是控制台、控制面、数据面全在一个容器里不需要额外部署 Nacos 或 Kubernetes配置存本地即可。一条 Docker 命令启动 Higress 网关以下命令创建一个工作目录并启动网关配置文件会写入宿主机目录重启容器后不丢失# 创建工作目录配置会写到 ${PWD} 下 mkdir higress-edge cd higress-edge docker run -d --rm --name higress \ -v ${PWD}:/data \ -p 8001:8001 -p 8080:8080 -p 8443:8443 \ higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/all-in-one:latest三个端口的分工如下端口用途8001Web 控制台入口8080HTTP 流量入口8443HTTPS 流量入口最容易踩的坑前置镜像拉取失败与地域仓库切换镜像默认从杭州地域仓库拉取如果你的机器在北美或东南亚docker run大概率卡在拉镜像这一步。官方按地域发布了仓库把镜像名里的域名替换成对应地域即可地域仓库域名默认杭州higress-registry.cn-hangzhou.cr.aliyuncs.com北美higress-registry.us-west-1.cr.aliyuncs.com东南亚higress-registry.ap-southeast-7.cr.aliyuncs.com如果镜像仓库访问持续超时可以把镜像同步到自己可控的仓库在 K8s 部署时通过 Helm 的global.hub参数指向它详见 README.md 的 Quick Start 一节。验证部署打开控制台看服务来源列表浏览器访问http://机器IP:8001登录控制台。左侧菜单包含服务来源、路由列表、域名管理、插件市场等入口。服务来源页面能看到网关当前接入了哪些注册源Nacos、静态 IP、ZooKeeper、Consul、Eureka 等各注册源的实现代码在仓库 registry/ 目录下边缘节点对接固定 IP 的服务时通常用静态来源即可。添加路由一个最小的 Ingress 配置在 Kubernetes 场景路由就是一个ingressClassName: higress的 Ingress。仓库里有一份最小示例 samples/quickstart.yaml核心片段如下apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: foo spec: ingressClassName: higress # 指定由 Higress 处理这条路由 rules: - http: paths: - pathType: Prefix path: /foo # 前缀匹配 /foo 的所有请求 backend: service: name: foo-service # 后端服务 port: number: 5678单机模式下不用写文件直接在控制台的路由界面选择服务来源和后端地址保存后配置秒级生效官方 README 表述为毫秒级生效对长连接业务无感知。从插件市场安装 Wasm 插件WasmWebAssembly是插件的运行沙箱插件在沙箱里执行与网关主进程隔离更新插件时业务流量不中断。控制台插件市场提供了 Basic Auth、JWT Auth、WAF、Request Block 等开箱即用的插件点配置即可使用Kubernetes 模式下一个插件对应一个 WasmPlugin 资源仓库自带示例 samples/wasmplugin/default-config.yamlapiVersion: extensions.higress.io/v1alpha1 kind: WasmPlugin metadata: name: request-block namespace: higress-system spec: url: oci://higress-registry.cn-hangzhou.cr.aliyuncs.com/plugins/request-block:1.0.0 defaultConfig: # 该插件的配置项拦截 swagger.html 路径 block_urls: - swagger.htmlurl指向插件镜像defaultConfig是该插件自己的配置。官方插件全集在 plugins/wasm-go/extensions/ 目录按 AI 代理、限流、认证等场景分类。观察资源占用监控面板与指标端口控制台内置了 Dashboard展示请求量、成功率、P99 延迟和 CPU/内存曲线边缘节点资源紧张时这是判断要不要调低并发上限的直接依据Kubernetes 部署时网关的指标端口默认是 15020可以接 Prometheus 抓取默认值见 hgctl/pkg/manifests/profiles/_all.yaml。升级与卸载用 hgctl 两条命令hgctl是配套命令行工具安装脚本在 tools/hack/get-hgctl.sh提供install、upgrade、uninstall等子命令。单机模式的升级流程由 agent 执行先对比新旧版本版本变化时询问是否重启网关再依次执行 shutdown 和 startup实现见 hgctl/pkg/installer/standalone_agent.go。单机 profile端口、副本、资源、存储后端可在 hgctl/pkg/manifests/profiles/ 目录修改其中local-docker.yaml对应的就是 standalone Docker 部署。后续如果要从单机扩到集群切到 Kubernetes Helm 部署即可路由和插件的配置模型不变上面写过的 Ingress 和 WasmPlugin YAML 可以直接复用更多部署问题可以参考 docs/faq/ 目录。【免费下载链接】higress AI Gateway | AI Native API Gateway项目地址: https://gitcode.com/GitHub_Trending/hi/higress创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考