如何使用Kubernetes Python客户端创建服务

476 阅读2分钟

读者朋友们大家好!在这篇文章中,我们将看到如何使用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客户端创建一个服务。