一个安全的CockroachDB 集群使用 TLS 作为节点之间, 以及客户端和服务器之间的通信, 要求CA, 节点以及客户端证书和秘钥. 要创建这些证书和秘钥. 使用cockroach cert
命令以及何时的子命令和参数.
当使用cockroach cert
创建节点和客户端证书时, 需要访问CA证书和秘钥的本地拷贝. 所以推荐在一个集中的位置创建证书和秘钥.
子命令
子命令 | 用法 |
---|---|
create-ca | 为整个集群创建一个自签名的CA证书和秘钥. |
create-node | 为集群中特定的节点创建证书和秘钥. 需要制定节点的地址, 以及合适的参数. |
create-client | 为一个访问集群的特定用户创建一个证书和秘钥. 需要制定用户名称, 以及床底合适的参数. |
语法
# 创建CA证书和秘钥:$ ./cockroach cert create-ca --ca-cert=--ca-key= # 创建节点证书和秘钥, 制定所有节点可以抵达的地址: $ ./cockroach cert create-node --ca-cert= --ca-key= --cert= --key= # 创建客户端证书秘钥:$ ./cockroach cert create-client --ca-cert= --ca-key= --cert= --key= # 查看帮助:$ ./cockroach help cert$ ./cockroach help cert create-ca$ ./cockroach help cert create-node$ ./cockroach help cert create-client
参数
参数 | 说明 |
---|---|
--ca-cert | CA证书的路径. 该参数是所有子命令必须的. 当结合create-ca 使用时, 该参数定义了证书存储的路径, 指定的路径目录必须存在. |
--ca-key | 用于保护CA证书的私钥路径 该参数是所有子命令必须的. 当结合create-ca 使用时, 该参数定义了私钥的保存位置. 指定的目录必须存在. |
--cert | 节点或客户端证书的路径. 该参数仅当在在结合create-node 和create-client 子命令时使用. 它定义二了在哪里创建节点或客户的证书, 指定的路径必须存在. |
--key | 保护节点或客户端证书的私钥路径. 该参数仅当在结合create-node 和create-client 子命令时使用. 它定义了创建节点和客户端秘钥的位置, 指定的路径必须操作. |
--key-size | CA, 节点以及客户端秘钥的长度, 单位为 bits . 默认: 2048 |
例子
创建CA证书和秘钥:
$ ./cockroach cert create-ca --ca-cert=certs/ca.cert --ca-key=certs/ca.key
为节点创建证书和秘钥
$ ./cockroach cert create-node node1.example.com node1.another-example.com --ca-cert=certs/ca.cert --ca-key=certs/ca.key --cert=certs/node.cert --key=certs/node.key
为客户端创建证书和秘钥
$ ./cockroach cert create-client maxroach --ca-cert=certs/ca.cert --ca-key=certs/ca.key --cert=certs/maxroach.cert --key=certs/maxroach.key
相关的主题
启动一个多节点集群, 以及从客户端访问它.
当添加一个节点到集群中时, 学习更多需要传递的参数.