Closed6
helmを学ぶ
勉強しよう
argocdのappで作成しながら遊んでみる
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: helm-test
namespace: argocd
spec:
project: default
source:
repoURL: '<repo>'
targetRevision: HEAD
path: '<path>'
helm:
destination:
server: 'https://kubernetes.default.svc'
namespace: default
syncPolicy:
automated:
A First Template
ファイル構成
├── helm # helm
│ ├── Chart.yaml
│ └── templates
│ └── configmap.yaml
└── helm-test.yaml # argocd app manifest
ローカルで確認
❯ helm template ./helm
---
# Source: helm/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: mychart-configmap
data:
myvalue: "Hello World"
adding-a-simple-template-call
.Release.Name
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
myvalue: "Hello World"
ローカルで確認
❯ helm template helm-test ./helm
---
# Source: helm/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: helm-test-configmap
data:
myvalue: "Hello World"
argocdで展開してもhelm-testが頭にくっついた
app名が.Release.Name
で指定される?
Values Files
ファイル構成
├── helm
│ ├── Chart.yaml
│ ├── templates
│ │ └── configmap.yaml
│ ├── values.yaml # 変数1
│ └── values2.yaml # 変数2
└── helm-test.yaml
ローカルで確認
-f <valueファイル>
で使う変数ファイルを設定
### values.yaml
❯ helm template helm-test ./helm -f ./helm/values.yaml
---
# Source: helm/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: helm-test-configmap
data:
myvalue: "Hello World"
drink: coffee
### values2.yaml
❯ helm template helm-test ./helm -f ./helm/values2.yaml
---
# Source: helm/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: helm-test-configmap
data:
myvalue: "Hello World"
drink: tea
argocd
spec:
project: default
source:
repoURL: '<repo>'
targetRevision: HEAD
path: '<path>'
helm:
valueFiles:
- values.yaml
飽きた、クローズ
このスクラップは4ヶ月前にクローズされました