2.制作CA证书

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.制作CA证书相关的知识,希望对你有一定的参考价值。

这页内容,不特别声明。只在node1上做操作。

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 /opt/kubernetes/bin/cfssl-certinfo
[[email protected] src]# mv cfssljson_linux-amd64  /opt/kubernetes/bin/cfssljson
[[email protected] src]# mv cfssl_linux-amd64  /opt/kubernetes/bin/cfssl

复制cfssl命令文件到k8s-node1和k8s-node2节点。如果实际中多个节点,就都需要同步复制。
[[email protected] ~]# scp /opt/kubernetes/bin/cfssl* 192.168.56.12: /opt/kubernetes/bin
[[email protected] ~]# scp /opt/kubernetes/bin/cfssl* 192.168.56.13: /opt/kubernetes/bin

 

在 ~/.bash_profile 添加环境变量node1,node2,node3都要做)

[[email protected] ~]# vim ~/.bash_profile

PATH=$PATH:$HOME/bin:/opt/kubernetes/bin/

[[email protected] ~]# source ~/.bash_profile

2.初始化cfssl

[[email protected] bin]# cd /usr/local/src/

[[email protected] src]# mkdir ssl && cd ssl


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

[[email protected] ssl]# vim ca-config.json
{
  "signing": {
    "default": {
      "expiry": "8760h"
    },
    "profiles": {
      "kubernetes": {
        "usages": [
            "signing",
            "key encipherment",
            "server auth",
            "client auth"
        ],
        "expiry": "8760h"
      }
    }
  }
}

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] linux-node1 ssl]# cfssl gencert -initca ca-csr.json | cfssljson -bare ca
[[email protected] linux-node1 ssl]# ls -l ca*
-rw-r--r-- 1 root root  290 Mar  4 13:45 ca-config.json
-rw-r--r-- 1 root root 1001 Mar  4 14:09 ca.csr
-rw-r--r-- 1 root root  208 Mar  4 13:51 ca-csr.json
-rw------- 1 root root 1679 Mar  4 14:09 ca-key.pem
-rw-r--r-- 1 root root 1359 Mar  4 14:09 ca.pem

6.分发证书

# cp ca.csr ca.pem ca-key.pem ca-config.json /opt/kubernetes/ssl
SCP证书到k8s-node1和k8s-node2节点
# scp ca.csr ca.pem ca-key.pem ca-config.json 192.168.56.12:/opt/kubernetes/ssl
# scp ca.csr ca.pem ca-key.pem ca-config.json 192.168.56.13:/opt/kubernetes/ssl


以上是关于2.制作CA证书的主要内容,如果未能解决你的问题,请参考以下文章

linux命令:CA证书制作及httpd服务器证书签核实例

nginx和iis下的SSL双向认证教程【ca 自签 ssl证书】

Linux运维容器篇 k8s单节点二进制部署 ECTD部署+CA证书制作

Linux运维容器篇 k8s单节点二进制部署 ECTD部署+CA证书制作

Linux运维容器篇 k8s单节点二进制部署 ECTD部署+CA证书制作

Linux运维容器篇 k8s单节点二进制部署 ECTD部署+CA证书制作