读者朋友们大家好!在这篇文章中,我们将看到如何使用Kubernetes Python客户端创建一个服务。我们都知道,我们使用kubectl命令来创建、列出、更新和删除Kubernetes资源。
什么是Kubernetes中的服务?
一个集群部署的pod集合在逻辑上被抽象为一个Kubernetes服务(它们都执行相同的功能)。由于pod是瞬时的,服务允许执行相关任务的pod集合(如Web服务、图像处理等)被赋予一个名称和独特的IP地址(clusterIP)。
安装Python Kubernetes客户端
在我们继续使用K8s python客户端创建服务之前,我们有一些先决条件需要遵循。
Kubernetes库为我们提供了客户端和配置等模块,我们将在这里使用这些模块。所以,让我们来安装Kubernetes Python客户端。
pip3 install kubernetes
在我的例子中,我已经安装了它,这就是为什么它显示我们已经满足。
现在,我们已经安装了python-Kubernetes包。
创建服务
现在,我将创建一个目录,在这个目录中,我将创建一个名为Service.py的文件。
mkdir service
cd service
nano service.py
现在我们已经安装了k8s包,我们可以把它导入为:
from kubernetes import client, config
我的service.py文件包含以下代码,用于使用Kubernetes Python客户端创建一个作业。
通过Kubernetes Python 客户端创建服务的代码
from kubernetes import client, config
def create_service(core_v1_api):
body = client.V1Service(
api_version="v1",
kind="Service",
metadata=client.V1ObjectMeta(
name="redis-test-svc"
),
spec=client.V1ServiceSpec(
selector={"app": "redis"},
cluster_ip="None",
type="ClusterIP",
ports=[client.V1ServicePort(
port=6379,
target_port=6379
)]
)
)
core_v1_api.create_namespaced_service(namespace="default", body=body)
def main():
config.load_kube_config()
apps_v1_api = client.AppsV1Api()
core_v1_api = client.CoreV1Api()
create_service(core_v1_api)
if __name__ == "__main__":
main()
现在,是时候创建服务了。所以,我现在将运行python代码。
python3 service.py
现在,如果我检查我的服务是否被创建,那么我将简单地运行命令。
kubectl get svc
正如你所看到的,我的服务名为 ->redis-test-svc ,已成功创建。


所以,我们现在已经成功完成了。这就是我们如何使用K8s python客户端的方法。
结语 :
所以,在这篇文章中,我们已经看到了我们是如何轻松地使用k8s python客户端创建一个服务。