Kubernetes集群部署之二CA证书制作

创建TLS证书和秘钥

kubernetes 系统的各组件需要使用 TLS 证书对通信进行加密,本文档使用 CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate Authority (CA) 和其它证书.

1. 下载并安装 CFSSL:

<code># cat cssl.sh 
#!/bin/bash
curl -L https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -o /usr/local/bin/cfssl
curl -L https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -o /usr/local/bin/cfssljson
curl -L https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -o /usr/local/bin/cfssl-certinfo
chmod +x /usr/local/bin/cfssl /usr/local/bin/cfssljson /usr/local/bin/cfssl-certinfo
#sh cssl.sh/<code>

复制cfssl命令文件到k8s-node1和k8s-node2节点。如果实际中多个节点,就都需要同步复制(好像不需要分发到node节点中.。。)。

<code>[root@k8s-master ~]# scp /opt/kubernetes/bin/cfssl* 10.88.0.2:/opt/kubernetes/bin
[root@k8s-master ~]# scp /opt/kubernetes/bin/cfssl* 10.88.0.3:/opt/kubernetes/bin/<code>

设置环境变量,在各个节点都添加环境变量.

<code>[root@k8s-master ~]#vim /etc/profile
 export PATH=/opt/kubernetes/bin/:$PATH
[root@k8s-master ~]# source /etc/profile/<code>

2. 初始化cfssl,并创建临时证书目录:

<code>[root@k8s-master src]# cd /usr/local/src
[root@k8s-master src]# mkdir ssl && cd ssl
[root@k8s-master ssl]# cfssl print-defaults config > config.json
[root@k8s-master ssl]# cfssl print-defaults csr > csr.json/<code>

3. 创建用来生成 CA 文件的 JSON 配置文件

<code>[root@k8s-master ssl]#cat >  ca-config.json 

4. 创建用来生成 CA 证书签名请求(CSR)的 JSON 配置文件

<code>[root@k8s-master ssl]# cat > ca-csr.json 

5. 生成CA证书(ca.pem)和密钥(ca-key.pem)

<code>[root@k8s-master ssl]# cfssl gencert -initca ca-csr.json | cfssljson -bare ca
[root@k8s-master ssl]# ls -l ca*
-rw-r--r-- 1 root root  290 May  4 19:28 ca-config.json
-rw-r--r-- 1 root root 1001 May  4 19:28 ca.csr
-rw-r--r-- 1 root root  208 May  4 19:28 ca-csr.json
-rw------- 1 root root 1679 May  4 19:28 ca-key.pem
-rw-r--r-- 1 root root 1359 May  4 19:28 ca.pem/<code>

6.分发证书

<code>[root@k8s-master ssl]# cp ca.csr ca.pem ca-key.pem ca-config.json /opt/kubernetes/ssl

SCP证书到k8s-node1和k8s-node2节点
[root@k8s-master ssl]# scp ca.csr ca.pem ca-key.pem ca-config.json 10.88.0.2:/opt/kubernetes/ssl 
[root@k8s-master ssl]# scp ca.csr ca.pem ca-key.pem ca-config.json 10.88.0.3:/opt/kubernetes/ssl/<code>

服务各组件的证书会在后面安装和使用时在生成.


Kubernetes集群部署之二CA证书制作


分享到:


相關文章: