☸️ Как скопировать секреты из одного кластера Kubernetes в другой |

☸️ Как скопировать секреты из одного кластера Kubernetes в другой

Мануал
Есть много причин, по которым вы можете копировать секреты Kubernetes из одного кластера в другой.
В последние месяцы мне пришлось перейти на новый кластер GKE, чтобы получить новые функциональные возможности.
И в этом конкретном проекте некоторые секреты создаются процессами, которые слишком сложны для воссоздания в новом кластере.
Самым простым решением было просто скопировать секреты.
Итак, в этом руководстве я покажу вам несколько простых способов копирования секретов из одного кластера Kubernetes в другой.

Экспортируйте секрет

В целях данного руководства я буду ссылаться на два кластера: «source» и «destination».

Мы хотим скопировать секрет из нашего «исходного» кластера в наш «целевой» кластер.

Итак, во-первых, убедитесь, что вы прошли аутентификацию в вашем source кластере.

kubectl config current-context

Система должна показать имя контекста, настроенного для доступа к вашему исходному кластеру.

Теперь экспортируйте секрет и сохраните данные конфигурации секрета в файле.

kubectl get secret my-secret-name --export -o yaml > my-secret-name.yaml

Импортируйте секрет в новый кластер

Теперь вы можете импортировать секрет в новый кластер.

Так что продолжайте и аутентифицируйтесь в кластере destination , и просто примените файл конфигурации, который вы только что экспортировали.

kubectl apply -f my-secret-name.yaml
Теперь подтвердите, что ваш секрет был создан правильно.
kubectl get secret

Система должна показать ваш недавно созданный секрет.

Теперь краткая заметка о безопасности. Существуют угрозы безопасности, связанные с хранением конфиденциальной информации в вашей файловой системе (даже если файл удален). В любом случае вы должныудалить файл, который использовался для временного хранения секретных данных, и использовать этот метод только в том случае, если вы понимаете риски и готовы принять их.

Упрощение этого подхода

Первые два шага были разбиты, но могут быть объединены в одну команду.

Сначала вам нужно получить имена контекста для ваших двух кластеров.

Эта команда поможет в этом:

kubectl config get-contexts

Теперь вы можете запустить:

kubectl get secret my-secret-name --context source_context --export -o yaml | kubectl apply --context destination_context -f -
Надеюсь, вы узнаете некоторые из компонентов этого скрипта.
Мы пропускаем часть, где мы экспортируем конфигурацию в файл, и вместо этого отправляем конфигурацию в kubectl apply.
Обратите внимание, что мы можем установить контекст для каждой команды kubectl, это позволяет нам отправлять данные из одного кластера в другой. 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий