首页 > 云计算 > 开源云工具 > Higress on K8s 5分钟开箱即用
> *作者:澄潭*
## Higress 简介
Higress 是云原生网关的提出者和定义者,实现了 K8s 的 Ingress API 标准,历经阿里双十一洪峰考验,对比 Ingress Nginx 具备以下优势:

## 5 分钟开箱即用
### Step 0. 配置 ACK &准备应用
若 ACK 上没有安装其他 Ingress Provider,直接按后续步骤安装 Higress 即可。若 ACK 上已经安装了 Nginx Ingress 等 Ingress Provider,希望迁移到 Higress,请注意 Higress 默认只会监听 IngressClassName 为 higress 的 Ingress。可以通过 helm 参数设置 --set global.ingressClass="",这样 Higress 会监听所有 Ingress,从而实现平滑迁移。
> 
>
> *ACK Ingress Provider 还可以选择 MSE Ingress,这是 Higress 的商业托管版,无需自己运维 Higress,提供 SLA 保障。可以在阿里云搜索“云原生网关”了解详情*
首先安装一个 wordpress 应用,用于后续 Higress 的路由测试,可以直接在 ACK 应用市场安装:
创建成功后,为这个 wordpress-ack-wordpress-sample workload 创建一个虚拟集群 IP 类型的 service

### Step 1. 安装 Higress (2 分钟)
可以使用 ACK 控制台的 CloudShell 直接完成 Higress 的安装

安装命令:
```
# 添加Higress的官方helm仓库
helm repo add higress.io https://higress.io/helm-charts
# 安装Higress
helm install higress higress.io/higress -n higress-system --create-namespace
# 安装Higress Console
helm install higress-console higress.io/higress-console -n higress-system
```
安装完成后可以执行 kubectl get ing -n higress-system,看到已经有一个 higress-console Ingress 资源存在,这是 Higress UI 控制台的访问入口,ADDRESS 字段即 Higress 的公网访问 IP,可以修改本机 Hosts 文件,将 console.higress.io 解析至这个 ip,这样就可以用浏览器直接访问 *[http://console.higress.io](http://console.higress.i0)*

> *Higress 控制台目前处于 0.0.2 版本,正式生产可用版本将在3月份推出,当前版本尚未提供登陆认证功能,请勿用于生产,以免引入安全隐患*
首先在 Higress 控制台创建一个 wordpress.higress.io 的域名

接着创建一条前缀匹配根路径的路由转发给 wordpress 应用

通过编辑本机 Hosts 文件,将 wordpress.higress.io 也解析到 Higress 的公网入口 IP,可以看到 wordpress 已经可以访问了

### Step 2. 配置 ARMS 监控(2 分钟)
Higress 的指标支持多种方式对外暴露,这里以 Prometheus 为例,基于阿里云 ARMS Prometheus 实现监控大盘开箱即用。首先输入 ACK 名称,找到对应的 Prometheus 实例:

打开服务发现配置中 kubernetes-pods 的开关,支持从 pod annotation 中解析指标暴露地址

然后点击 grafana 工作区链接,跳转到 grafana 控制台

再 Dashboards 中点击 Import 导入 Higress 监控大盘的 Json 文件:
*<https://higress.io/grafana/dashboard.json>*

这样就可以看到 Higress 的监控大盘啦,撒花🎉

### Step 3. 开启插件,WAF 防护为例(1 分钟)
Higress 除了支持很方便地开发自定义插件,也原生提供了多种开箱即用的插件:*<https://github.com/alibaba/higress/tree/main/plugins>*
这里以 WAF 插件(基于 corazawaf 开源的 Wasm 插件)为例,可以执行以下命令直接生效:
```
kubectl apply -f https://higress.io/samples/waf.yaml
```
这里的配置是开启了全部的 OWASP CRS 规则

试试在 wordpress 中提交一个模拟 SQL 注入的评论

请求被识别为 SQL 注入,Higress 返回了 403

因为这个 Wasm 插件实现了指标上报,在 Higress 大盘可以看到被拦截的阶段和命中拦截的规则ID

Higress 的日志中可以看到具体拦截原因

## Higress 开源社区
欢迎加入 Higress 社区群,及时了解 Higress 动向:

点击[此处](https://higress.io/zh-cn/)访问 Higress 官网,了解更多相关信息
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69953029/viewspace-2938438/ ,如需转载,请注明出处,否则将追究法律责任。