相关内容:

Kubernetes部署(一):架构及功能说明 Kubernetes部署(二):系统环境初始化 Kubernetes部署(三):CA证书制作 Kubernetes部署(四):ETCD集群部署 Kubernetes部署(五):Haproxy、Keppalived部署 Kubernetes部署(六):Master节点部署 Kubernetes部署(七):Node节点部署 Kubernetes部署(八):Flannel网络部署 Kubernetes部署(九):CoreDNS、Dashboard、Ingress部署 Kubernetes部署(十):储存之glusterfs和heketi部署 Kubernetes部署(十一):管理之Helm和Rancher部署 Kubernetes部署(十二):helm部署harbor企业级镜像仓库

手动制作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 root@10.31.90.$n:/data/kubernetes/ssl;done ca.cs 

后续会陆续更新所有的安装文档,如果你觉得我写的不错,希望大家多多关注点赞,非常感谢!