1. 程式人生 > >2.制作CA證書

2.制作CA證書

雲計算 虛擬化 k8s docker 容器

這頁內容,不特別聲明。只在node1上做操作。

1.安裝 CFSSL

[root@linux-node1 ~]# cd /usr/local/src
[root@linux-node1 src]# wget
https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
[root@linux-node1 src]# wget
https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
[root@linux-node1 src]# wget
https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
[root@linux-node1 src]# chmod +x cfssl*

[root@linux-node1 src]# mv cfssl-certinfo_linux-amd64 /opt/kubernetes/bin/cfssl-certinfo
[root@linux-node1 src]# mv cfssljson_linux-amd64 /opt/kubernetes/bin/cfssljson
[root@linux-node1 src]# mv cfssl_linux-amd64 /opt/kubernetes/bin/cfssl

復制cfssl命令文件到k8s-node1和k8s-node2節點。如果實際中多個節點,就都需要同步復制。
[root@linux-node1 ~]# scp /opt/kubernetes/bin/cfssl* 192.168.56.12: /opt/kubernetes/bin

[root@linux-node1 ~]# scp /opt/kubernetes/bin/cfssl* 192.168.56.13: /opt/kubernetes/bin

在 ~/.bash_profile 添加環境變量node1,node2,node3都要做)

[root@linux-node1 ~]# vim ~/.bash_profile

PATH=$PATH:$HOME/bin:/opt/kubernetes/bin/

[root@linux-node1 ~]# source ~/.bash_profile

2.初始化cfssl

[root@linux-node1 bin]# cd /usr/local/src/

[root@linux-node1 src]# mkdir ssl && cd ssl


3.創建用來生成 CA 文件的 JSON 配置文件

[root@linux-node1 ssl]# vim ca-config.json
{
"signing": {
"default": {
"expiry": "8760h"
},
"profiles": {
"kubernetes": {
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
],
"expiry": "8760h"
}
}
}
}

4.創建用來生成 CA 證書簽名請求(CSR)的 JSON 配置文件

[root@linux-node1 ssl]# vim ca-csr.json
{
"CN": "kubernetes",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "BeiJing",
"L": "BeiJing",
"O": "k8s",
"OU": "System"
}
]
}

5.生成CA證書(ca.pem)和密鑰(ca-key.pem)

[root@ linux-node1 ssl]# cfssl gencert -initca ca-csr.json | cfssljson -bare ca
[root@ linux-node1 ssl]# ls -l ca*
-rw-r--r-- 1 root root 290 Mar 4 13:45 ca-config.json
-rw-r--r-- 1 root root 1001 Mar 4 14:09 ca.csr
-rw-r--r-- 1 root root 208 Mar 4 13:51 ca-csr.json
-rw------- 1 root root 1679 Mar 4 14:09 ca-key.pem
-rw-r--r-- 1 root root 1359 Mar 4 14:09 ca.pem

6.分發證書

# cp ca.csr ca.pem ca-key.pem ca-config.json /opt/kubernetes/ssl
SCP證書到k8s-node1和k8s-node2節點
# scp ca.csr ca.pem ca-key.pem ca-config.json 192.168.56.12:/opt/kubernetes/ssl
# scp ca.csr ca.pem ca-key.pem ca-config.json 192.168.56.13:/opt/kubernetes/ssl


2.制作CA證書