Kubernetes 客户端错误:`BANhttp://varnish`导致“405不允许”响应
我已经使用kops在AWS上安装了一个k8s集群,并且我已经按照说明使用helm在该集群上部署api平台 我不明白为什么当php pod试图将缓存失效到varnish pod中时,php pod日志显示405 在/usr/local/etc/Varnish/default.vcl内的Varnish pod中,我的白名单是默认白名单Kubernetes 客户端错误:`BANhttp://varnish`导致“405不允许”响应,kubernetes,api-platform.com,Kubernetes,Api Platform.com,我已经使用kops在AWS上安装了一个k8s集群,并且我已经按照说明使用helm在该集群上部署api平台 我不明白为什么当php pod试图将缓存失效到varnish pod中时,php pod日志显示405 在/usr/local/etc/Varnish/default.vcl内的Varnish pod中,我的白名单是默认白名单 # Hosts allowed to send BAN requests acl invalidators { "localhost"; "php"; }
# Hosts allowed to send BAN requests
acl invalidators {
"localhost";
"php";
}
更新我认为问题可以这样概括:从服务a中的pod a我想调用服务B。我需要在请求(在pod B中接收)中保留服务a的IP而不是pod a的IP。我最初的问题可以总结为: 从服务a中的一个pod a,我想调用服务B。我需要在请求中(在pod B中接收)保留在源站中的服务a的IP,而不是pod a的IP 但Kubernetes的网络模型需要:
- 所有容器都可以在没有NAT的情况下与所有其他容器通信
- 所有节点都可以在没有NAT的情况下与所有容器通信(反之亦然)
- 容器将自身视为的IP与其他容器将其视为的IP相同
因此,我的解决方案是使用而不是依赖varnish vcl配置中基于ip的白名单。这里有一个来自api平台的更简单的解决方案:
我想他们会用这个更新掌舵图你按照什么说明部署api平台?这是我写的完整指南链接很棒,但如果你能总结出一种可能的方法来纠正问题中概述的问题,那将更有帮助。是的,内容现在不见了,404:(