news 2026/5/25 14:34:49

【实战】Ubuntu 24.04下本地部署开源项目Higress

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【实战】Ubuntu 24.04下本地部署开源项目Higress

Higress 是基于 Istio 和 Envoy 开发的云原生网关,支持流量管理、安全防护、可观测性等功能,适用于 Kubernetes 环境或单机快速部署场景。
本文将结合实践步骤,详细讲解在 Ubuntu 24.04 系统中通过 Docker 部署 Higress 的完整流程,并解析其核心原理。


一、环境准备
  1. 系统要求

    • 操作系统:Ubuntu 24.04(需支持 Docker 和 Docker Compose)
    • 硬件资源:建议 2 核 CPU、4GB 内存以上
    • 网络:确保可访问 Docker Hub 或阿里云镜像仓库
  2. 安装 Docker

    sudoaptupdatesudoaptinstalldocker.iosudosystemctlenabledockersudosystemctl startdocker

    验证安装:

    docker--version# 输出示例:Docker version 20.10.24, build 2973d36
  3. 安装 Docker Compose

    sudoaptinstalldocker-compose-plugindockercompose version

二、部署 Higress(单机版)

Higress 提供了all-in-one镜像,包含网关、控制台、Prometheus、Grafana 等组件,适合快速体验。

  1. 创建工作目录

    mkdirhigress&&cdhigress
  2. 拉取并运行 Higress 容器

    执行以下命令启动 Higress:

    dockerrun-d--rm--namehigress-ai\-v${PWD}/data:/data\-p8001:8001-p8080:8080-p8443:8443\higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/all-in-one:latest

    参数说明:

    • -v ${PWD}/data:/data:挂载本地data目录用于持久化配置和日志。
    • -p 8001:8001:Higress 控制台端口(默认 8001)。
    • -p 8080:8080:HTTP 网关端口(用于转发业务流量)。
    • -p 8443:8443:HTTPS 网关端口(支持 TLS 加密)。
      如下图所示:
  3. 验证部署状态

    dockerps|grephigress-ai# 确认容器状态为 "Up",且端口映射正常
  4. 报错及解决

  • 4.1 找不到命令 “docker”
    在运行命令时,系统提示找不到 Docker 命令,说明 Docker 尚未安装。
    系统提示了三种安装方式,任选其中一种即可:
sudosnapinstalldockersudoaptinstalldocker.iosudoaptinstallpodman-docker。

如下图所示:

推荐选择

  • 新手或追求简单:推荐 snap install docker,安装便捷,自动更新。
  • 追求稳定与系统集成:推荐 apt install docker.io,适合生产环境。
  • 追求性能与安全性:推荐 apt install podman-docker,适合现代容器化应用。
    如下图所示:
特性snap install dockerapt install docker.ioapt install podman-docker
安装方式Snap 包管理器APT 包管理器APT 包管理器
来源Canonical 官方Debian/Ubuntu 社区Red Hat 主导
版本更新自动更新手动更新,版本滞后手动更新,版本较新
兼容性完全兼容 Docker完全兼容 Docker兼容 Docker CLI
安全性沙盒隔离传统守护进程无守护进程,支持 rootless
资源占用较高中等较低
配置路径/var/snap/docker/current/config//etc/docker//etc/containers/
  • 4.2 当前登录的用户没有足够的权限来访问 Docker 守护进程,报错详情如下:
docker: permission deniedwhiletrying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head"http://%2Fvar%2Frun%2Fdocker.sock/_ping":dial unix /var/run/docker.sock: connect: permission denied Run'docker run --help'formoreinformation

解决方法:将当前用户添加到 docker 用户组(推荐)
这是官方推荐的持久化解决方案,可以让你在不使用 sudo 的情况下运行 Docker 命令,同时保证了基本的安全性。

  • 将你的用户添加到 docker 组
    在终端执行以下命令:
sudousermod-aGdocker$USER
  • 如果系统提示 docker 组不存在,可以先创建它:
sudogroupadddockersudousermod-aGdocker$USER
  • 激活用户组变更
    为了让更改立即生效,可以执行以下命令:
newgrpdocker

或者,你也可以直接注销并重新登录你的用户账户。

  • 验证,现在,尝试再次运行 Docker 命令,无需 sudo:
dockerps

如下图所示:


三、初始化 Higress 控制台
  1. 访问初始化页面

    打开浏览器,访问http://localhost:8001/init,进入初始化向导。如下图所示:

  2. 设置管理员账号

    输入用户名(如admin)和密码,提交后完成初始化。

  3. 登录控制台

    访问http://localhost:8001,使用初始化时设置的账号密码登录。


四、核心功能配置与原理
(一)路由配置

