Kubernetes部署(三):CA證書製做

相關內容:

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企業級鏡像倉庫node

 
 

手動製做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

生產初始配置文件,咱們根據這些文件改linux

[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提供的證書進行驗證json

client auth表示server能夠用該ca對client提供的證書進行驗證vim

[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

後續會陸續更新全部的安裝文檔,若是你以爲我寫的不錯,但願你們多多關注點贊,很是感謝!網絡

相關文章
相關標籤/搜索