news 2026/6/8 13:57:50

Kubernetes Higress 安装与测试文档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Kubernetes Higress 安装与测试文档

Kubernetes Higress 安装与测试文档

本文档介绍如何在 Kubernetes 集群中使用 Helm 以HostNetwork + DaemonSet模式部署 Higress,并通过一个简单的 Nginx 应用验证路由是否生效。文档整体结构参考现有Nginx Ingress Controller安装文档,但安装方式切换为 Higress 官方 Helm Chart,适用于裸机和自建 Kubernetes 集群场景。

零、安装 Helm(如已安装可跳过)

在部署 Higress 之前,需要确保主控节点上已经安装了 Helm 工具。

# 下载安装脚本curl-fsSL-oget_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3# 赋予执行权限chmod700get_helm.sh# 执行安装./get_helm.sh# 验证安装是否成功helm version

一、准备 Helm 仓库

1. 添加官方仓库并更新

# 添加 Higress 官方 Helm 仓库helm repoaddhigress.io https://higress.io/helm-charts# 更新本地仓库缓存helm repo update# 查看可用 chart 版本helm search repo higress.io/higress-l

2. 说明

Higress 官方 Helm Chart 默认即可直接安装,不需要像ingress-nginx那样单独下载 Chart 包再解压处理。
另外,Higress 官方镜像使用独立镜像仓库,通常不受 Docker Hub 访问限制影响。


二、部署模式说明

Higress 安装完成后,数据面组件是higress-gateway,控制面组件是higress-controller

本文档统一采用HostNetwork + DaemonSet模式部署,适用于不支持LoadBalancer的裸机集群,让 Higress 直接监听节点上的80/443端口。

如果你当前是三台物理机自建 Kubernetes 集群,这种方式通常比LoadBalancer模式更直接,也更符合实际使用场景。


三、安装 Higress

HostNetwork + DaemonSet 安装

建议使用以下方式部署:

cat>higress-values.yaml<<'EOF' global: ingressClass: higress higress-core: gateway: kind: DaemonSet hostNetwork: true EOF
helminstallhigress higress.io/higress\-nhigress-system\--create-namespace\-fhigress-values.yaml

卸载命令

如果之前安装失败,可以先执行卸载:

helm uninstall higress-nhigress-system

四、检查 Higress 运行状态

1. 查看 Pod 状态

kubectl get pods-nhigress-system

正常情况下,应该至少看到以下组件处于Running状态:

  • higress-controller
  • higress-gateway

2. 查看 Service

kubectl get svc-nhigress-system

说明:即使采用HostNetwork + DaemonSet模式,集群中仍然会创建higress-gateway对应的 Service,用于集群内部发现;对外访问仍以节点 IP 的80/443端口为主。

3. 查看 IngressClass

kubectl get ingressclass

正常情况下会看到higress这个IngressClass

4. 查看 Higress 监听方式

由于本文档采用的是HostNetwork + DaemonSet模式,因此可以直接使用运行 Higress Gateway 的节点 IP,通过80/443端口访问。

例如:

kubectl get pods-nhigress-system-owide

五、部署测试应用

部署一个简单的 Nginx 网页服务,并为其创建 Service 和 Ingress 路由规则。

1. 创建部署文件my-nginx.yaml

apiVersion:apps/v1kind:Deploymentmetadata:name:my-nginxspec:selector:matchLabels:run:my-nginxreplicas:2template:metadata:labels:run:my-nginxspec:containers:-name:my-nginximage:nginx:latestresources:limits:memory:"128Mi"cpu:"500m"ports:-containerPort:80---apiVersion:v1kind:Servicemetadata:name:nginx-servicespec:selector:run:my-nginxtype:ClusterIPports:-protocol:TCPport:8080targetPort:80---apiVersion:networking.k8s.io/v1kind:Ingressmetadata:name:example-ingressspec:ingressClassName:higressrules:-host:test.higress.comhttp:paths:-path:/pathType:Prefixbackend:service:name:nginx-serviceport:number:8080

2. 应用配置

kubectl apply-fmy-nginx.yaml

3. 查看资源状态

kubectl get pod,svc,ingress

六、验证访问

1. 检查 Ingress 是否被 Higress 接管

kubectl describe ingress example-ingress

重点确认以下内容:

  • Ingress Classhigress
  • 规则中的 Host 为test.higress.com
  • 后端 Service 为nginx-service:8080

2. 通过节点 IP 测试访问

可以直接把域名解析到任意一台运行higress-gateway的节点 IP,然后发起请求:

curl-H"Host: test.higress.com"http://<运行Higress的Node_IP>

或者先在本机/etc/hosts中添加:

<运行Higress的Node_IP>test.higress.com

然后直接访问:

curlhttp://test.higress.com

如果返回了标准的 Nginx 欢迎页面(Welcome to nginx!),则说明 Higress 已经成功接管 Ingress 并完成转发。


七、常用排查命令

1. 查看 Higress 相关资源

kubectl get all-nhigress-system

2. 查看网关日志

kubectl logs-nhigress-system"$(kubectl get pods-nhigress-system|awk'/higress-gateway/ {print $1; exit}')"--tail=100

3. 查看控制器日志

kubectl logs-nhigress-system"$(kubectl get pods-nhigress-system|awk'/higress-controller/ {print $1; exit}')"--tail=100

4. 查看测试应用日志

kubectl logs-lrun=my-nginx--tail=100

5. 重新安装或升级

helm upgrade higress higress.io/higress\-nhigress-system\--reuse-values

八、补充说明

1. 关于 Ingress 兼容性

Higress 支持作为 Kubernetes Ingress 网关使用,并兼容大量常见的 Nginx Ingress 使用方式。因此,对于已经在使用Ingress资源的业务,通常只需要把:

  • ingressClassName改为higress

即可完成基础迁移验证。

2. 关于 Gateway API

Higress 除了支持传统Ingress,也支持Gateway API
如果后续你希望从Ingress逐步演进到更强的网关模型,可以在安装完成后再启用Gateway API支持。

3. 关于 TLS 与证书

如果你已经在集群中部署了cert-manager,后续可以直接为 Higress 配置 HTTPS 证书,与Nginx Ingress的证书使用方式类似。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 13:57:45

Defender Control终极指南:轻松掌控Windows Defender的完整解决方案

Defender Control终极指南&#xff1a;轻松掌控Windows Defender的完整解决方案 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defender-c…

作者头像 李华
网站建设 2026/6/8 13:57:31

如何彻底解决GitHub下载慢的问题:Fast-GitHub浏览器插件终极指南

如何彻底解决GitHub下载慢的问题&#xff1a;Fast-GitHub浏览器插件终极指南 【免费下载链接】Fast-GitHub 国内Github下载很慢&#xff0c;用上了这个插件后&#xff0c;下载速度嗖嗖嗖的~&#xff01; 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 你是否…

作者头像 李华
网站建设 2026/6/8 13:53:21

小学期 第14周

小学期 第14周 对发射端进行了PCB排版&#xff0c;3D实物预览

作者头像 李华
网站建设 2026/6/8 13:52:15

嵌入式系统复位设计:POR、LVR与外部RC电路原理与实战

1. 项目概述与核心价值在嵌入式系统开发这条路上摸爬滚打了十几年&#xff0c;我处理过无数稀奇古怪的“灵异事件”。其中&#xff0c;因为电源切换时复位没处理好而导致的问题&#xff0c;绝对能排进“最难缠故障”的前三名。症状五花八门&#xff1a;有时是设备上电后反应慢半…

作者头像 李华