Kubernetes更改Pod地址

时间:2019-03-11 12:48:34

标签: networking kubernetes

我想更改Kubernetes Pod Ips,因为我们公司中有一个子网,该子网与kubernetes运行在同一子网中。

我用以下内容创建了一个kubernetes-config文件(只是一个片段):

kind: ClusterConfiguration
kubernetesVersion: v1.13.4
networking:
  dnsDomain: cluster.local
  podSubnet: "192.150.0.0/19"
  serviceSubnet: 192.150.0.0/19
scheduler: {}

然后,我使用额外的参数IPALLOC_RANGE 192.150.0.0/19启动Weave Net。

该池中的Pod具有正确的ip地址,但是我无法从群集中彼此连接而不是不在群集外部与Pod相连。因此,我们在kubernetes集群之外也有服务器,我也无法连接到服务器。

2 个答案:

答案 0 :(得分:0)

您的目标是什么?要使用现有的Pod重新配置当前群集,还是要使用其他覆盖网络重新创建群集?

我在您的ClusterConfiguration中看到子网混乱: 请注意,podSubnetserviceSubnet不应相同。您必须使用不同的范围。

例如:

kind: ClusterConfiguration
kubernetesVersion: v1.13.4
networking:
  serviceSubnet: "10.96.0.0/12"
  podSubnet: "10.100.0.1/24"
  dnsDomain: "cluster.local
controlPlaneEndpoint: "10.100.0.1:6443"
...

还要检查@Janos在kubernetes set service cidr and pod cidr the same主题中提供的答案。

答案 1 :(得分:0)

您不应将服务IP与Pod IP混合使用。服务IP是虚拟的,并且由kubernetes在内部用于发现您的(服务)容器。

  

如果我将serviceSubnet和weave网络子网配置为相同

您不应该对它们进行相同的配置!编织子网本质上是Pod CIDR

Pod到Pod的通信应通过k8s服务进行。 Pod中的容器到容器应该通过localhost完成。