декларативно смонтировать секретный счет службы в OpenShift - PullRequest
0 голосов
/ 26 января 2019

Я использую рулевые диаграммы для развертывания некоторых обработчиков webhook. Обработчики должны подключиться к кластеру, на котором они работают, чтобы развернуть в нем конфигурацию. Это работает, но один шаг сложно перейти в рулевой график. Когда диаграмма делает сервисную учетную запись, она дает ей случайно названный секрет:

$ oc describe sa sa-build-webhook-realworld
Name:                sa-build-webhook-realworld
Namespace:           your-eng2
Labels:              app=sa-build-webhook-realworld
Annotations:         
Image pull secrets:  sa-build-webhook-realworld-dockercfg-4qz9g
Mountable secrets:   <b>sa-build-webhook-realworld-token-bqtnw</b>
                     sa-build-webhook-realworld-dockercfg-4qz9g
Tokens:              sa-build-webhook-realworld-token-bqtnw
                     sa-build-webhook-realworld-token-k7lq8
Events:              <none>

Я могу взять это и установить в конфигурации развертывания с помощью:

#https://codereview.stackexchange.com/a/212095/75693
SECRET_NAME=$(
    oc describe sa sa-tag-realworld |
    awk -F': *' '
        $2  { KEY=$1 ; VALUE=$2;  }
        !$2 {          VALUE=$1; }
        KEY=="Mountable secrets" && VALUE !~ /docker/ { print VALUE }
    '
)
oc set volume dc/webhook-realworld \
  --add --name=sa-secret-volume \
  --mount-path=/sa-secret-volume \
  --secret-name=$SECRET_NAME

Я пытаюсь увидеть, есть ли способ декларативно сделать это в диаграмме yaml, которая одновременно создает dc и sa, что составляет здесь .

Есть ли способ ссылаться на сгенерированный секрет учетной записи службы из конфигурации развертывания на диаграмме?

Или я должен пытаться заставить helm / helmfile выполнить поиск в командной строке как часть своей работы?

1 Ответ

0 голосов
/ 29 января 2019

Внутри .spec.template.spec вы можете указать serviceAccountName, чтобы гарантировать, что ваш модуль запускается и аутентифицируется как требуемый ServiceAccount. Источник: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/

Пример

kind: DeploymentConfig
apiVersion: apps.openshift.io/v1
metadata:
  name: deployment
spec:
    metadata:
      name: deployment-pod
    spec:
      serviceAccountName: sa-build-webhook-realworld
  ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...