VKSクラスタのTelegrafポッドが「tls: 証明書の検証に失敗しました: x509: 証明書の有効期限が切れているか、まだ有効ではありません」と報告する
search cancel

VKSクラスタのTelegrafポッドが「tls: 証明書の検証に失敗しました: x509: 証明書の有効期限が切れているか、まだ有効ではありません」と報告する

book

Article ID: 435749

calendar_today

Updated On:

Products

VMware vSphere Kubernetes Service

Issue/Introduction

免責事項:これは英文の記事「VKS cluster telegraf pods report "tls: failed to verify certificate: x509: certificate has expired or is not yet valid" 」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

  • Telegraf は VKS のワークロードクラスタ内で使用して、VCF Operations にメトリクスを送信することができます。
  • Telegraf の Pod ログにおいて、以下のようなエラーが報告されています:
    • stderr F 2026-##-##T##:##:##Z E! [agent] Error writing to outputs.http: Post "https://supervisor-management-proxy.#######.###.#######.#####:#####/arc/tkgs/metric": tls: failed to verify certificate: x509: certificate has expired or is not yet valid: current time 2026-##-##T##:##:##Z is after 2026-##-##T##:##:##Z

Environment

  • VCF 9.x
  • vSphere 9.x

Cause

VKS ワークロードクラスタ上の Telegraf のクライアント証明書(tls.crt)は有効である一方で、本事象は、更新された CA 証明書(ca.crt)が Supervisor から VKS ワークロードクラスタへプッシュされていない場合に発生します。

 

CA 証明書は Supervisor 上のクラスタ issuer によって生成されます。Supervisor には 2 つのクラスタ issuer が存在し、それぞれ supervisor-management-proxy-selfsigned-issuer および supervisor-management-proxy-ca-issuer です。

supervisor-management-proxy-selfsigned-issuer は、ca-issuer の生成および署名を担当します。

supervisor-management-proxy-ca-issuer は、Telegraf 用に作成されたクライアント証明書の署名を担当します。

Resolution

本シナリオにおける回避策として、Supervisor 上の VKS ワークロードクラスタで使用されている namespace 内の Telegraf シークレットを削除し、cert-manager に再作成させます。これにより、更新されたシークレットが VKS クラスタに反映されます。以下の手順に従ってください:

  1. Supervisor 上の VKS ワークロードクラスタで使用されている namespace にて、telegraf シークレットを削除します。
  2. cert-manager がリコンシリエーションを実行し、シークレットを再作成するのを待ちます。通常、この処理は 5 分以内に完了します。
    1. 5 分経過しても完了しない場合は、Supervisor 上の cert-manager Pod を再起動してください。
  3. シークレットが再生成された後、kube-system および tanzu-system-telegraf namespace にある metrics-proxy-tls-config シークレットおよび metrics-proxy-http-config シークレット内の ca.crt が有効であるか、以下のコマンドで確認してください:
    1. echo "<value of ca.crt key>"| base64 -d | openssl x509 -noout -text
  4. 証明書が有効である場合、kube-system namespace 内の VKS クラスタにシークレットが反映されるまで 10 分待ちます。
  5. 10 分経過しても本プロセスが完了しない場合は、kube-system namespace 内のシークレットを削除し、その後 Supervisor 上の observability-operator Pod を再起動してください。これにより、シークレットが VKS クラスタの kube-system namespace に再度プッシュされます。(シークレットが自動更新されない場合のみ必要です)。
  6. シークレットが更新された後、Telegraf Pod の状態を確認してください。

Additional Information