Под не видит секретов - PullRequest
0 голосов
/ 06 мая 2020

Под, созданный в том же пространстве имен default, что и секрет, не видит значений из него.

Файл секрета содержит следующее:

apiVersion: v1
kind: Secret
metadata:
  name: backend-secret
data:
  SECRET_KEY: <base64 of value>
  DEBUG: <base64 of value>

После создания этого секрета с помощью kubectl create -f backend-secret.yaml Я запускаю модуль со следующей конфигурацией:

apiVersion: v1
kind: Pod
metadata:
  name: backend
spec:
  containers:
    - image: backend
      name: backend
      ports:
        - containerPort: 8000
  imagePullSecrets:
    - name: dockerhub-credentials
  volumes:
  - name: secret
    secret:
      secretName: backend-secret

Но модуль вылетает после попытки извлечь эту переменную среды через строку python os.environ['DEBUG'].

Как сделать заставить его работать?

Ответы [ 2 ]

4 голосов
/ 06 мая 2020

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

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

apiVersion: v1
kind: Pod
metadata:
  name: backend
spec:
  containers:
    - image: backend
      name: backend
      ports:
        - containerPort: 8000
      env:
      - name: DEBUG
        valueFrom:
          secretKeyRef:
            name: backend-secret
            key: DEBUG
      - name: SECRET_KEY
        valueFrom:
          secretKeyRef:
            name: backend-secret
            key: SECRET_KEY
  imagePullSecrets:
    - name: dockerhub-credentials

Ссылка: https://kubernetes.io/docs/concepts/configuration/secret/#using -secrets-as-environment-variables

0 голосов
/ 07 мая 2020

Наконец, я использовал эти строки в Deployment.spec.template.spec.containers:

  containers:
  - name: backend
    image: zuber93/wts_backend
    imagePullPolicy: Always
    envFrom:
    - secretRef:
        name: backend-secret
    ports:
    - containerPort: 8000
...