【问题标题】:What combination of firewall rules adapted for kubernetes with flannel as a CNI什么防火墙规则组合适用于 kubernetes 和 flannel 作为 CNI
【发布时间】:2020-05-22 00:18:30
【问题描述】:

我一直在尝试找到适用于 kubernetes kubeadm 集群的正确防火墙规则。用法兰绒作为 CNI。

我打开了这些端口: 6443/tcp、2379/tcp、2380/tcp、8285/udp、8472/udp、10250/tcp、10251/tcp、10252/tcp、10255/tcp、30000-32767/tcp。

但我总是得到一个无法访问其他服务的服务,或者我自己无法访问仪表板,除非我禁用防火墙。我总是从一个新的集群开始。

kubernetes 版本 1.15.4。

是否有任何来源列出了适用于 kubeadm 创建的集群的合适规则,其中 flannel 在容器内运行?

【问题讨论】:

  • 我还有一个规则,接受以“10.233.0.0/17”作为源连接到这些端口“1-65535/tcp”
  • 根据kubernetes.io/docs/setup/production-environment/tools/kubeadm/…,您正在选择正确的规则。这个集群是新的还是生产中的?如果是新的,您是否尝试过重新安装?如果在生产中,您能否发布有关您的环境的更多信息?
  • @willrof 这是一个用于 DEV 测试的集群,已经部署了服务。它有 RHEL7 作为操作系统,我确实为测试创建了其他集群,它们显示了同样的问题。如果您需要其他信息,请务必告知。
  • 为什么要手动添加规则?您正在 vxlan 模式下运行 flannel。 Flannel 应该更新每个节点上的 arp 和 fdb 条目。全局路由规则是在集群初始化期间添加的。可以分享节点路由和 flannel pod 日志吗?

标签: kubernetes firewall kubeadm flannel


【解决方案1】:

Kubeadm system requeriments:中所述

完全集群中所有机器之间的网络连接(公共或专用网络都可以)

一种非常常见的做法是将所有自定义规则放在网关 (ADC) 或云端 Security Groups 中,以防止规则冲突。

那你要Ensure IP Tables tooling does not use the NFTables backend.

Nftables 后端与当前的 Kubeadm 软件包兼容:它会导致重复的防火墙规则并破坏kube-proxy

还有ensure required ports are open between all machines of the Cluster.

应通过其他组件部署其他安全措施,例如:

还可以查看有关Securing a ClusterKubernetes Security - Best Practice Guide 的文章。

【讨论】:

    猜你喜欢
    • 2011-08-09
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    • 2021-09-27
    • 1970-01-01
    相关资源
    最近更新 更多