创建CA根证书
为etcd和Kubernetes服务启用基于CA认证的安全机制,需要CA证书进行配置。如果组织能够提供统一的CA认证中心,则直接使用组织颁发的CA证书即可。如果没有统一的CA认证中心,则可以通过颁发自签名的CA证书来完成安全配置。
CA证书的制作可以使用openssl、easyrsa、cfssl等工具完成,下面以openssl为例进行说明。下面是创建CA根证书的命令,包括私钥文件ca.key和证书文件ca.crt:
[root@node02 ~]# openssl genrsa -out ca.key 2048 Generating RSA private key, 2048 bit long modulus .......................+++ ..................................+++ e is 65537 (0x10001) [root@node02 ~]# openssl req -x509 -new -nodes -key ca.key -subj "/CN=192.168.72.133" -days 36500 -out ca.crt [root@node02 ~]#
主要参数为:
◎ -subj:“/CN”的值为Master主机名或IP地址。
◎ -days:设置证书的有效期。
将生成的ca.key和ca.crt文件保存在/etc/kubernetes/pki目录下。
Master节点:
[root@master pki]# ls apiserver.crt apiserver.key ca.crt front-proxy-ca.crt front-proxy-client.key apiserver-etcd-client.crt apiserver-kubelet-client.crt ca.key front-proxy-ca.key sa.key apiserver-etcd-client.key apiserver-kubelet-client.key etcd front-proxy-client.crt sa.pub [root@master pki]#
node节点:
node01:
[root@node01 pki]# ls ca.crt [root@node01 pki]#
node02:
[root@node02 pki]# ls
ca.crt
[root@node02 pki]#