1. 程式人生 > >Kubernetes部署(三):CA證書制作

Kubernetes部署(三):CA證書制作

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證書制作