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 证书及其关联的用户捆绑包证书。
您可以获取有关列出的证书的信息,包括减少证书的捆绑包,以及签名和主题数据。
流程
运行以下命令来获取详细的证书信息:
$ oc get controllerconfig/machine-config-controller -o yaml | yq -y '.status.controllerCertificates'
输出示例
"controllerCertificates": [ { "bundleFile": "KubeAPIServerServingCAData", "signer": "<signer_data1>", "subject": "CN=openshift-kube-apiserver-operator_node-system-admin-signer@168909215" }, { "bundleFile": "RootCAData", "signer": "<signer_data2>", "subject": "CN=root-ca,OU=openshift" } ]
使用以下命令检查机器配置池状态,获取 ControllerConfig 中找到信息的更简单版本:
$ oc get mcp master -o yaml | yq -y '.status.certExpirys'
输出示例
status: certExpirys: - bundle: KubeAPIServerServingCAData subject: CN=admin-kubeconfig-signer,OU=openshift - bundle: KubeAPIServerServingCAData subject: CN=kube-csr-signer_@1689585558 - bundle: KubeAPIServerServingCAData subject: CN=kubelet-signer,OU=openshift - bundle: KubeAPIServerServingCAData subject: CN=kube-apiserver-to-kubelet-signer,OU=openshift - bundle: KubeAPIServerServingCAData subject: CN=kube-control-plane-signer,OU=openshift
此方法适用于已经消耗机器配置池信息的 OpenShift Container Platform 应用程序。
通过查看
/etc/docker/cert.d
目录的内容来检查节点上哪些镜像 registry 证书:# ls /etc/docker/certs.d
输出示例
image-registry.openshift-image-registry.svc.cluster.local:5000 image-registry.openshift-image-registry.svc:5000