Рейтинг:0

Как вы монтируете токен сервисной учетной записи k8s в качестве переменной среды?

флаг ng

Когда вы связываете учетную запись службы с подом, она монтируется в /var/run/secrets/kubernetes.io/ папку, но я не вижу способа добавить секрет в качестве переменной среды. Проблема заключается в том, что настройка ссылки в модуле на секрет учетной записи службы невозможна, поскольку секрет, сгенерированный из учетной записи службы, имеет автоматически сгенерированное имя. Таким образом, вы не можете использовать env.valueFrom.secretKeyRef в конфигурации пода. Есть ли способ сделать это без создания секрета вручную?

mozello avatar
флаг cn
Какую версию Kubernetes вы используете?
флаг ng
@мозелло 1.23.3
Рейтинг:1
флаг ng

Я не нашел нативного решения этой проблемы для Kubernetes, но решил ее с помощью terraform. Ресурс service_account предоставляет default_secret_name что позволяет мне ссылаться на секрет в развертывании (или модуле).

ресурс "kubernetes_service_account_v1" "my_service_account" {
  метаданные {
    имя = "моя учетная запись службы"
  }
}

...

ресурс "kubernetes_deployment_v1" "my_deployment" {
  ...
  окружение {
    имя = "НЕКОТОРЫЙ_СЕКРЕТ"
    значение_от {
      секрет_ключ_ref {
        имя = kubernetes_service_account_v1.my_service_account.default_secret_name
        ключ = "токен"
      }
    }
  }
  ...
}

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.