【问题标题】:Using create_namespaced_secret API in Kubernetes Python client在 Kubernetes Python 客户端中使用 create_namespaced_secret API
【发布时间】:2020-08-07 20:39:34
【问题描述】:

我必须像这样创建一个秘密,但使用 Python:

kubectl create secret generic mysecret -n mynamespace \
    --from-literal=etcdpasswd=$(echo -n "PASSWORD" | base64)

如何使用kubernetes Python 客户端库的create_namespaced_secret API 来实现?

【问题讨论】:

    标签: python kubernetes


    【解决方案1】:

    试试这个:

    from kubernetes import client, config
    from kubernetes.client.rest import ApiException
    import base64
    import traceback
    from pprint import pprint
    
    secret_name = 'mysecret'
    namespace = 'mynamespace'
    data = {'etcdpasswd': base64.b64encode('<PASSWORD>')}
    
    config.load_kube_config()
    core_api_instance = client.CoreV1Api()
    dry_run = None
    pretty = 'true'
    body = client.V1Secret()
    body.api_version = 'v1'
    body.data = data
    body.kind = 'Secret'
    body.metadata = {'name': secret_name}
    body.type = 'Opaque'
    try:
        if dry_run != None:
            api_response = core_api_instance.create_namespaced_secret(namespace, body, pretty=pretty, dry_run=dry_run)
        else:
            api_response = core_api_instance.create_namespaced_secret(namespace, body, pretty=pretty)
        pprint(api_response)
    except ApiException as e:
        print("%s" % (str(e)))
        traceback.print_exc()
        raise
    

    【讨论】:

    • @user2553620 这回答了你的问题吗?
    • 不错的答案,尤其是错误处理和空运行的使用。值得注意的是,要启用空运行,您可以设置dry_run = 'All'
    猜你喜欢
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    • 2021-09-30
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 2023-02-16
    相关资源
    最近更新 更多