Kubernetes部署(三):CA證書制作
阿新 • • 發佈:2018-12-24
cfssl .org ber tca beijing pkg 創建 serve pro 手動制作CA證書
1.安裝 CFSSL
[root@node-01 ~]# cd /usr/local/src [root@node-01 src]# wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 [root@node-01 src]# wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 [root@node-01 src]# wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 [root@node-01 src]# chmod +x cfssl* [root@node-01 src]# mv cfssl-certinfo_linux-amd64 /data/kubernetes/bin/cfssl-certinfo [root@node-01 src]# mv cfssljson_linux-amd64 /data/kubernetes/bin/cfssljson [root@node-01 src]# mv cfssl_linux-amd64 /data/kubernetes/bin/cfssl 復制cfssl命令文件拷貝到所有節點 [root@node-01 ~]# scp /data/kubernetes/bin/cfssl* 10.31.90.201: /data/kubernetes/bin [root@node-01 ~]# scp /data/kubernetes/bin/cfssl* 10.31.90.202: /data/kubernetes/bin 將/data/kubernetes/bin加入環境變量 [root@node-01 ~]# echo ‘PATH=/data/kubernetes/bin:$PATH‘ >>/etc/profile [root@node-01 ~]# source /etc/profile
2.初始化cfssl
生產初始配置文件,我們根據這些文件改
[root@node-01 src]# mkdir ssl && cd ssl
[root@node-01 ssl]# cfssl print-defaults config > config.json
[root@node-01 ssl]# cfssl print-defaults csr > csr.json
3.創建用來生成 CA 文件的 JSON 配置文件
server auth表示client可以用該ca對server提供的證書進行驗證
client auth表示server可以用該ca對client提供的證書進行驗證
[root@node-01 ssl]# vim ca-config.json { "signing": { "default": { "expiry": "87600h" }, "profiles": { "kubernetes": { "usages": [ "signing", "key encipherment", "server auth", "client auth" ], "expiry": "87600h" } } } }
4.創建用來生成 CA 證書簽名請求(CSR)的 JSON 配置文件
[root@node-01 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@node-01 ssl]# cfssl gencert -initca ca-csr.json | cfssljson -bare ca
[root@node-01 ssl]# ls -l ca*
-rw-r--r-- 1 root root 292 Dec 24 16:11 ca-config.json
-rw-r--r-- 1 root root 1001 Dec 24 16:15 ca.csr
-rw-r--r-- 1 root root 208 Dec 24 16:14 ca-csr.json
-rw------- 1 root root 1679 Dec 24 16:15 ca-key.pem
-rw-r--r-- 1 root root 1359 Dec 24 16:15 ca.pem
6.分發證書
[root@node-01 ssl]# cp ca.csr ca.pem ca-key.pem ca-config.json /data/kubernetes/ssl
SCP證書到所有節點
[root@node-01 ssl]# for n in `seq 202 206`;do scp ca.csr ca.pem ca-key.pem ca-config.json [email protected].$n:/data/kubernetes/ssl;done
ca.cs
後續會陸續更新所有的安裝文檔,如果你覺得我寫的不錯,希望大家多多關註點贊,非常感謝!
Kubernetes部署(三):CA證書制作