secret — это ресурс Kubernetes, используемый для хранения конфиденциальной информации, такой как учетные данные для аутентификации и ключи, необходимые рабочим нагрузкам. Содержимое secret определяется пользователями. После создания secret контейнеризованные рабочие нагрузки могут безопасно использовать его через монтирование томов или внедрение переменных окружения.
Secrets отделяют конфиденциальные данные от образов контейнеров, предотвращая их раскрытие в виде открытого текста в образах или файлах конфигурации. Это значительно снижает риск утечки данных и повышает безопасность и переносимость рабочих нагрузок.
Secrets нельзя использовать в static pods.
Параметр | Описание |
|---|---|
Имя | Имя создаваемого secret, которое должно быть уникальным. |
Namespace | Namespace, к которому относится секрет. Если вы не укажете этот параметр, используется значение default по умолчанию. |
Description | Описание секрета. |
Secret Type | Тип секрета, который вы создаёте.
|
Data | Данные секрета рабочей нагрузки могут использоваться в контейнерах.
|
Tag Management (Необязательно) | Метки секрета. Нажмите Add Label и введите пары ключ‑значение. Ключ и значение должны содержать от 1 до 63 символов, начинающихся и заканчивающихся буквой или цифрой. Разрешены только буквы, цифры, дефисы (-), подчеркивания (_) и точки (.). |
Новый секрет отображается в списке ключей.
# echo -n "content-to-be-encoded" | base64******
vi cce-secret.yaml
Следующий файл YAML использует тип Opaque в качестве примера. Подробнее о других типах см. Secret Resource File Configuration Example.
apiVersion: v1kind: Secretmetadata:name: mysecrettype: Opaquedata:<your_key>: <your_value> # Enter a key-value pair. The value must be encoded using Base64.
kubectl create -f cce-secret.yaml
Вы можете запросить секрет после создания.
kubectl get secret -n default
В этом разделе описаны примеры конфигураций файлов описания ресурса секрета.
Файл secret.yaml определён как показано ниже. Поле data заполняется парой ключ‑значение, а поле value должно быть закодировано с использованием Base64. Подробности см. в Base64 Encoding.
apiVersion: v1kind: Secretmetadata:name: mysecret #Secret namenamespace: default #Namespace. The default value is default .data:<your_key>: <your_value> # Enter a key-value pair. The value must be encoded using Base64.type: Opaque
Файл secret.yaml определён как показано ниже. Значение .dockerconfigjson должно быть закодировано с использованием Base64. Подробности см. в Base64 Encoding.
apiVersion: v1kind: Secretmetadata:name: mysecret #Secret namenamespace: default #Namespace. The default value is default .data:.dockerconfigjson: eyJh ***** # Content encoded using Base64.type: kubernetes.io/dockerconfigjson
Чтобы получить содержимое .dockerconfigjson, выполните следующие действия:
echo -n "username:password" | base64
Вывод команды:
dXNlcm5hbWU6cGFzc3dvcmQ=
echo -n '{"auths":{" address ":{"username":" username ","password":" password ","auth":" dXNlcm5hbWU6cGFzc3dvcmQ= "}}}' | base64
Вывод команды:
eyJhdXRocyI6eyJhZGRyZXNzIjp7InVzZXJuYW1lIjoidXNlcm5hbWUiLCJwYXNzd29yZCI6InBhc3N3b3JkIiwiYXV0aCI6ImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RPSJ9fX0=
Закодированное содержимое — это .dockerconfigjson.
Значения tls.crt и tls.key должны быть закодированы с использованием Base64. Для получения подробностей см. Base64 Encoding.
Значения tls.crt и tls.key должны быть закодированы с использованием Base64. Для получения подробностей см. Base64 Encoding.
Для выполнения Base64‑кодирования строки выполните следующую команду:
echo -n "Content to be encoded" | base64
После создания секрета вы можете обновить или удалить его, как описано в Table 2. Список секретов содержит системные ресурсы секретов, которые можно только запрашивать. Системные ресурсы секретов нельзя обновлять или удалять.
Операция | Описание |
|---|---|
Редактирование YAML‑файла секрета | Нажмите Edit YAML в строке, где находится целевой secret, чтобы отредактировать его YAML‑файл. |
Обновление secret |
|
Удаление secret | Выберите secret, который нужно удалить, и выберите More > Delete. Следуйте подсказкам, чтобы удалить secret. |
Пакетное удаление secret |
|