创建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]#

 

相关