Kubernetes 使用 X.509 客户端证书进行身份验证是一种常见的方法。这种机制通过客户端证书来验证用户或应用程序的身份。以下是 Kubernetes 中 X.509 客户端证书验证机制的详细说明:
1. 生成客户端证书
首先,你需要生成客户端证书和私钥。这通常使用 OpenSSL 工具完成。
步骤:
-
生成私钥:
openssl genpkey -algorithm RSA -out client-key.pem
-
生成证书签名请求 (CSR):
openssl req -new -key client-key.pem -out client-csr.pem
在生成 CSR 时,你需要提供一些信息,例如 Common Name (CN)。CN 通常用于标识用户- 这个cn标识的用户一般都是rbca中 指定的user: xxxx
-
生成客户端证书:
使用 CA(k8s中的根证书)的私钥签署 CSR,生成客户端证书。
openssl x509 -req -in client-csr.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -days 365
其中:
ca-cert.pem
是 CA 的证书。ca-ke