第8章 証明書の管理

OpenShift Container Platform クラスターの有効期間中、証明書はライフサイクルの各種のフェーズに移行します。以下の手順では、ライフサイクルの各フェーズを管理する方法について説明しています。

証明書の有効期間を表示し、証明書を再デプロイする方法については、「証明書の再デプロイ」を参照してください。

8.1. アプリケーションの自己署名型証明書の CA で署名される証明書への切り替え

一部のアプリケーションテンプレートはアプリケーションからクライアントに直接提示される自己署名型の証明書を作成します。たとえば、デフォルトでは、OpenShift Container Platform Ansible インストーラーのデプロイメントプロセスの一環として、メトリクスデプロイヤーが自己署名型の証明書を作成します。

これらの自己署名型の証明書はブラウザーで認識されません。この問題を緩和するには、公的に署名された証明書を使用し、これを自己署名型の証明書でトラフィックを再暗号化できるように設定します。

  1. 既存ルートを削除します。

    $ oc delete route hawkular-metrics -n openshift-infra

    ルートが削除された状態で、新規ルートで re-encrypt ストラテジーと共に使用される証明書は、既存のワイルドカードおよびメトリクスデプロイヤーで作成される自己署名型の証明書でアセンブルされる必要があります。以下の証明書が利用可能でなければなりません。

    • ワイルドカード CA 証明書
    • ワイルドカードプライベートキー
    • ワイルドカード証明書
    • Hawkular CA 証明書

      各証明書は、新規ルート用にファイルシステムのファイルとして利用可能である必要があります。

      以下のコマンドを実行して Hawkular CA を取得し、これをファイルに保存できます。

      $ oc get secrets hawkular-metrics-certs \
          -n openshift-infra \
          -o jsonpath='{.data.ca\.crt}' | base64 \
          -d > hawkular-internal-ca.crt
  2. ワイルドカードのプライベートキー、証明書、および CA 証明書を見つけます。それぞれを wildcard.keywildcard.crt、および wildcard.ca などの別々のファイルに配置します。
  3. 新規 re-encrypt ルートを作成します。

    $ oc create route reencrypt hawkular-metrics-reencrypt \
        -n openshift-infra \
        --hostname hawkular-metrics.ocp.example.com \
        --key wildcard.key \
        --cert wildcard.crt \
        --ca-cert wildcard.ca \
        --service hawkular-metrics \
        --dest-ca-cert hawkular-internal-ca.crt