Как расшифровать секрет в Kubernetes

Kak Rassifrovat Sekret V Kubernetes



Kubernetes — это система развертывания контейнеров с открытым исходным кодом, которая запускает контейнерные приложения внутри кластера Kubernetes. При развертывании приложений секреты являются одним из важнейших ресурсов Kubernetes. Он используется для хранения важной или конфиденциальной информации, такой как имена пользователей и пароли, ключи API, сертификаты или токены. Это избавляет пользователя от предоставления важной информации в коде. Секрет Kubernetes не хранит данные напрямую, он сначала преобразует данные в другую форму, а затем сохраняет их в ресурсе Kubernetes.

Эта статья проиллюстрирует:

Как создать секрет Kubernetes?

В Kubernetes существуют различные типы секретов: общий секрет используется для хранения общей информации, такой как учетные данные пользователя и токены, секрет TLS используется для хранения сертификата и ключа tls, а секрет реестра Docker хранит учетные данные для входа в Docker.







Для демонстрации мы создадим общий секрет для хранения имени пользователя и пароля в приведенных ниже инструкциях.



Шаг 1. Запустите кластер

Сначала запустите кластер Kubernetes. Для этого просто используйте команду « запуск миникуба » команда:



запуск миникуба -п многоузловой

В приведенной выше команде мы запускаем наш многоузловой кластер minikube:





Шаг 2. Создайте файл учетных данных

Затем создайте два текстовых файла с именами «username.txt» и «password.txt», чтобы сохранить имя пользователя и пароль соответственно.



Шаг 3: Создайте секрет

Затем перейдите в каталог, в котором вы создали файлы учетных данных:

CD C:\Users\Dell\Documents\Kubernetes\Secret

Создайте новый секрет, используя « kubectl create secret <тип-секрета> <имя-секрета> команда. Здесь « -из файла Опция » используется для сохранения секретных данных из файла:

kubectl создать секретный общий демо-секрет --из файла '=' имя пользователя =имя_пользователя.txt --из файла '=' пароль =пароль.txt

Шаг 4: Получите секрет

Для проверки перечислите секрет, используя команду ниже.

kubectl получить секрет

Вывод показывает, что новый секрет создан успешно:

Как получить расшифрованный секрет в Kubernetes?

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

Шаг 1: Опишите секрет

« kubectl описать » отображает подробную информацию о ресурсе Kubernetes. Для просмотра секретных деталей воспользуйтесь кнопкой « kubectl описать секрет <секретное-имя> » команда:

kubectl описывает секретный демо-секрет

Здесь приведенная выше команда показывает размер секретных данных только в байтах, но не раскрывает секретную информацию, как показано ниже:

Шаг 2. Получите секретные данные в формате Json

Чтобы получить секретные данные в формате json, используйте следующую команду:

kubectl получить секретный демо-секрет jsonpath '=' '{.данные}'

Результат ниже показывает секретные данные, закодированные в base64:

Чтобы просмотреть секрет, пользователю необходимо его расшифровать. Чтобы декодировать секрет из base64 в реальную форму, пользователю необходим терминал bash для запуска команды bash. Чтобы установить терминал bash, следуйте инструкциям « Добавьте Git Bash в терминал Windows ' статья.

Шаг 3: Расшифруйте секрет

Чтобы расшифровать секрет, сначала запустите терминал «git bash». После этого запустите « echo <имя пользователя в кодировке Base64> | base64 – декодировать команда. Эту команду можно выполнить напрямую на терминалах Linux и Mac:

эхо 'TGludXhoaW50' | база64 --декодировать

Здесь мы расшифровали имя пользователя:

Для расшифровки пароля используйте команду « echo <пароль в кодировке Base64> | base64 – декодировать » команда:

эхо 'TGludXhoaW50QDEyMw==' | база64 --декодировать

Как получить декодированный секрет с помощью пакета View-Secret?

Пользователи Kubernetes могут расшифровать секрет, используя различные пакеты и « секрет просмотра «Пакет — один из них, который можно установить и легко использовать с помощью одного из плагинов, поддерживаемых Kubernetes». Кровь ». Чтобы установить и использовать « секрет просмотра », следуйте приведенной ниже демонстрации:

Предварительное условие: установите плагин Krew.

Плагин Krew — это один из плагинов Kubernetes, который можно использовать для установки различных пакетов для предоставления дополнительных функций ресурсам Kubernetes. Чтобы установить krew в систему, выполните следующие действия.

Шаг 1. Загрузите файл «krew.exe».

Сначала перейдите к официальному релизу krew. страница и загрузите файл «krew.exe»:

—————————————————————————————————————————-

По умолчанию krew будет загружен в папке « Загрузки ' папка:

Шаг 2. Запустите командную строку

Откройте командную строку с правами администратора через « Запускать меню:

Шаг 3: Установите Крю

Перейдите в каталог, где находится « кровь.exe » файл загружается:

CD C:\Пользователи\Dell\Загрузки

Затем используйте следующую команду для установки krew в Windows:

.\кровь установить кровь

Приведенная выше команда установит krew в каталог пользователя « C:\Users\<имя пользователя>\.crew\bin »:

Шаг 4. Добавьте Krew в путь Windows

Чтобы получить доступ к командам Krew из командной строки Windows, пользователям необходимо добавить krew в путь Windows. Для этого найдите « Переменная среды » в меню «Пуск» и запустите выделенные ниже настройки:

Из ' Передовой На вкладке «Переменные среды» откройте настройки «Переменные среды»:

Выберите « Путь ” и нажмите кнопку “ Редактировать ' кнопка:

Нажмите ' Новый Чтобы добавить путь, вставьте кнопку « C:\Users\<имя пользователя>\.crew\bin » путь и нажмите кнопку «ОК»:

Шаг 5: Проверка

Теперь закройте все терминалы Windows и запустите командную строку или PowerShell. Затем выполните приведенную ниже команду, чтобы проверить, установлен ли krew или нет:

кубектл кровь

Вывод показывает, что мы успешно установили krew в систему:

Расшифруйте секрет Kubernetes с помощью пакета View-Secret

Чтобы декодировать секрет с помощью пакета view-secret, сначала установите секрет с помощью krew. После этого используйте « kubectl view-secret <имя-секрета> ” команда для расшифровки секрета. Для иллюстрации посмотрите следующие шаги.

Шаг 1. Установите пакет View-Secret

Чтобы установить пакет view-secret, используйте плагин Kubectl krew, как показано ниже:

кубектл кровь установить секрет просмотра

Как видите, мы установили пакет view-secret. Также игнорируйте показанное ниже предупреждение:

Шаг 2. Просмотр секрета Kubernetes

Затем, чтобы просмотреть расшифрованный секрет Kubernetes, используйте команду « kubectl view-secret <имя-секрета> » команда:

Kubectl View-Secret Демо-секрет

Здесь выходные данные показывают, что текущий секрет содержит две переменные. Для просмотра декодированного значения пользователю необходимо указать также имя переменной в команде:

Шаг 3: Расшифруйте секрет

Чтобы расшифровать секретное значение, используйте команду « kubectl view-secret <секретное имя> <имя переменной> » команда:

kubectl view-secret демо-секретное имя пользователя

Здесь мы расшифровали имя пользователя:

Изменив имя переменной в приведенной выше команде, мы получили доступ к паролю, как показано ниже:

kubectl view-secret демо-секретный пароль

Вот и все, что нужно для получения расшифрованного секрета в Kubernetes.

Заключение

Чтобы получить расшифрованный секрет в Kubernetes, сначала получите доступ к секретным данным в формате json с помощью команды «kubectl get secret». Эта команда покажет секретные данные, закодированные в base64. Для декодирования данных используйте команду « echo <данные в кодировке Base64> | base64 – декодировать команда. Альтернативно, пользователь может просмотреть декодированный секрет, используя пакет «view-secret». В этом блоге показано, как получить расшифрованные секреты в Kubernetes.