J04.01. Секретные переменные (Secrets)
Назначение секретных переменных
Секретные переменные (Secrets) — зашифрованные переменные в Cloud Managed Kubernetes, которые используются в контейнерах без предоставления значения. Секретные переменные также используются для частных сведений, таких как пароли, идентификаторы и другие идентифицирующие данные. Чтобы использовать секретную переменную, под должен сослаться на нее одним из следующих способов:
- Как файл в томе, смонтированный и используемый контейнерными работающими в поде приложениями.
- В качестве переменных среды, используемых контейнерами в поде.
- В качестве учетных данных реестра образов, когда образы извлекаются для пода kubelet.
Также секретные переменные используются при создании сервисов, заданий или заданий по расписанию.
Ссылки на документацию
Более подробная информация по секретным переменным в официальной документации Kubernetes.
Необходимые условия перед выполнением настроек
Перед выполнением настроек должны быть созданы:
- рабочее пространство,
- проект,
- пользователь project-regular.
Пользователь должен быть приглашен в проект и наделен ролью operator.
Создание секретной переменной
Создание состоит из следующих последовательных шагов:
1. Открытие дашборда.
2. Ввод основной информации.
3. Установка секретной переменной.
При необходимости проверьте параметры настройки.
Шаг 1. Открытие дашборда
1. Войдите в веб-консоль как project-regular.
2. Перейдите в Configuration проекта, выберите Secrets и нажмите Create.
Шаг 2. Ввод основной информации
Задайте имя секретной переменной, например, demo-secret и нажмите кнопку Next.
Шаг 3. Установка секретной переменной
1. На вкладке Data Settings выберите тип секретной переменной. Типы указываются поле type файла YAML.
Типы секретных переменных в Cloud Managed Kubernetes:
Тип | Назначение |
Default | Тип Opaque в Cloud Managed Kubernetes. Тип по умолчанию. При необходимости создайте произвольные пользовательские данные для этого типа. Нажмите кнопку Add Data, чтобы добавить для него пары «ключ-значение». |
TLS information | kubernetes.io/tls используется для хранения сертификата и связанного с ним ключа. Обычно используется для TLS, например, для завершения TLS ресурсов Ingress. Укажите для него Credential и Private Key ( tls.crt и tls.key в файле YAML соответственно). Тип |
Image registry information | Тип kubernetes.io/dockerconfigjson используется для хранения учетных данных для доступа к реестру Docker для образов. |
Username and password | Тип kubernetes.io/basic-auth используется для хранения учетных данных, необходимых для базовой аутентификации. Укажите для имя пользователя и пароль (Username и Password в файле YAML). |
2. В примере из статьи выберите тип Default секретной переменной. Нажмите кнопку Add Data и введите Key (MYSQL_ROOT_PASSWORD) и Value (123456), чтобы указать секретную переменную для MySQL.
3. Нажмите √ в правом нижнем углу для подтверждения. Вы можете продолжить добавлять пары ключ-значение в секретную переменную или нажмите Create.
Проверка деталей настройки
1. После создания секретная переменная отображается в списке. При необходимости щелкните справа и выбрать операцию из меню, чтобы изменить ее.
- Edit Information: просмотр и редактирование основной информации.
- Edit YAML: просмотр, загрузка, скачивание или обновление файла YAML.
- Edit Settings: изменение пары ключ-значение секретной переменной.
- Delete: удаление секретной переменной.
2. Щелкните имя секретной переменной и перейдете на страницу сведений. На вкладке Data все пары «ключ-значение», которые вы добавили для секретной переменной.
3. Нажмите More, чтобы отобразить доступные операции с этой секретной переменной:
- Edit YAML: просмотр, загрузка, скачивание или обновление файла YAML.
- Edit Secret: изменение пары ключ-значение секретной переменной.
- Delete: удаление секретной переменной и возврат на страницу со списком.
Примеры часто используемых секретных переменных
В разделе два примера создания часто использующихся секретных переменных:
Docker Hub
1. Войдите в консоль как project-regular , перейдите в проект, выберите Secrets на панели навигации и нажмите кнопку Create справа.
2. Задайте имя, например, dockerhub-id, и нажмите кнопку Next. На странице Data Settings заполните следующие поля и нажмите кнопку Validate, чтобы проверить корректность предоставленной информации.
- Type: выберите Image registry information.
- Registry Address: введите адрес реестра Docker Hub, например docker.io.
- Username: введите Docker ID.
- Password: введите пароль от Docker Hub.
3. Нажмите кнопку Create.
GitHub
1. Войдите в консоль как project-regular, перейдите в проект, выберите Secrets на панели навигации и нажмите кнопку Create справа.
2. Задайте имя, например, github-id, и нажмите кнопку Next. На странице Data Settings заполните следующие поля:
- Type: выберите Username and password.
- Username: введите ваш логин от аккаунта GitHub.
- Password: введите ваш пароль от аккаунта GitHub.
3. Нажмите кнопку Create.