Helm Chart使用环境变量教程介绍Helm charts 是一种方便高效的收集Kubernetes资源和构建应用集群的方式。他们还可以在本地计算机上使用环境变量来定义要使用的 Kubernetes 部署值。
如何在Helm Chart中使用环境变量?本教程将介绍在 Kubernetes 部署中包含环境变量的不同方式。
【如何在Helm Chart中使用环境变量(示例分布指南)】先决条件
- 访问终端/命令行
- Minikube 安装和配置(查看我们关于如何在 Ubuntu上安装 Minikube和如何在 CentOS 上安装 Minikube 的指南)
- Helm 安装和配置
- 使用Kubernetes 中的秘密对象在部署中挂载环境变量。
- 在 Helm 图表中编写自定义帮助程序。
USERNAME
和PASSWORD
环境变量。注意: Helm 的环境变量的工作方式类似于Linux、Windows或任何其他操作系统中的环境变量。它传递有助于定义环境的信息。
在 Kubernetes 部署中挂载环境变量
1.
values.yaml
将以下行添加到Helm 图表中的文件中:username: root
password: password
文章图片
2. 创建一个名为的新文件
secret.yaml
并将其添加到template
文件夹中。将以下内容添加到文件中:apiVersion: v1
kind: Secret
metadata:
name: {{ .Release.Name }}-auth
data:
password: {{ .Values.password | b64enc }}
username: {{ .Values.username | b64enc }}
文章图片
3. 如何在Helm Chart中使用环境变量?编辑
env
Kubernetes 部署的部分以包含secret.yaml
文件中定义的新变量:...
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: "USERNAME"
valueFrom:
secretKeyRef:
key:username
name: {{ .Release.Name }}-auth
- name: "PASSWORD"
valueFrom:
secretKeyRef:
key:password
name: {{ .Release.Name }}-auth
...
文章图片
4. Helm Chart使用环境变量教程:将环境变量设置为你想要的值。例如,将
USERNAME
变量设置为hello_user
:export USERNAME=hello_user
5. 通过将变量与
helm install
命令组合来将变量应用于 Helm 图表:helm install --set username=$USERNAME [
chart name] [
chart path]
其中:
[chart name]
是你正在使用的 Helm 图表的名称。[chart path]
是你正在使用的 Helm 图表的路径。
helm install --dry-run --set username=$USERNAME --debug [
chart name] [
chart path]
文章图片
Helm Chart如何使用环境变量:在 Helm 中添加自定义助手
1. 使用文件的
env
部分values.yaml
来定义敏感和非敏感变量。使用normal
和secret
类别列出适当的变量:secret:
name: app-env-var-secret
env:
normal:
variable1: value1
variable2: value2
variable3: value3
secret:
variable4: value4
variable5: value5
variable6: value6
使用此方法,我们然后将
USERNAME
和PASSWORD
变量添加到secret
类别中:…
secret:
USERNAME: [
username]
PASSWORD: [
password]
其中:
[username]
是你要为USERNAME变量设置的值。
文章图片
2. 将
values.yaml
文件路径添加到文件底部.gitignore
:charts/values.yaml
3.
secrets.yaml
在templates
文件夹中创建一个文件,添加如下内容:apiVersion: v1
kind: Secret
metadata:
name: {{ .Values.secret.name }}
type: Opaque
data:
{{- range $key, $val := .Values.env.secret }}
{{ $key }}: {{ $val | b64enc }}
{{- end}}
文章图片
4. 如何在Helm Chart中使用环境变量?在
helpers.tpl
文件templates
夹中找到文件。将以下内容添加到文件底部以编写新的辅助函数:{{- define "helpers.list-env-variables"}}
{{- range $key, $val := .Values.env.secret }}
- name: {{ $key }}
valueFrom:
secretKeyRef:
name: app-env-secret
key: {{ $key }}
{{- end}}
{{- end }}
文章图片
pod.yaml
文件来调用你创建的帮助程序:…
spec:
containers:
- name: mycontainer
image: redis
env:
{{- include "helpers.list-env-variables" . | indent 6 }}
restartPolicy: Never
文章图片
- 创建 Helm Chart
- 使用 Helm Chart 安装 Elasticsearch
- 获取 Helm 版本的 Helm 值
推荐阅读
- 如何安装和使用Flask(创建简单的应用程序)
- 安装系统 一键win10重装系统图文图文详细教程
- 一键重装win10专业版图文图文详细教程
- 最新电脑公司win10系统自制步骤
- 本文教你windows10睡眠与关机有啥区别
- win10一键装系统图文图文详细教程
- 本文教你一键windows10改为windows7要怎样做
- 一键装机win10系统图文图文详细教程
- 安装系统 系统之家一键重装系统xp图文图文详细教程