准备签发证书环境

证书,可以用来审计也可以保障安全,k8S组件启动的时候,则需要有对应的证书。
# cfssl方式做证书,需要三个软件,按照我们的架构图,我们部署在200机器:
200 ~]# wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -O /usr/bin/cfssl
200 ~]# wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -O /usr/bin/cfssl-json
200 ~]# wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -O /usr/bin/cfssl-certinfo
200 ~]# chmod +x /usr/bin/cfssl*
200 ~]# which cfssl
200 ~]# which cfssl-json
200 ~]# which cfssl-certinfo

wget :从网络上自动下载文件的自由工具

chmod :给对应的文件添加权限(Linux命令大全

  • +x :给当前用户增加可执行该文件的权限

which :查看相应的东西在哪里

200 ~]# cd /opt/
opt]# mkdir certs
opt]# cd certs/
certs]# vi ca-csr.json
{
    "CN": "ben123123",
    "hosts": [
    ],
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "ST": "beijing",
            "L": "beijing",
            "O": "od",
            "OU": "ops"
        }
    ],
    "ca": {
        "expiry": "175200h"
    }
}
certs]# cfssl gencert -initca ca-csr.json | cfssl-json -bare ca
certs]# cat ca.pem
# 如果你这时候显示段错误或者json错误,就是之前克隆虚拟机的时候200机器地址和别的机器地址重叠冲突了,需要重建200虚拟机

cd :切换当前工作目录到 dirName

  • 语法:cd [dirName]

mkdir :建立名称为 dirName 之子目录

  • 语法:mkdir [-p] dirName
  • -p: 确保目录存在,不存在则建一个,如mkdir empty/empty1/empty2

cfssl :证书工具

  • gencert:生成的意思

ca-csr.json解析:

  • CN:Common Name,浏览器使用该字段验证网址是否合法,一般写域名,非常重要
  • ST:State,省
  • L:Locality,地区
  • O:Organization Name,组织名称
  • OU:Organization Unit Name,组织单位名称

Pod中几个重要字段的含义和用法