二进制部署K8S集群(三)前置准备工作之准备签发证书环境

0.架构图

二进制部署K8S集群(三)前置准备工作之准备签发证书环境

1.本节架构

主机 IP 角色
hdss7-11.host.com 10.4.7.11 DNS服务器

2.安装cfssl证书签发工具

wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -O /usr/bin/cfssl
wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -O /usr/bin/cfssl-json
wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -O /usr/bin/cfssl-certinfo

chmod +x /usr/bin/cfssl*

which /usr/bin/cfssl
which /usr/bin/cfssl-json
which /usr/bin/cfssl-certinfo

3.创建生成CA证书签名(csr)的JSON配置文件

证书类型
client certificate:客户端使用,用于服务端认证客户端,例如etcdctl、etcd proxy、fleetctl、docker客户端。
server certificate:服务端使用,客户端以此验证服务端身份,例如docker服务端、kube-apiserver。
peer certificate:双向证书,用于etcd集群成员间通信。

mkdir /opt/certs
cat > /opt/certs/ca-csr.json <<'EOF'
{
    "CN": "kubernetes",
    "hosts": [
    ],
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "L": "GuangZhou",
            "ST": "GuangZhou",
            "O": "k8s",
            "OU": "yw"
        }
    ],
    "ca": {
    	"expiry": "175200h"
    }
}
EOF

CN: Common Name,浏览器使用该字段验证网站是否合法,一般写的是域名。非常重要。浏览器使用该字段验证网站是否合法
C: Country, 国家
ST: State,州,省
L: Locality,地区,城市
O: Organization Name,组织名称,公司名称
OU: Organization Unit Name,组织单位名称,公司部门

4.生成CA证书(ca.pem)和密钥(ca-key.pem)

cd /opt/certs/
cfssl gencert -initca ca-csr.json | cfssl-json -bare ca
[root@hdss7-200 certs]# ls
ca.csr  ca-csr.json  ca-key.pem  ca.pem
上一篇:PKI及SSL协议分析


下一篇:PKI及SSL协议分析