Kubernetes 系统的各组件需要使用 TLS 证书对通信进行加密,本文档使用 CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate Authority (CA) 和其它证书。
1、CFSSL安装
[root@k8s-master ~]# cd /usr/local/src
[root@k8s-master src]# wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
[root@k8s-master src]# wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
[root@k8s-master src]# wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
[root@k8s-master src]# chmod +x cfssl*
[root@k8s-master src]# mv cfssl-certinfo_linux-amd64 /usr/bin/cfssl-certinfo
[root@k8s-master src]# mv cfssljson_linux-amd64/usr/bin/cfssljson
[root@k8s-master src]# mv cfssl_linux-amd64/usr/bin/cfssl
2、创建临时证书目录
[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
【Kubernetes实战|Kubernetes实战(十九)-CA证书制作】3、创建用来生成 CA 文件的 JSON 配置文件
[root@k8s-master ssl]#cat >ca-config.json <
4、 创建用来生成 CA 证书签名请求(CSR)的 JSON 配置文件
[root@k8s-master ssl]# cat > ca-csr.json <
5、生成CA证书(ca.pem)和密钥(ca-key.pem)
[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 root290 Mar4 13:45 ca-config.json
-rw-r--r-- 1 root root 1001 Mar4 14:09 ca.csr
-rw-r--r-- 1 root root208 Mar4 13:51 ca-csr.json
-rw------- 1 root root 1679 Mar4 14:09 ca-key.pem
-rw-r--r-- 1 root root 1359 Mar4 14:09 ca.pem
6、分发证书
[root@k8s-master ssl]# cp ca.csr ca.pem ca-key.pem ca-config.json /opt/kubernetes/sslSCP证书到k8s-node1和k8s-node2节点
[root@k8s-master ssl]# scp ca.csr ca.pem ca-key.pem ca-config.json 10.200.3.106:/opt/kubernetes/ssl
[root@k8s-master ssl]# scp ca.csr ca.pem ca-key.pem ca-config.json 10.200.3.107:/opt/kubernetes/ssl
服务各组件的证书会在后面安装和使用时在生成。
推荐阅读
- linux|2022年云原生趋势
- 个人日记|K8s中Pod生命周期和重启策略
- k8s|Scheduling Framework 与 Extender对比及详细介绍
- k8s|k8s(六)(配置管理与集群安全机制)
- 云原生应用之旅—Kubernetes成长记 | 第十站(获取云原生旅行秘籍)
- Kubernetes实战|Kubernetes实战(二十)- Etcd 集群部署
- Kubernetes实战|Kubernetes实战(二十二)-kubernetes二进制文件方式部署集群(下)
- 如何彻底删除EKS中一直卡在Terminating的Namespace
- 【K8S 系列】k8s 学习二,kubernetes 核心概念及初步了解安装部署方式