Secrets

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

По умолчанию Secrets в Kubernetes хранятся в etcd без шифрования. Для безопасной работы шифруйте секреты при хранении, ограничивайте RBAC и при необходимости используйте внешние хранилища секретов.

Где управлять

Неймспейс → Хранилище → Secrets.

Скриншот: список Secrets

Список Secrets

Создание Secret

  1. Хранилище → Secrets → + Добавить Secret.
  2. Задайте имя Secret.
  3. При необходимости задайте возможность редактирования, тип Secret, лейблы и ключи.
  4. Нажмите Сохранить.

Если в поле Возможность редактирования выбрано Нередактируемый, секрет нельзя изменить.

Для типа kubernetes.io/service-account-token укажите ServiceAccountName; при необходимости добавьте аннотации.

Чтобы добавить ключ, нажмите +. Дальше зависит от типа Secret:

  • Opaque или kubernetes.io/service-account-token — введите ключ и значение, нажмите Добавить.
Скриншот: ключ Secret

Ключ Secret

  • kubernetes.io/dockercfg или kubernetes.io/dockerconfigjson — загрузите Docker config в формате JSON.
Скриншот: Docker config

Docker config Secret Docker config Secret

Пример Docker config
{
  "auths": {
    "your.private.registry.example.com": {
      "username": "janedoe",
      "password": "xxxxxxxxxxx",
      "email": "jdoe@example.com",
      "auth": "c3R...zE2"
    }
  }
}

где auth — это username:password, закодированная в base64.

  • kubernetes.io/tls — загрузите файл сертификата и файл ключа.
Скриншот: TLS Secret

TLS Secret TLS Secret

  • kubernetes.io/ssh-auth — загрузите файл ключа для SSH.
Скриншот: SSH Secret

SSH Secret SSH Secret

  • kubernetes.io/basic-auth — укажите имя пользователя и пароль.
Скриншот: basic-auth Secret

basic-auth Secret

  • bootstrap.kubernetes.io/token — заполните поля токена: auth-extra-groups, expiration, token-id, token-secret, usage-bootstrap-authentication, usage-bootstrap-signing.
Скриншот: bootstrap token

Bootstrap token Secret

Просмотр, изменение и удаление

На странице просмотра доступны вкладки Secret, Лейблы и аннотации, Манифест.

Если при создании выбрано Нередактируемый, секрет доступен только для просмотра. Если выбрано Редактируемый или значение не задано, можно изменить возможность редактирования, тип, ключи, лейблы и аннотации.

На вкладке Манифест секрет с типом Нередактируемый изменить нельзя. После правок выполните проверку; результат отображается справа. Несохранённые изменения не применяются.

Скриншот: манифест Secret

Манифест Secret

Удалить Secret можно одним из способов:

  • в списке Secrets нажмите значок удаления в строке объекта;
  • на странице просмотра на вкладке Secret нажмите Удалить;
  • на вкладке Манифест нажмите значок удаления.

В списке Secrets можно удалить один объект или несколько сразу. Как выбрать объекты и подтвердить удаление — в разделе Множественное удаление.