如何通过Kubernetes Python客户端创建部署

377 阅读2分钟

目录

阅读时间: 3 分钟

大家好。我希望你们都过得很好。在这篇博客中,我们将看到如何使用 Kubernetes python客户端创建一个部署。我们都知道,通常我们使用kubectl命令来创建、列出、更新、删除kubernetes资源。但在这篇博客中,我们将看到我们如何使用python来做这些事情的资源。它将会很有趣,请继续关注。

先决条件 :

在我们开始使用kubernetes python客户端创建部署之前。我们需要遵循一些先决条件,比如。

所以,我们需要安装Kubernetes Python客户端。

$ pip install kubernetes

kubernetes python客户端现在已经成功安装。

所以;现在让我们看看如何通过kubernetes python客户端创建一个部署。

创建部署。

现在我在我的桌面上创建了一个目录,名字是deployment。

或者在这个目录中,我创建了两个文件,即 create-deployment.py nginx-deployment.yaml 。

为什么我创建了nginx-deployment.yaml文件,因为我通过传递yaml文件来创建部署。

现在,我创建了部署,为此我必须在create-deployment.py文件中导入python客户端。

from kubernetes import client, config

下面是通过python客户端创建部署的代码。

from os import path

import yaml

from kubernetes import client, config


def main():
    # Configs can be set in Configuration class directly or using helper
    # utility. If no argument provided, the config will be loaded from
    # default location.
    config.load_kube_config()

    with open(path.join(path.dirname(__file__), "nginx-deployment.yaml")) as f:
        dep = yaml.safe_load(f)
        k8s_apps_v1 = client.AppsV1Api()
        resp = k8s_apps_v1.create_namespaced_deployment(
            body=dep, namespace="default")
        print("Deployment created. status='%s'" % resp.metadata.name)


if __name__ == '__main__':
    main()

这里是我的nginx-deployment.yaml文件,我在create-deployment.py文件中传递了这个文件。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.15.4
        ports:
        - containerPort: 80

现在,让我们使用命令来运行create-deployment.py文件。

python3 create-deployment.py

现在,如果我检查我的部署是否被创建,我将简单地运行该命令。

kubectl get deployment

所以;你可以看到我的部署nginx-deployment已经成功创建。

总结。

所以;在这篇博客中,我们已经看到了我们是如何使用kubernetes python客户端轻松创建部署的。我希望这篇博客能够帮助你。

祝你学习愉快...

参考文献:

www.ibm.com/docs/en/clo…