将 clusterIP 分配给 kubernetes 中的服务

Assign clusterIP to a service in kubernetes

我正在尝试将 clusterIP 分配给 kube 集群中的 Service。 我知道 IP 范围,因此我可以从该 IP 范围形成新的 IP。

我正在容器内实施代理。所以我需要知道依赖服务的 clusterIP,这样我就可以从源容器做代理。为此,我在创建服务时指定了 clusterIP。

现在的挑战是我应该分配一个未被该集群中任何其他服务使用的 IP,否则它将失败。

我所做的是以下内容。我在那个 kube 集群中获得了 服务及其 IP 的列表并形成了一个新 IP 并确保新 IP 不在已使用的 IP 池中,然后将其分配给新服务。在大多数情况下它工作正常。

现在我遇到了一个奇怪的问题。
在某些情况下,它没有说 "Service 'mongodb-4-xmxrv-svc' is invalid: spec.clusterIP: Invalid value: '10.7.240.2': provided IP is already allocated".

但是该 IP 未被该 kube 集群中的任何 服务 使用。我不确定该 IP 的使用位置。谁能帮我列出那个 kube 集群中使用的 IP,这样我就可以形成一个新的 IP 并将其分配给 Service?

您可以使用以下方法查看所有命名空间中的所有服务:

kubectl get services --all-namespaces

kube-system 命名空间中的服务可能具有 10.7.240.2 地址。