生成自签名证书
假设实例集群拓扑如下:
假设使用 x86_64 Linux 主机:
mkdir ~/cfssl
cd ~/cfssl
cfssl print-defaults config > ca-config.json
cfssl print-defaults csr > ca-csr.json
证书介绍
- tidb-server certificate 由 TiDB 使用,为其他组件和客户端验证 TiDB 身份。
- tikv-server certificate 由 TiKV 使用,为其他组件和客户端验证 TiKV 身份。
- pd-server certificate 由 PD 使用,为其他组件和客户端验证 PD 身份。
配置 CA 选项
根据实际需求修改 ca-config.json
:
{
"signing": {
"default": {
"expiry": "43800h"
},
"profiles": {
"expiry": "43800h",
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
]
},
"client": {
"usages": [
"signing",
"key encipherment",
"client auth"
}
}
}
}
根据实际需求修改 ca-csr.json
:
生成 CA 证书
cfssl gencert -initca ca-csr.json | cfssljson -bare ca -
ca-key.pem
ca.csr
ca.pem
生成服务器端证书
hostname
中为各组件的 IP 地址,以及 127.0.0.1
将会生成以下几个文件:
tidb-server-key.pem tikv-server-key.pem pd-server-key.pem
tidb-server.csr tikv-server.csr pd-server.csr
tidb-server.pem tikv-server.pem pd-server.pem