Kubernetes копировать секреты между пространствами имен.

Как ско­пи­ро­вать secret (сек­рет) Kubernetes из одно­го про­стран­ства имен в дру­гое про­стран­ство имен (namespace)?
Secret – это объ­ект Kubernetes, в кото­ром хра­нят­ся кон­фи­ден­ци­аль­ные дан­ные, такие как пароль, токен или ключ.
В про­тив­ном слу­чае такая инфор­ма­ция мог­ла бы быть поме­ще­на в спе­ци­фи­ка­цию пода или обра­за, но для сов­мест­но­го исполь­зо­ва­ния меж­ду пода­ми и служ­ба­ми это луч­ше сде­лать через объ­ект Kubernetes.
Поль­зо­ва­те­ли кла­сте­ра Kubernetes могут созда­вать сек­ре­ты, а так­же и систе­ма созда­ет неко­то­рые секреты.
мы ско­пи­ру­ем сек­рет, уже создан­ный в про­стран­стве имен или про­ек­те  и при­ме­ним его к дру­го­му про­стран­ству имен.
Это хоро­шая прак­ти­ка – напри­мер сек­ре­ты registry, общие учет­ные дан­ные git, сер­ти­фи­ка­ты и клю­чи SSL, общие учет­ные дан­ные API и т. д.

Создание секретов Kubernetes

Мы созда­дим сек­рет с име­нем поль­зо­ва­те­ля и паро­лем из файла.

echo -n 'admin' > ./username.txt

echo -n 'Password' > ./password.txt

Запу­сти­те коман­ду kubectl create secret, что­бы упа­ко­вать эти фай­лы в сек­рет и создать объ­ект на сер­ве­ре API.

Пере­чис­лим наши секреты:

Копирование секретов Kubernetes между неймспейсами

Исполь­зуй­те сле­ду­ю­щий син­так­сис коман­ды kubectl, что­бы ско­пи­ро­вать сек­рет из одно­го про­стран­ства имен в дру­гое про­стран­ство имен.

В моем при­ме­ре я выполню:

Вывод выпол­не­ния команды:

Под­твер­ди­те созда­ние сек­ре­та в про­стран­стве имен.

Рас­шиф­руй­те сек­рет, что­бы под­твер­дить пра­виль­ность данных:

Вывод коман­ды:

Если у вас есть jq, вы може­те исполь­зо­вать сле­ду­ю­щую коман­ду для расшифровки.

Вот как вы може­те лег­ко ско­пи­ро­вать сек­рет меж­ду про­стран­ства­ми имен в Kubernetes и OpenShift кластерах.