如何使用Kubernetes Python客户端创建秘密

213 阅读1分钟

在这个文章中,我们将看到如何使用Kubernetes Python客户端创建秘密。

我们都知道,通常我们使用kubectl命令来创建、列出、更新、删除kubernetes资源。但在这篇文章中,我们将看到如何使用python来做这些事情的资源。

简介

秘密是一小段机密数据,如密码、令牌或钥匙。另外,这些信息可能包含在Pod规范或容器镜像中。如果你使用Secret,你不必在你的应用程序代码中加入保密数据。

在生成、查看和更新Pod的工作流程中,秘密(及其数据)被暴露的风险较小,因为秘密可以独立于使用它们的Pod而建立。Kubernetes和集群中运行的应用程序也可以对秘密进行不同的处理,例如避免将秘密数据写入非易失性存储。

秘密与配置图类似,只是它们被设计为保留敏感信息。

前提条件

在我们继续使用K8s python客户端创建秘密之前,我们需要遵循一些先决条件。

Kubernetes库为我们提供了客户端和配置等模块,我们将在这里使用这些模块。因此,让我们安装Kubernetes Python客户端。

$ pip install kubernetes

现在,我们已经安装了python-kubernetes包。

所以,让我们开始吧!!!

创建秘密

让我们看看如何使用Kubernetes Python客户端创建秘密。首先,我将创建一个目录,在这个目录中我将创建一个名为create.py的文件。

cd Desktop

mkdir k8s

cd k8s

touch create.py

我的create.py文件包含以下代码,用于使用Kubernetes Python客户端创建一个秘密。现在我们已经安装了python-kubernetes包,我们可以导入它。

from kubernetes import client, config

下面是我使用Kubernetes Python客户端创建秘密的代码


def create_secret(data , string_data , client_api):

    secret = client.V1Secret(

        api_version="v1",

        kind="Secret",

        metadata=client.V1ObjectMeta(name="my-secret"),

        data=data ,
 
        string_data=string_data

    )

    api = client_api.create_namespaced_secret(namespace="default", 
body=secret)

    return api


api_server_endpoint = "Your_API"

bearer_token = "Your_Token"


configuration = client.Configuration()

configuration.host = api_server_endpoint

configuration.verify_ssl = False

configuration.api_key = {"authorization": "Bearer " + bearer_token}

client.Configuration.set_default(configuration)

client_api = client.CoreV1Api()

cm={

    "name": "deekasha"

}

create_secret({} , cm , client_api)

现在,是创建秘密的时候了。所以,我现在将运行python代码。

$ python3 create.py

正如你所看到的,我的秘密 ->我的秘密已经成功创建。

所以,我们现在已经成功完成了。这就是我们如何使用Kubernetes python客户端的方法。