HelmのIngress設定を検証する

Helm values.yamlのIngress設定をチェック。hosts、paths、pathType、TLS、classNameをKubernetes Ingress API規約に基づいて検証します。

Ingress & Networking

詳細な説明

Ingress設定の検証

Helmチャートのingressセクションは、サービスへの外部HTTP/HTTPSアクセスを制御します。Ingress v1beta1からv1への移行により、設定要件がより厳格になっています。

標準パターン

ingress:
  enabled: true
  className: nginx
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
  hosts:
    - host: app.example.com
      paths:
        - path: /
          pathType: Prefix
  tls:
    - secretName: app-tls
      hosts:
        - app.example.com

検証される項目

  1. pathType値: ImplementationSpecificExactPrefixのいずれかでなければならない。Ingress v1ではこのフィールドが必須。
  2. 型チェック: ingress.enabledはブーリアン、hoststlsは配列、annotationsはオブジェクト。
  3. 構造: 各ホストエントリにはhost(文字列)とpaths(配列)が必要。

pathTypeリファレンス

pathType 動作
ImplementationSpecific マッチングはIngressClassコントローラーに依存
Exact URLパスに完全一致(大文字小文字区別)
Prefix /で分割されたURLパスプレフィックスに基づいてマッチ

よくある間違い

pathTypeの欠落(Ingress v1では必須):

paths:
  - path: /
    # pathType欠落 - APIがこれを拒否

間違ったpathType値:

paths:
  - path: /api
    pathType: prefix  # "Prefix"(大文字P)でなければならない

ユースケース

cert-managerを使用したマルチドメインアプリケーションのHTTPS Ingress設定。不正なpathTypeやTLS設定はルーティング障害や証明書エラーを引き起こします。

試してみる — Helm Values Validator

フルツールを開く