Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

20.5. サービス提供証明書のシークレット

サービスが提供する証明書のシークレットは、追加設定なしの証明書を必要とする複雑なミドルウェアアプリケーションをサポートするように設計されています。これにはノードおよびマスターの管理者ツールで生成されるサーバー証明書と同じ設定が含まれます。

表20.1 サービス提供証明書のシークレット

名前空間シークレット

デフォルト

router-metrics-tls

kube-service-catalog

controllermanager-ssl

openshift-ansible-service-broker

asb-tls

openshift-console

console-serving-cert

openshift-infra

heapster-certs

openshift-logging

prometheus-tls

openshift-monitoring

alertmanager-main-tls

grafana-tls

kube-state-metrics-tls

node-exporter-tls

prometheus-k8s-tls

openshift-template-service-broker

apiserver-serving-cert

openshift-web-console

webconsole-serving-cert

サービスとの通信のセキュリティーを保護するには、クラスターが署名された提供証明書/キーペアを namespace のシークレットに生成できるようにします。これを実行するには、シークレットに使用する名前に設定した値を使って service.alpha.openshift.io/serving-cert-secret-name アノテーションをサービスに設定します。その後に PodSpec はそのシークレットをマウントできます。これが利用可能な場合、Pod が実行されます。この証明書は内部サービス DNS 名、 <service.name>.<service.namespace>.svc に適しています。

証明書およびキーは PEM 形式であり、それぞれ tls.crt および tls.key に保存されます。証明書/キーのペアは有効期限が 1 時間以内に自動的に置き換えられます。シークレットの service.alpha.openshift.io/expiry アノテーションで RFC3339 形式の有効期限の日付を確認します。

他の Pod は Pod に自動的にマウントされる /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt ファイルの CA バンドルを使用して、クラスターで作成される証明書 (内部 DNS 名の場合にのみ署名される) を信頼できます。

この機能の署名アルゴリズムは x509.SHA256WithRSA です。ローテーションを手動で実行するには、生成されたシークレットを削除します。新規の証明書が作成されます。