Kubernetes:允许pod出口网络流量 背景

Kubernetes:允许pod出口网络流量 背景,kubernetes,google-cloud-platform,google-kubernetes-engine,google-cloud-networking,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,Google Cloud Networking,刚刚将我的新Kubernetes集群部署到Google云。它是一个专用群集-只能从内部网络获得。我从bastion机器连接此群集。使用我的bastion主机,我可以管理集群 我的群集配置: 问题 我的吊舱似乎没有网络,无法脱离吊舱。例如: $ curl google.com 返回错误-无法连接。所以我用SSH记录pod,并试图找出问题所在 我可以想到两个选择: 默认情况下防火墙阻止所有出口流量?我试着用新的防火墙规则允许出口。 它没有解决问题。(其中10.56.0.0/14是我的吊舱范围)

刚刚将我的新Kubernetes集群部署到Google云。它是一个专用群集-只能从内部网络获得。我从
bastion
机器连接此群集。使用我的
bastion
主机,我可以管理集群

我的群集配置:

问题 我的吊舱似乎没有网络,无法脱离吊舱。例如:

$ curl google.com 
返回错误-无法连接。所以我用SSH记录pod,并试图找出问题所在

我可以想到两个选择:

  • 默认情况下防火墙阻止所有出口流量?我试着用新的防火墙规则允许出口。 它没有解决问题。(其中
    10.56.0.0/14
    是我的吊舱范围)

  • 我的网络没有允许internet访问的“默认网关”。我在“路由器”区域登记了一下,它似乎就在那里:

  • 问题:
    如何解决这个问题并让我的播客自由访问互联网?

    找到了缺失的部分

    在Kubernetes引擎私有集群模型中,您的节点具有访问权限 到VPC私有部署的其余部分,包括私有访问 谷歌托管服务,如gcr.io、谷歌云存储和 谷歌BigQuery。除非您设置以下选项,否则无法访问internet 启动其他机制,如NAT网关


    添加NAT解决了这个问题

    找到了丢失的部分

    在Kubernetes引擎私有集群模型中,您的节点具有访问权限 到VPC私有部署的其余部分,包括私有访问 谷歌托管服务,如gcr.io、谷歌云存储和 谷歌BigQuery。除非您设置以下选项,否则无法访问internet 启动其他机制,如NAT网关

    添加NAT解决了这个问题

    根据,每个网络都有两个隐含防火墙规则,其中“隐含允许出口规则”允许传出连接,“隐含拒绝进入规则”阻止传入连接。因此,默认情况下,GCP防火墙规则阻止所有进入流量,而不是出口。根据,每个网络都有两个隐含防火墙规则,其中“隐含允许出口规则”允许传出连接,“隐含拒绝进入规则”阻止传入连接。因此,默认情况下,GCP防火墙规则阻止所有入口流量,而不是出口流量。