Kubernetes - 外部IP 与内部IP

hin*_*ner 4 kubernetes

当我运行以下命令从本地集群获取信息时,

kubectl 集群信息转储

我看到每个节点的以下内容。

在主控上

"addresses": [
                    {
                        "type": "ExternalIP",
                        "address": "10.10.15.47"
                    },
                    {
                        "type": "InternalIP",
                        "address": "10.10.15.66"
                    },
                    {
                        "type": "InternalIP",
                        "address": "10.10.15.47"
                    },
                    {
                        "type": "InternalIP",
                        "address": "169.254.6.180"
                    },
                    {
                        "type": "Hostname",
                        "address": "k8s-dp-masterecad4834ec"
                    }
                ],

Run Code Online (Sandbox Code Playgroud)

在工作节点1上

"addresses": [
                    {
                        "type": "ExternalIP",
                        "address": "10.10.15.57"
                    },
                    {
                        "type": "InternalIP",
                        "address": "10.10.15.57"
                    },
                    {
                        "type": "Hostname",
                        "address": "k8s-dp-worker5887dd1314"
                    }
                ],

Run Code Online (Sandbox Code Playgroud)

在工作节点2上

"addresses": [
                    {
                        "type": "ExternalIP",
                        "address": "10.10.15.33"
                    },
                    {
                        "type": "InternalIP",
                        "address": "10.10.15.33"
                    },
                    {
                        "type": "Hostname",
                        "address": "k8s-dp-worker6d2f4b4c53"
                    }
                ],

Run Code Online (Sandbox Code Playgroud)

我的问题是..

1.) 为什么有些节点有不同的ExternalIP和InternalIP而有些则没有?2.) 同样对于具有不同ExternalIP 和InternalIP 且位于同一CIDR 范围内并且两者都可以从外部访问的节点。这两个 IP 地址有什么内部/外部关系?(目的是什么?) 3.)为什么有些节点有随机的 169.xxx IP 地址?

仍在尝试更多地了解 Kubernetes,如果有人能帮助我理解,那将会非常有帮助。我使用 contiv 作为网络插件

wei*_*eld 5

您看到的是这些节点状态的一部分:

  • InternalIP:只能从集群内部访问的节点的 IP 地址
  • ExternalIP:可从任何地方访问的节点的IP地址
  • Hostname:内核报告的节点的主机名

这些字段是在将节点添加到集群时设置的,它们的确切含义取决于集群配置,并且并不完全标准化,如Kubernetes 文档中所述。

因此,您看到的值是这样的,因为您的特定 Kubernetes 配置将它们设置为这样。使用另一种配置,您会得到不同的值。

例如,在 Amazon EKS 上,每个节点都有不同的 InternalIP、ExternalIP、InternalDNS、ExternalDNS 和主机名(与 InternalIP 相同)。Amazon EKS 将这些字段设置为云基础设施中节点的相应值。