Higress 通过路由规则将外部请求转发到后端服务,支持基于路径、域名、Header 等条件的匹配。

  1. 创建路由

    • 进入控制台 →路由配置→ 点击「创建路由」。

    • 配置示例:

      • 路由名称:test-route
      • 域名:example.com(或留空表示通配)
      • 路径:/api
      • 目标服务:选择已注册的服务(如higress-console)。
  2. 原理说明

    Higress 基于 Istio 的VirtualServiceDestinationRule实现流量路由。控制台配置会转换为 Istio 资源,由 Envoy 代理执行流量转发。如下图所示:

(二)AI 服务集成(可选)

Higress 支持对接大模型服务(如 OpenAI、千问),需配置 AI 服务提供者。

  1. 添加 AI 服务

    • 控制台 →AI 服务提供者管理→ 点击「创建 AI 服务提供者」。

    • 配置示例:

      • 类型:OpenAI
      • 服务地址:https://api.openai.com/v1
      • 凭证:填写 OpenAI API Key。
        如下图所示:

  2. 关联路由

    在路由配置中,选择「AI 路由」并绑定已创建的 AI 服务,即可实现 AI 请求的代理与限流。

(三)监控与可观测性

Higress 内置 Prometheus 和 Grafana,需手动配置监控面板。

  1. 配置 Prometheus

    • 编辑prometheus.yml(位于data/prometheus/目录),添加 Higress 指标抓取任务:

      scrape_configs:-job_name:'higress'static_configs:-targets:['localhost:15020']# Higress 指标端口
  2. 导入 Grafana 面板

    • 登录 Grafana(默认地址:http://localhost:3000,账号密码admin/admin)。
    • 导入 Higress 官方提供的 JSON 面板(可在控制台「监控面板」页面下载)。
      如下图所示:

五、常见问题与解决
  1. 容器启动失败

    • 检查 Docker 版本是否兼容(建议 20.10+)。
    • 查看日志:docker logs higress-ai,定位错误原因。
  2. 控制台无法访问

    • 确认端口8001未被占用:sudo lsof -i:8001
    • 检查防火墙:sudo ufw allow 8001
  3. 路由转发异常

    • 检查目标服务是否健康:docker ps确认服务容器运行中。
    • 验证路由规则:控制台 →服务列表,确认服务已注册。

六、总结

通过 Docker 部署 Higress 是快速体验云原生网关功能的最佳方式。本文从环境准备、部署、配置到原理分析,覆盖了 Higress 的核心使用场景。后续可结合 Kubernetes 集群,探索 Higress 在生产环境中的高级功能(如灰度发布、熔断限流)。

参考资料

  • Higress 官方文档:https://higress.cn
  • Istio 流量管理:https://istio.io/latest/docs/concepts/traffic-management/
  • Docker 官方指南:https://docs.docker.com
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 10:10:19

[Sensors]BMI270 FIFO模式下的数据同步与中断优化策略

1. 理解BMI270的FIFO工作机制 BMI270作为一款高性能惯性测量单元(IMU),其内置的FIFO(先进先出)缓冲区是实现高效数据采集的关键组件。这个2KB大小的缓冲区就像一个临时仓库,能够存储加速度计和陀螺仪的原始数据。在实际项目中,我发现合理配置…

作者头像 李华
网站建设 2026/4/1 10:07:36

如何安全修改暗黑破坏神2存档?d2s-editor安全工具全面指南

如何安全修改暗黑破坏神2存档?d2s-editor安全工具全面指南 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 《暗黑破坏神2》作为经典ARPG游戏,其角色存档(d2s文件)承载着玩家数百小…

作者头像 李华
网站建设 2026/4/4 8:16:11

四十九、OpenLayers进阶滤镜实战——从基础调色到高级卷积核特效全解析

1. OpenLayers滤镜技术全景概览 地图可视化项目中,图层滤镜就像摄影师的调色板。OpenLayers提供了从基础CSS滤镜到像素级卷积核的两套技术方案,就像手机修图APP中的一键美化与专业PS工具的区别。我在多个智慧城市项目中实测发现,90%的基础调色…

作者头像 李华
网站建设 2026/4/2 14:14:39

react(二)useEffect 和 useRef

useEffect 副作用 在 React 中,副作用指的是在组件渲染过程中,除了返回 JSX 之外进行的任何操作,这些操作会影响组件外部或与外部系统进行交互。 在函数式编程和 React 上下文中: 纯函数:相同的输入 ⇒ 相同的输出&…

作者头像 李华
网站建设 2026/4/3 6:40:39

Windows环境下KingbaseES数据库快速部署与ksql高效连接实战教程

1. Windows下KingbaseES数据库快速部署指南 第一次接触KingbaseES的朋友可能会觉得数据库安装很复杂,其实在Windows环境下部署KingbaseES比想象中简单得多。我去年在客户现场部署过几十套KingbaseES环境,总结出了一套最稳妥的安装流程。下面就把这个&quo…

作者头像 李华