Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Kubernetes Python客户端中使用create_namespaced_secret API_Python_Kubernetes - Fatal编程技术网

在Kubernetes Python客户端中使用create_namespaced_secret API

在Kubernetes Python客户端中使用create_namespaced_secret API,python,kubernetes,Python,Kubernetes,我必须创建这样一个秘密,但使用Python: kubectl创建机密通用mysecret-n mynamespace\ --from literal=etcdpasswd=$(echo-n“PASSWORD”| base64) 如何使用kubernetesPython客户端库的create\u namespaced\u secretAPI来实现这一点?试试以下方法: from kubernetes import client, config from kubernetes.client.res

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

kubectl创建机密通用mysecret-n mynamespace\
--from literal=etcdpasswd=$(echo-n“PASSWORD”| base64)
如何使用
kubernetes
Python客户端库的
create\u namespaced\u secret
API来实现这一点?

试试以下方法:

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
来自kubernetes导入客户端,配置
从kubernetes.client.rest导入ApiException
导入base64
导入回溯
从pprint导入pprint
机密名称='mysecret'
名称空间='mynamespace'
数据={'etcdpasswd':base64.b64encode(“”)}
config.load_kube_config()
core\u api\u instance=client.CoreV1Api()
干运行=无
漂亮=‘真’
body=client.V1Secret()
body.api_版本='v1'
body.data=数据
body.kind='Secret'
body.metadata={'name':secret\u name}
body.type='不透明'
尝试:
如果是干运行!=无:
api\u response=core\u api\u实例。创建\u命名空间的\u secret(命名空间、正文、pretty=pretty、dry\u run=dry\u run)
其他:
api\u response=core\u api\u实例。创建\u命名空间\u secret(命名空间,主体,pretty=pretty)
pprint(api_响应)
APIE除外:
打印(“%s”%(str(e)))
traceback.print_exc()
提升

@user2553620这回答了你的问题吗?回答得很好,特别是错误处理和干运行的使用。值得注意的是,要启用干运行,可以设置
dry\u run='All'