关闭 calico/felix iptables 规则或允许所有配置文件?
Turning off the calico/felix iptables rules or allow-all profile?
我正在使用带有 docker 17.09.0-ce 的 calico 2.6,它工作正常。我只有2个问题找不到答案。
1) 如何完全关闭 calico/felix iptables 规则?我在想这可能适用于 CALICO_LIBNETWORK_CREATE_PROFILES=false 环境变量,但 iptable 规则仍然设置。或者如何将系统设置为 "allow all".
2) 如果 1) 的答案是这不可能,那么我如何允许集群中的任何主机与任何工作负载端点通信(例如 ping 或 curl)?我可以从工作负载 运行 所在的主机与工作负载交谈,但不能与集群中的任何其他主机交谈。我已经尝试通过应用带有 "egress: action: allow" 和 "ingress: action: allow" 的配置文件,但它仍然阻止来自其他主机的流量。我证实这确实是由于 calico 通过跟踪它们并禁用它们而生成的 iptables 规则。然后就可以了。我在停止 calico/node 容器后使用了以下脚本:https://github.com/projectcalico/calico/blob/master/hack/remove-calico-policy/remove-calico-policy.sh
顺便说一下,FELIX_DEFAULTENDPOINTTOHOSTACTION=ACCEPT 标志似乎也不起作用。
我刚刚通过 Slack 频道收到回复:https://calicousers.slack.com/archives/C0BCA44LA/p1512125998000122
答案是使用如下策略文件:
apiVersion: v1
kind: policy
metadata:
name: allow-all
spec:
selector: "all()"
types:
- ingress
- egress
ingress:
- action: allow
egress:
- action: allow
我正在使用带有 docker 17.09.0-ce 的 calico 2.6,它工作正常。我只有2个问题找不到答案。
1) 如何完全关闭 calico/felix iptables 规则?我在想这可能适用于 CALICO_LIBNETWORK_CREATE_PROFILES=false 环境变量,但 iptable 规则仍然设置。或者如何将系统设置为 "allow all".
2) 如果 1) 的答案是这不可能,那么我如何允许集群中的任何主机与任何工作负载端点通信(例如 ping 或 curl)?我可以从工作负载 运行 所在的主机与工作负载交谈,但不能与集群中的任何其他主机交谈。我已经尝试通过应用带有 "egress: action: allow" 和 "ingress: action: allow" 的配置文件,但它仍然阻止来自其他主机的流量。我证实这确实是由于 calico 通过跟踪它们并禁用它们而生成的 iptables 规则。然后就可以了。我在停止 calico/node 容器后使用了以下脚本:https://github.com/projectcalico/calico/blob/master/hack/remove-calico-policy/remove-calico-policy.sh
顺便说一下,FELIX_DEFAULTENDPOINTTOHOSTACTION=ACCEPT 标志似乎也不起作用。
我刚刚通过 Slack 频道收到回复:https://calicousers.slack.com/archives/C0BCA44LA/p1512125998000122
答案是使用如下策略文件:
apiVersion: v1
kind: policy
metadata:
name: allow-all
spec:
selector: "all()"
types:
- ingress
- egress
ingress:
- action: allow
egress:
- action: allow