虚拟化容器,大数据,DBA,中间件,监控。

Kubernetes部署(三):CA证书制作

22 11月
作者:admin|分类:容器虚拟化

Kubernetes部署(三):CA证书制作

运维开发网 https://www.qedev.com 2020-02-28 10:49 出处:51CTO 作者:李永峰Billy
手动制作CA证书1.安装CFSSL[ [email protected] ~]#cd/usr/local/src[ [email protected] ]#wgethttps://pkg.cfssl.org/R1.2/cfssl_linux-amd64[ [email protected] ]#wgethttps://pkg.cfssl.org/R1.2/cfssljson_linux-amd64[ [email protected]

相关内容:

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

[[email protected]  ~]# cd /usr/local/src
[[email protected]  src]# wget https://pkg.cfssl.org/R1.2/cfssl_Linux-amd64
[[email protected]  src]# wget https://pkg.cfssl.org/R1.2/cfssljson_Linux-amd64
[[email protected]  src]# wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_Linux-amd64
[[email protected]  src]# chmod +x cfssl*
[[email protected]  src]# mv cfssl-certinfo_Linux-amd64 /data/kubernetes/bin/cfssl-certinfo
[[email protected]  src]# mv cfssljson_Linux-amd64  /data/kubernetes/bin/cfssljson
[[email protected]  src]# mv cfssl_Linux-amd64  /data/kubernetes/bin/cfssl
复制cfssl命令文件拷贝到所有节点
[[email protected]  ~]# scp /data/kubernetes/bin/cfssl* 10.31.90.201: /data/kubernetes/bin
[[email protected]  ~]# scp /data/kubernetes/bin/cfssl* 10.31.90.202: /data/kubernetes/bin
将/data/kubernetes/bin加入环境变量
[[email protected] ~]# echo 'PATH=/data/kubernetes/bin:$PATH' >>/etc/profile
[[email protected] ~]# source /etc/profile

2.初始化cfssl

生产初始配置文件,我们根据这些文件改

[[email protected]  src]# mkdir ssl && cd ssl
[[email protected]  ssl]# cfssl print-defaults config > config.json
[[email protected]  ssl]# cfssl print-defaults csr > csr.json

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

server auth表示client可以用该ca对server提供的证书进行验证

client auth表示server可以用该ca对client提供的证书进行验证

[[email protected] 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 配置文件

[[email protected] 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)

[[email protected] ssl]# cfssl gencert -initca ca-csr.json | cfssljson -bare ca
[[email protected] 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.分发证书

[[email protected] ssl]# cp ca.csr ca.pem ca-key.pem ca-config.json /data/kubernetes/ssl
SCP证书到所有节点
[[email protected] 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

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

扫码领视频副本.gif

0
浏览459 评论0
返回
目录
返回
首页
Kubernetes部署(四):ETCD集群部署 Kubernetes部署(一):架构及功能说明