首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态ConfigMap头盔模板

动态ConfigMap头盔模板
EN

Stack Overflow用户
提问于 2019-02-01 15:39:58
回答 2查看 7.2K关注 0票数 1

我想用一个头盔端子板创建几个ConfiMaps。因此,我为配置/值创建了一个文件夹,并为每个ConfigMap创建了一个配置文件。我已经阅读了helm模板指南,但发现对我的问题没有任何帮助。也许我误解了helm的可能性。

之后,可以从多个文件创建一个configmap:

代码语言:javascript
复制
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .Release.Name }}-configmap
data:
  {{- $files := .Files }}
  {{- range tuple "file1.yaml" "file2.yaml" }}
  {{ $files.Get . }}
  {{- end }}

任何建议都会很有帮助,谢谢,

谨致问候

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-02 19:46:58

感谢您的回复。我有不同的想法。我的新代码让它变得更清晰了。

代码语言:javascript
复制
{{ range $k, $v :=  .Values.configs }}
apiVersion: v1
kind: ConfigMap
metadata:
  name: configmap
  namespace: {{ $.Values.namespace }}
  labels:
    app: "{{base $v}}"
data:
  key: {{$k}}
  value: {{$v}}
{{ $.Files.Get  $v }}
{{ end }}

我在ConfigMap上有一个循环。我的values.yaml看起来像

代码语言:javascript
复制
configs
   name: configs/file1
   name: configs/file2

这些值位于单独的文件夹configs中,每个configmap一个文件。

当前的问题是,结果是一个值为file2的ConfigMap。我预计会有两个ConfigMaps。我的模板出了什么问题。

非常感谢。

票数 1
EN

Stack Overflow用户

发布于 2019-02-01 21:15:14

通常,Tiller会呈现templates/目录中的所有模板。因此,如果我正确理解了您的问题-您可以从下面的简单示例开始:

1)创建测试图表,删除所有预定义模板

代码语言:javascript
复制
helm create testchart
rm -rf testchart/templates/*

2)在templates/中创建2个配置映射yaml文件

configmap1.yaml:

代码语言:javascript
复制
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .Release.Name }}-configmap-1
data:
  myvalue: "My Drinks:"
  drink1: {{ .Values.config1test.drink1 }}
  drink2: {{ .Values.config1test.drink2 }}
  drink3: {{ .Values.config1test.drink3 }}

configmap2.yaml:

代码语言:javascript
复制
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .Release.Name }}-configmap-2
data:
  myvalue: "My food:"
  food1: {{ .Values.config2test.food1 }}
  food2: {{ .Values.config2test.food2 }}
  food3: {{ .Values.config2test.food3 }}

3)创建值文件(1个或更多,取决于您的实现。我创建了2)

myvals1.yaml:

代码语言:javascript
复制
config1test:
  drink1: coffee
  drink2: tea
  drink3: juice

myvals2.yaml:

代码语言:javascript
复制
config2test:
  food1: meat
  food2: fish
  food3: salad

4)申请前测试模板渲染:

代码语言:javascript
复制
helm install --dry-run --debug -f ./testchart/myvals1.yaml -f ./testchart/myvals2.yaml ./testchart

[debug] Created tunnel using local port: '37605'

[debug] SERVER: "127.0.0.1:37605"

[debug] Original chart version: ""
[debug] CHART PATH: /home/vkryvoruchko/testchart

NAME:   tan-frog
REVISION: 1
RELEASED: Fri Feb  1 13:10:46 2019
CHART: testchart-0.1.0
USER-SUPPLIED VALUES:
config1test:
  drink1: coffee
  drink2: tea
  drink3: juice
config2test:
  food1: meat
  food2: fish
  food3: salad

COMPUTED VALUES:
affinity: {}
config1test:
  drink1: coffee
  drink2: tea
  drink3: juice
config2test:
  food1: meat
  food2: fish
  food3: salad
fullnameOverride: ""
image:
  pullPolicy: IfNotPresent
  repository: nginx
  tag: stable
ingress:
  annotations: {}
  enabled: false
  hosts:
  - chart-example.local
  paths: []
  tls: []
nameOverride: ""
nodeSelector: {}
replicaCount: 1
resources: {}
service:
  port: 80
  type: ClusterIP
tolerations: []

HOOKS:
MANIFEST:


---
# Source: testchart/templates/configmap1.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: tan-frog-configmap-1
data:
  myvalue: "My Drinks:"
  drink1: coffee
  drink2: tea
  drink3: juice
---
# Source: testchart/templates/configmap2.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: tan-frog-configmap-2
data:
  myvalue: "My food:"
  food1: meat
  food2: fish
  food3: salad

5)安装图

代码语言:javascript
复制
helm install -f ./testchart/myvals1.yaml -f ./testchart/myvals2.yaml ./testchart

NAME:   unsung-grizzly
LAST DEPLOYED: Fri Feb  1 13:13:15 2019
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/ConfigMap
NAME                        DATA  AGE
unsung-grizzly-configmap-1  4     0s
unsung-grizzly-configmap-2  4     0s

6)验证ConfigMaps:

代码语言:javascript
复制
kubectl get configmaps -o wide

NAME                         DATA   AGE
unsung-grizzly-configmap-1   4      61s
unsung-grizzly-configmap-2   4      61s
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54474960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档