Доступ к запечатанному секрету из deployment.yaml в диаграмме руля

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

apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
  name: {{ include "api.fullname" . }}
  namespace: api
  
spec:
  template:
    metadata: 
      name: {{ include "api.fullname" . }}
  encryptedData:
    {{- range $key, $val := .Values.encryptedData }}
    {{ $key }}: {{ $val }}
    {{- end }}

и в моем развертывании я устанавливаю секретные значения как переменные env

env:        
{{- range $key, $val := .Values.encryptedData }}
- name: {{ $key }}
  valueFrom:
    secretKeyRef:
      name: {{ include "sealedsecret.bitnami.com/api.fullname" $ }}
      key: {{ $key }}
{{- end }} 

Проблема в том, что когда я устанавливаю диаграмму, запечатанный секретный файл находится в sealsecret.bitnami.com/api.

как можно ссылаться на это во включаемой части secretKeyRef

Ошибка, которую я получаю при установке диаграммы

Error: template: joe-api/templates/deployment.yaml:42:25: executing "api/templates/deployment.yaml" at <include "sealedsecret.bitnami.com/api.fullname" $>: error calling include: template: no template "sealedsecret.bitnami.com/api.fullname" associated with template "gotpl"

любая помощь будет оценена

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
0
0
122
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

SealedSecret создает Secret в вашем кластере с тем же именем, что и он сам, см. https://github.com/bitnami-labs/sealed-secrets#overview

Ваше имя SealedSecret происходит от шаблона полного имени диаграммы - {{ include "api.fullname" . }}, но при развертывании вы включаете неопределенный шаблон с именем sealedsecret.bitnami.com/api.fullname (вы можете проверить доступные шаблоны в файле templates/_helpers.tpl, если хотите)

Таким образом, приведенный ниже фрагмент должен работать:

env:        
{{- range $key, $val := .Values.encryptedData }}
- name: {{ $key }}
  valueFrom:
    secretKeyRef:
      name: {{ include "api.fullname" $ }}
      key: {{ $key }}
{{- end }} 

Спасибо за ответ, однако я все еще получаю шаблон ошибки: api/templates/deployment.yaml:41:25: выполнение "api/templates/deployment.yaml" в <include "api.fullname".>: ошибка вызова включают: шаблон: нет шаблона "api.fullname", связанного с шаблоном "gotpl"

akano1 04.04.2023 12:38

Ах, я всегда забываю область внутри range, заменил . на $, нужно исправить, см. stackoverflow.com/questions/61297149/…

Andrew 04.04.2023 12:50

Я все еще получаю сообщение об ошибке

akano1 04.04.2023 12:54

Как вы создали свою диаграмму? Вы использовали helm create api для создания шаблонной диаграммы? У вас есть файл templates/_helpers.tpl? У вас есть шаблон api.fullname, определенный внутри него?

Andrew 04.04.2023 13:04

да, я создал его с помощью helm create, и у меня есть _helpers.tpl, а там есть api.fullname

akano1 04.04.2023 13:24

извините, у меня была опечатка, теперь это работает. Спасибо

akano1 04.04.2023 13:28

Другие вопросы по теме