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 还处理镜像 registry 证书及其关联的用户捆绑包证书。
您可以获取有关列出的证书的信息,包括减少证书的捆绑包,以及签名和主题数据。
先决条件
-
此流程包含需要安装
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 # ...
使用以下命令检查机器配置池状态,获取控制器
Config
资源中找到的简单信息版本:$ 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 应用程序。
检查节点上有哪些镜像 registry 证书:
登录到节点:
$ oc debug node/<node_name>
将
/host
设置为 debug shell 中的根目录: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