这里有点掌舵新手,简而言之,我想在掌舵图表模板中引用当前的Kubernetes上下文。这可能吗?示例:
如果升级通过以下方式运行:
/var/jenkins_home/helm291 upgrade -i --kube-context Dev
并且模板包含一个deploy.yaml,其内容如下:
...
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
env:
{{- if contains "Dev" .Release.Kube_Context}}
我是否缺少一些可以检查Kube上下文的变量(也称为替换Release.Kube_Context)?我是否以错误的方式(指定环境配置)进行处理?
答案 0 :(得分:2)
您可以导出所需的上下文值,然后执行helm,以便将它们用作环境变量。
例如,如果您需要令牌访问权限:
export TOKEN=$(kubectl config view -o jsonpath='{.users[?(@.name == "dev-user")].user.auth-provider.config.id-token}'); /var/jenkins_home/helm291 upgrade -i --kube-context Dev
答案 1 :(得分:2)
无法做到这一点,并且在模板中这样做也是一种不好的做法。模板应该是通用的-您可以在values.yaml文件中修改特定于环境的内容。如果从Jenkins运行它,则可以改用--kube-context标志