我使用calico 2.6和docker 17.09.0-ce,它工作正常。我只有两个问题,我找不到答案。
1)如何完全关闭calico / felix iptables规则?我认为这可能适用于CALICO_LIBNETWORK_CREATE_PROFILES = false环境变量,但iptable规则仍然设置。或者,我如何将系统设置为"允许所有"。
2)如果1)的答案是不可能的,那么如何允许群集中的任何主机与任何workloadEndpoint交谈(例如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标志似乎也不起作用。
答案 0 :(得分:1)
我刚通过松弛频道得到了回复: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