基本的なWebアプリのvalues.yamlを検証する
イメージ、サービス、Ingress、リソース設定を含むWebアプリケーション用の標準的なHelm values.yamlを検証します。最も一般的なチャートパターンをカバーします。
Basic Configuration
詳細な説明
標準的なWebアプリケーションの値
最も一般的なHelmチャートパターンは、イメージ、Service、オプションのIngress、リソース制限を持つシンプルなWebアプリケーションデプロイメントです。バリデーターは各セクションがHelm規約に従っているかチェックします。
values.yamlの例
replicaCount: 1
image:
repository: nginx
pullPolicy: IfNotPresent
tag: "1.25.0"
service:
type: ClusterIP
port: 80
ingress:
enabled: false
className: ""
annotations: {}
hosts:
- host: chart-example.local
paths:
- path: /
pathType: ImplementationSpecific
tls: []
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi
検証される項目
- イメージセクション:
image.repositoryは文字列、image.tagは空や"latest"でないこと、image.pullPolicyはAlways、IfNotPresent、Neverのいずれかであること。 - サービスセクション:
service.typeは有効なKubernetesサービスタイプ(ClusterIP、NodePort、LoadBalancer、ExternalName)かチェック。 - Ingressセクション: 有効な場合、ホストパスに有効な
pathType値(ImplementationSpecific、Exact、Prefix)が必要。 - リソースセクション:
limitsとrequestsの両方が存在すべき。一方のみの定義はフラグされます。
よくある問題
image.tag: latestの使用(警告:本番環境には非推奨)resources.limits定義時にresources.requestsが欠落- "Headless"のような無効な
service.type値(clusterIP: NoneのClusterIPを使用すべき)
ユースケース
初回デプロイ前に新しく作成したHelmチャート('helm create'から)をレビュー。デフォルト値がKubernetesとHelmのベストプラクティスに従っていることを確認します。