在Kubernetes Python客户端中使用create_namespaced_secret API
我必须创建这样一个秘密,但使用Python:在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
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'
。