k8s证书的三种方式
- cfssl
- easyrsa
- openssl
本文使用cfssl签发证书
安装 cfssl 工具集
1 | mkdir -p /opt/k8s/cert && cd /opt/k8s |
创建根证书 (CA)
CA 证书是集群所有节点共享的,只需要创建一个 CA 证书,后续创建的所有证书都由它签名。
创建配置文件
CA 配置文件用于配置根证书的使用场景 (profile) 和具体参数 (usage,过期时间、服务端认证、客户端认证、加密等),后续在签名其它证书时需要指定特定场景。
1 | cd /opt/k8s/work |
signing
:表示该证书可用于签名其它证书,生成的ca.pem
证书中CA=TRUE
;server auth
:表示 client 可以用该该证书对 server 提供的证书进行验证;client auth
:表示 server 可以用该该证书对 client 提供的证书进行验证;
创建证书签名请求文件
1 | cd /opt/k8s/work |
生成 CA 证书和私钥
1 | cd /opt/k8s/work |
分发证书文件
将生成的 CA 证书、秘钥文件、配置文件拷贝到所有节点的 /etc/kubernetes/cert
目录下:
1 | cd /opt/k8s/work |