k8s / python:如何使用Kubernetes Python客户端读取机密?

时间:2019-03-14 10:00:17

标签: python mongodb kubernetes jupyter-notebook

我想做与这个问题相反的事情:

How to create secrets using Kubernetes Python client?

即:

如何通过kubernetes-python API从kubernetes集群读取现有机密?

用例是:我想从jupyter笔记本(也在群集中运行)对mongodb(在群集中运行)进行身份验证,而出于明显的原因,而无需在jupyter笔记本中保存mongodb auth密码。

谢谢!

2 个答案:

答案 0 :(得分:1)

  1. 为Python安装Kubernetes client
  2. 现在您可以拉出秘密了。例如,秘密名称- mysql-pass ,名称空间-默认

    Route::get('/', 'PostController@index');

  3. 如果您需要从机密中提取解密的密码

    from kubernetes import client, config config.load_kube_config() v1 = client.CoreV1Api() secret = v1.read_namespaced_secret("mysql-pass", "default") print(secret)

希望这会有所帮助。

答案 1 :(得分:1)

如果您使用kubernetes客户端api,它将以dict数据类型给出响应,并且您可能不需要吐等,您可以这样说

from kubernetes import client, config
import base64
config.load_kube_config()
v1 = client.CoreV1Api()
sec = v1.read_namespaced_secret("default-token-rsbq7", "default").data
cert = base64.b64decode(sec["ca.crt"])
print(cert)