Secrets

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

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

Скриншот

secret

На странице Secrets можно создать, отредактировать, удалить или просмотреть ранее созданные секреты.

Создание Secret

Чтобы создать секрет нажмите на кнопку + Добавить Secret.

В открывшемся окне возможно заполнить:

  • имя Secret;
  • возможность редактирования. Если вы установите в поле Возможность редактирования значение Нередактируемый, секрет не будет доступен для изменения.
  • тип Secret. Когда выбран тип kubernetes.io/service-account-token, необходимо выбрать ServiceAccountName и дополнительно доступно добавление Аннотации;
  • добавить лейблы;
  • ключи.

Для заполнения текстового ключа нажмите +, в открывшемся модальном окне:

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

secretkey

  • Если был выбран тип секрета kubernetes.io/dockercfg или kubernetes.io/dockerconfigjson, загрузите файл Docker config в формате json и нажмите кнопку Добавить.
Скриншот

secretdocker secretdocker2

Пример 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, загрузите файл с сертификатом клиента и файл с ключом клиента, нажмите кнопку Добавить.
Скриншот

secrettls3 secrettls1

  • Если выбран тип секрета kubernetes.io/ssh-auth, загрузите файл ключа пользователя для подключения по SSH и нажмите кнопку Добавить.
Скриншот

secretssh secretssh2

  • Если выбран тип секрета kubernetes.io/basic-auth, укажите имя и пароль в ключе, нажмите кнопку Добавить.
Скриншот

secretauth1

  • Если выбран тип bootstrap.kubernetes.io/token, доступно к заполнению:
    • auth-extra-groups. Список имен групп, которые должны быть аутентифицированы дополнительно к группе system:bootstrappers.
    • expiration - окончание периода действия токена.
    • token-id - идентификатор токена.
    • token-secret - секрет токена.
    • usage-bootstrap-authentication - флаг использования токена для аутентификации.
    • usage-bootstrap-signing - флаг использования токена для подписания.
Скриншот

secrettoken

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

Просмотр и редактирование Secret

На странице просмотра доступны вкладки:

  • Secret
  • Лейблы и аннотации
  • Манифест

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

Если при создании было выбрано Редактируемый или Не задано, к редактированию доступны:

  • возможность редактирования;
  • тип Secret.
  • дополнительные поля в зависимости от типа созданного Secret;
  • добавление лейблов и аннотаций;
  • ключи.

Чтобы изменить Secret с помощью YAML манифеста, перейдите на вкладку Манифест. Манифест не будет доступен к редактированию, если его тип “Нередактируемый”. После внесения изменений в манифест выполните проверку. Результат проверки будет доступен в правой части экрана. Раскройте блок результата проверки, чтобы увидеть полный манифест. Если валидация формата манифеста Issuer не пройдена, недоступна проверка манифеста.

Скриншот

secretmanifest2

Сохраните изменения, внесенные в манифест. Несохраненные данные не будут применены.

×