在Kubernetes中为服务分配ClusterIP

3
我正在尝试将clusterIP分配给kube集群中的一个Service。我知道IP范围,因此可以从该IP范围形成新的IP。
我正在容器内实现代理。因此,我需要知道依赖服务的clusterIP,以便我可以从源容器进行代理。为此,我在创建服务时指定了clusterIP
现在的挑战是,我应该分配一个未被该集群中任何其他服务使用的IP,否则它将失败。
我做的是:获取该kube集群中Services及其IP的列表,并形成一个新的IP,并确保该新IP不在已使用的IP池中,然后将其分配给新的服务。在大多数情况下,它都可以正常工作。
现在我遇到了一个奇怪的问题。在某些情况下,它会失败,提示“Service 'mongodb-4-xmxrv-svc'无效:spec.clusterIP:无效值:'10.7.240.2':提供的IP已经分配”。但是,该IP没有被该kube集群中的任何一个Services使用。我不确定该IP在哪里使用。有人可以帮助我列出在该kube集群中使用的IP,以便我可以形成新的IP并将其分配给Service吗?
1个回答

5
您可以使用以下命令查看所有命名空间中的所有服务:
kubectl get services --all-namespaces

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


4
值得注意的是,在删除并重新创建 svc 对象时,即使服务已被删除且在“获取服务”输出中不可见,仍有可能出现“IP 已分配”的消息。我发现等待几分钟后,问题会自行解决。 - jdf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接