Higress是在没有公网的环境下必须搭建私有仓库才能用wasmplugin 除了这种方式没有其他方式了么?并且如果私有仓库不可用了 这部分规则不生效的话 影响还是挺大的,目前wasm涉及很多waf的规则如果不生效 很容易被扫出来
是的,如果您的环境下没有公网,那么您需要搭建私有仓库来使用 Higress WasmPlugin。这是因为 Wasm 模块需要从远程服务器上加载,而 Higress WasmPlugin 默认情况下只支持从公共仓库中加载 Wasm 模块。
如果您的私有仓库不可用,那么这部分规则将无法生效,这可能会对您的 WAF 规则造成影响。为了避免这种情况发生,您可以采取以下措施:
Higress 是一款云原生网关,其提供的 WebAssembly (Wasm) 插件机制允许开发者通过编写 Wasm 模块来扩展网关功能。Wasm 插件通常需要先编译成 Wasm 格式文件,然后打包成 Docker 镜像,并推送至镜像仓库,最后在 Kubernetes 上通过创建 WasmPlugin 资源来下发配置,使其在 Higress Gateway 中生效。
在没有公网环境的情况下,确实需要搭建私有仓库来存储和管理 Wasm 插件的 Docker 镜像。这是因为 Higress 网关在加载插件时需要从镜像仓库中拉取镜像,如果没有可用的私有仓库,插件将无法被正确加载,从而导致相关规则不生效。
不过,除了搭建私有仓库之外,还有其他一些方法可能有助于缓解因仓库不可用带来的影响:
镜像复制:可以在多个地域的阿里云仓库中复制镜像,这样即使某个地域的仓库不可用,其他地域的仓库仍然可以提供镜像,确保插件能够生效。
使用内网仓库:如果有多个集群或在阿里云 VPC 内,可以配置内网仓库,确保集群能够访问镜像,而不需要通过公网。
配置回退策略:在 Higress 网关中配置回退策略,当 Wasm 插件失效时,流量可以重定向到其他正常的处理路径,避免业务受到影响。
ECR 私有链接:使用 Amazon ECR 私有链接,可以配置 VPC endpoint,使集群能够通过私有网络访问 ECR 仓库,提高安全性和访问速度。
蓝绿部署或金丝雀发布:在更新插件或规则时,可以使用蓝绿部署或金丝雀发布的方式,逐步切换流量,确保更新不会对全局产生影响。
监控和报警:建立完善的监控和报警体系,及时发现并处理私有仓库不可用等问题。
这些方法可以结合使用,以提高 Wasm 插件的可用性和业务的稳定性。
插件会有本地缓存,仓库不可用了不影响现有流量稳定性。可以看下把higress的缓存目录持久化到本地盘 或者其他方式来做高可用 ,此回答整理自钉群“Higress 社区交流 2 群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。