相关疑难解决方法(0)

将多行 json 字符串插入 helm 模板以进行 base64 编码

我正在尝试将多行 json 字符串插入到 helm 模板中,以进行 Kubernetes 机密所需的 base64 编码。

目标:

  • helm 值被注入到 json 字符串中
  • 多行 json 字符串必须使用 base64 编码 b64enc

myfile1.json不起作用,但myfile2.json有效。我不想将整个 json 文件放在values.yaml.

apiVersion: v1
kind: Secret
metadata:
  name: {{ template "mychart.fullname" . }}
  labels:
    app: {{ template "mychart.name" . }}
    chart: {{ template "mychart.chart" . }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
type: Opaque
data:
  myfile.json: {{ |-
    {
      "item1": {
          "name": "{{ .Values.item1.name }}"
      },
      "item2": {
      }
    } | b64enc …
Run Code Online (Sandbox Code Playgroud)

json yaml kubernetes kubernetes-helm kubernetes-secrets

10
推荐指数
3
解决办法
2万
查看次数

如何在yaml文件中使用json变量(Helm)

我有一个HELM值文件,如下所示:

service:
  environment: dev
  spring_application_json: >-
    {
      "spring" : {
        "boot" : {
          "admin" : {
            "client" : {
              "enabled" : "false",
              "url" : "http://website1",
              "instance" : {
                "service-base-url" : "http://website2",
                "management-base-url" : "http://website3"
              }
            }
          }
        }
      }
    }
Run Code Online (Sandbox Code Playgroud)

以及一个相应的模板文件,它抓取此值并将其作为环境变量插入到容器中.

spec:
  replicas: {{ .Values.replicaCount }}
  template:
    spec:
      imagePullSecrets:
        - name: {{ .Values.image.pullSecret }}
      containers:
        - name: {{ .Chart.Name }}
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
          imagePullPolicy: {{ .Values.image.pullPolicy }}
          env:
            - name: ENVIRONMENT
              value: "{{ .Values.service.environment }}"
            - name: …
Run Code Online (Sandbox Code Playgroud)

json yaml docker kubernetes kubernetes-helm

5
推荐指数
1
解决办法
3738
查看次数