1.7. Machine Config Operator 証明書について
Machine Config Operator 証明書は、Red Hat Enterprise Linux CoreOS (RHCOS) ノードと Machine Config Server 間の接続を保護するために使用されます。詳細は、Machine Config Operator 証明書 を参照してください。
1.7.1. 証明書の表示と操作
次の証明書はクラスター内で Machine Config Controller (MCC) によって処理され、ControllerConfig
リソースにあります。
-
/etc/kubernetes/kubelet-ca.crt
-
/etc/kubernetes/static-pod-resources/configmaps/cloud-config/ca-bundle.pem
-
/etc/pki/ca-trust/source/anchors/openshift-config-user-ca-bundle.crt
MCC は、イメージレジストリー証明書とそれに関連するユーザーバンドル証明書も処理します。
証明書の元となる基礎バンドル、署名データとサブジェクトデータなど、リストされた証明書に関する情報を取得できます。
前提条件
-
この手順には、
Python-yq
RPM パッケージがインストールされていなければ実行できないオプションの手順が含まれています。
手順
次のコマンドを実行して、詳細な証明書情報を取得します。
$ oc get controllerconfig/machine-config-controller -o yaml | yq -y '.status.controllerCertificates'
出力例
- bundleFile: KubeAPIServerServingCAData notAfter: '2034-10-23T13:13:02Z' notBefore: '2024-10-25T13:13:02Z' signer: CN=admin-kubeconfig-signer,OU=openshift subject: CN=admin-kubeconfig-signer,OU=openshift - bundleFile: KubeAPIServerServingCAData notAfter: '2024-10-26T13:13:05Z' notBefore: '2024-10-25T13:27:14Z' signer: CN=kubelet-signer,OU=openshift subject: CN=kube-csr-signer_@1729862835 - bundleFile: KubeAPIServerServingCAData notAfter: '2024-10-26T13:13:05Z' notBefore: '2024-10-25T13:13:05Z' signer: CN=kubelet-signer,OU=openshift subject: CN=kubelet-signer,OU=openshift # ...
次のコマンドを使用してマシン設定プールのステータスを確認し、
ControllerConfig
リソースで見つかった情報のより単純なバージョンを取得します。$ oc get mcp master -o yaml | yq -y '.status.certExpirys'
出力例
- bundle: KubeAPIServerServingCAData expiry: '2034-10-23T13:13:02Z' subject: CN=admin-kubeconfig-signer,OU=openshift - bundle: KubeAPIServerServingCAData expiry: '2024-10-26T13:13:05Z' subject: CN=kube-csr-signer_@1729862835 - bundle: KubeAPIServerServingCAData expiry: '2024-10-26T13:13:05Z' subject: CN=kubelet-signer,OU=openshift - bundle: KubeAPIServerServingCAData expiry: '2025-10-25T13:13:05Z' subject: CN=kube-apiserver-to-kubelet-signer,OU=openshift # ...
このメソッドは、マシン設定プール情報をすでに使用している OpenShift Container Platform アプリケーションを対象としています。
ノード上にあるイメージレジストリー証明書を確認します。
ノードにログインします。
$ oc debug node/<node_name>
/host
をデバッグシェル内のルートディレクトリーとして設定します。sh-5.1# chroot /host
/etc/docker/cert.d
ディレクトリーの内容を確認します。sh-5.1# ls /etc/docker/certs.d
出力例
image-registry.openshift-image-registry.svc.cluster.local:5000 image-registry.openshift-image-registry.svc:5000