乐趣区

关于阿里云: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

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 动向:

点击此处拜访 Higress 官网,理解更多相干信息

退出移动版