gpt4 book ai didi

python - 有没有办法从我使用 Kubernetes Python 客户端创建的服务中获取 cluster_ip?

转载 作者:行者123 更新时间:2023-12-04 14:48:12 25 4
gpt4 key购买 nike

使用 Kubernetes Python 客户端创建部署并公开类型为 ClusterIP 的服务后,如何使用 python 客户端而不是使用 Kubectl 命令获取集群 IP?
服务是基于示例代码创建的

def create_service():
core_v1_api = client.CoreV1Api()
body = client.V1Service(
api_version="v1",
kind="Service",
metadata=client.V1ObjectMeta(
name="service-example"
),
spec=client.V1ServiceSpec(
selector={"app": "deployment"},
ports=[client.V1ServicePort(
port=5678,
target_port=5678
)]
)
)
# Creation of the Deployment in specified namespace
# (Can replace "default" with a namespace you may have created)
core_v1_api.create_namespaced_service(namespace="default", body=body)
有一个命令可以在文档上列出 pod ips
v1 = client.CoreV1Api()
print("Listing pods with their IPs:")
ret = v1.list_pod_for_all_namespaces(watch=False)
for i in ret.items:
print("%s\t%s\t%s" %
(i.status.pod_ip, i.metadata.namespace, i.metadata.name))
我想知道是否有办法从服务中对集群 IP 做类似的事情。

最佳答案

只需获取服务并阅读其 spec.cluster_ip属性(property):

from kubernetes import client, config
config.load_kube_config()
api = client.CoreV1Api()
service = api.read_namespaced_service(name="kubernetes", namespace="default")
print(service.spec.cluster_ip)
# 10.100.0.1

关于python - 有没有办法从我使用 Kubernetes Python 客户端创建的服务中获取 cluster_ip?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69589122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com