Как узнать, какое имя присвоено V1ObjectMeta в kubernetes?

#python #kubernetes

Вопрос:

У меня есть следующий код, использующий клиент python k8s:

 config.load_incluster_config()
v1 = client.CoreV1Api()
object_meta = k8s.V1ObjectMeta(generate_name='myprefix',
                               namespace='my_name_space')
body = k8s.V1Secret(string_data=data, kind='Secret', type='my_type', metadata=object_meta)
api_response = v1.create_namespaced_secret(namespace='my_name_space', body=body)
 

Это создает секрет в моем пространстве имен K8s. Поскольку я использую generate_name, он присвоил ему какое-то случайное значение с префиксом, который я дал, чтобы имя могло быть myprefix-fbdsu3 или что-то подобное.

Мой вопрос в том, как мне присвоить имя этому секрету после его создания?

Ответ №1:

Вы можете передать секретное имя в этот код и получить пример секретного

 from kubernetes import client, config
config.load_kube_config()
v1 = client.CoreV1Api()
secret = v1.read_namespaced_secret("Secret-name", "Namespace-Name")
print(secret)
 

расшифруйте секрет и получите подробную информацию ов

 from kubernetes import client, config
import base64
import sys    
config.load_kube_config()
v1 = client.CoreV1Api()
sec = str(v1.read_namespaced_secret("secret-name", "namespace-name").data)
pas = base64.b64decode(sec.strip().split()[1].translate(None, '}''))
print(pas)
 

Подробнее читайте по адресу : https://www.programcreek.com/python/?Пример кода=создать секрет

Комментарии:

1. но проблема в том, что у меня нет секретного имени, потому что это случайное имя.

2. Кажется, я это понял! create_namespaced_secret возвращает секрет V1 и содержит случайное имя, которое ему было присвоено!

3. приятно это слышать…!