1

当我部署新版本的 Kubernetes 应用程序时,我得到了那个错误

Error: secret "env" not found

在此处输入图像描述

甚至我在自定义资源定义中有 env --> sealsecrets.bitnami.com

在此处输入图像描述

环境.yaml

apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
  creationTimestamp: null
  name: env
  namespace: api
spec:
  encryptedData:
    AUTH_COGNITO: AgCIxZX0Zv6gcK2p ----
template:
    metadata:
      creationTimestamp: null
      name: env
      namespace: api
    type: Opaque

部署.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}
  labels:
    app: {{ .Release.Name }}
spec:
  revisionHistoryLimit: 2
  replicas: {{ .Values.replicas }}
  selector:
    matchLabels:
      app: {{ .Release.Name }}
  template:
    metadata:
      labels:
        app: {{ .Release.Name }}
    spec:
      containers:
        - name: {{ .Release.Name }}
          image: "{{ .Values.imageRepository }}:{{ .Values.tag }}"
          env:
            {{- include "api.env" . | nindent 12 }}
          resources:
            limits:
              memory: {{ .Values.memoryLimit }}
              cpu: {{ .Values.cpuLimit }}
            requests:
              memory: {{ .Values.memoryRequest }}
              cpu: {{ .Values.cpuRequest }}
          {{- if .Values.healthCheck }}
          livenessProbe:
            httpGet:
              path: /healthcheck
              port: 4000
            initialDelaySeconds: 3
            periodSeconds: 3
            timeoutSeconds: 3
          {{- end }}
      imagePullSecrets:
        - name: {{ .Values.imagePullSecret }}      
      {{- if .Values.tolerations }}
      tolerations:
{{ toYaml .Values.tolerations | indent 8 }}
      {{- end }}
      {{- if .Values.nodeSelector }}
      nodeSelector:
{{ toYaml .Values.nodeSelector | indent 8 }}
      {{- end }}

更新我的问题 我的秘密我没有秘密叫env

加上regcred里面的那个错误Sealedsecrets.bitnami.com

Failed to unseal: no key could decrypt secret (.dockerconfigjson)

在此处输入图像描述

4

2 回答 2

3

kubeseal在错误的 Kubernetes 集群上运行,或者您尝试在加密后编辑名称或命名空间,但未启用加密模式下的名称或命名空间。更有可能是第一个。

于 2021-06-01T07:06:22.837 回答
1

甚至@coderanger 回答它我想添加更多细节

我犯了一个错误,我使用错误的命名空间(api 而不是 api2)运行 kubeSeal 命令,然后在转换后的文件中更改它

KubeSeal < input.yaml > env.yaml -o yaml

输入.yaml

apiVersion: v1
kind: Secret
metadata:
  name: env
  namespace: api
type: Opaque
stringData:
  DB_USER: "userName"
  DB_PASSWORD: "password"
 
于 2021-06-01T23:28:55.683 回答