有一个图表文件夹,其中包含多个图表。
charts/
foo-chart/
templates/
deployment.yml
secrets.yml
bar-chart/
templates/
configmaps/
script.yml
定义令牌:
apiVersion: v1
kind: Secret
metadata:
name: {{ .Release.Name }}-secret
labels:
app: {{ include "metrics.name" . }}
chart: {{ include "metrics.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
type: Opaque
data:
# NOTE: Service token has to fit the NIST requirement
serviceToken: {{ randAscii 40 | b64enc }}
运行使用环境变量的命令,该环境变量使用机密:
containers:
command:
- fancy-binary
- -token
- $(AUTH_TOKEN)
env:
- name: AUTH_TOKEN
valueFrom:
secretKeyRef:
name: {{ .Release.Name }}-secret
key: serviceToken
应该运行bash命令(Django admin-command)并使用环境变量:
# Create a Service Token
django-admin service_token_add $(AUTH_TOKEN)
AUTH_TOKEN
吗?env
valueFrom
是否自动设置AUTH_TOKEN
的值(部署是否可行)?答案 0 :(得分:1)
回答第一个问题,通过容器的env
字段传递的环境变量将在您的容器中的所有位置可见
所以在脚本中也要运行,除非您明确取消设置。
您可以通过创建以下代码进行检查(您应该能够复制并粘贴示例):
apiVersion: v1
kind: Secret
metadata:
name: test-secret
type: Opaque
data:
serviceToken: MTIzNDU2Nzg5MAo= # base64 encoded string: "1234567890"
---
apiVersion: v1
kind: Pod
metadata:
name: test
spec:
containers:
- args:
- echo
- hello
- $(AUTH_TOKEN)
name: test
env:
- name: AUTH_TOKEN
valueFrom:
secretKeyRef:
name: test-secret
key: serviceToken
image: centos:7
restartPolicy: Never
,然后在pod完成后,检查日志,您将看到令牌:
$ kubectl logs test
hello 1234567890
脚本也是如此。
为您解答第二个问题;如您在上面的示例中可能已经看到的那样,使用env valueFrom确实会自动将env设置为secret的值。
让我知道它是否有帮助。
答案 1 :(得分:0)
只要使用private void OnPanUpdated(object sender, PanUpdatedEventArgs e)
{
switch (e.StatusType)
{
case GestureStatus.Started:
break;
case GestureStatus.Running:
var newRectangle = new Rectangle(e.TotalX, e.TotalY, this.Bounds.Width, this.Bounds.Height);
this.LayoutTo(newRectangle, easing: Easing.Linear);
break;
case GestureStatus.Completed:
break;
}
}
configmap进行配置,就可以像您在部署中显示的那样设置环境变量。 (同样,您的缩进有些偏离,但这可能只是一个不好的粘贴)