HelmのTLSと証明書設定を検証する
Helm Ingress設定のTLS設定をチェック。secretName、ホストのマッチング、自動証明書管理のためのcert-managerアノテーションを検証します。
Ingress & Networking
詳細な説明
HelmチャートのTLS設定
Helm Ingress valuesのTLS設定はHTTPSに不可欠です。バリデーターはTLS設定が正しく構造化され、ホスト定義と一貫していることをチェックします。
標準TLSパターン
ingress:
enabled: true
className: nginx
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: app.example.com
paths:
- path: /
pathType: Prefix
tls:
- secretName: app-example-com-tls
hosts:
- app.example.com
検証される項目
- TLS構造:
tlsはオブジェクトの配列で、各オブジェクトにsecretNameとhostsが必要 - 型チェック:
secretNameは文字列、hostsは文字列の配列 - Ingress有効化: TLSは
ingress.enabledがtrueの場合のみ意味がある
cert-manager統合
自動証明書プロビジョニングにcert-managerを使用する場合、アノテーションが一致する必要があります:
# クラスター全体のissuer用
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
# ネームスペーススコープのissuer用
annotations:
cert-manager.io/issuer: letsencrypt-staging
よくある間違い
tls.hostsにリストされたホストがingress.hostsにない(またはその逆)- ネームスペースに存在しないsecretNameの使用(cert-managerは作成するが、手動シークレットは事前に存在する必要がある)
- 自動証明書プロビジョニングに依存する際のcert-managerアノテーションの追加忘れ
ユースケース
各顧客がcert-managerで管理された独自のTLS証明書を持つサブドメインを取得するマルチテナントSaaSアプリケーションのHTTPS設定。