一个安全的CockroachDB 集群使用 TLS 作为节点之间, 以及客户端和服务器之间的通信, 要求CA, 节点以及客户端证书和秘钥. 要创建这些证书和秘钥. 使用cockroach cert命令以及何时的子命令和参数.

当使用cockroach cert创建节点和客户端证书时, 需要访问CA证书和秘钥的本地拷贝. 所以推荐在一个集中的位置创建证书和秘钥.

子命令

子命令 用法
create-ca 为整个集群创建一个自签名的CA证书和秘钥.
create-node 为集群中特定的节点创建证书和秘钥. 需要制定节点的地址, 以及合适的参数.
create-client 为一个访问集群的特定用户创建一个证书和秘钥. 需要制定用户名称, 以及床底合适的参数.

语法

# 创建CA证书和秘钥:
$ ./cockroach cert create-ca --ca-cert=<path-to-ca-cert> --ca-key=<path-to-ca-key> 

# 创建节点证书和秘钥, 制定所有节点可以抵达的地址: $ ./cockroach cert create-node <node-hostname> <node-other-hostname> <node-yet-another-hostname> --ca-cert=<path-to-ca-cert> --ca-key=<path-to-ca-key> --cert=<path-to-node-cert> --key=<path-to-node-key> 

# 创建客户端证书秘钥:
$ ./cockroach cert create-client <username> --ca-cert=<path-to-ca-cert> --ca-key=<path-to-ca-key> --cert=<path-to-client-cert> --key=<path-to-client-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-nodecreate-client子命令时使用. 它定义二了在哪里创建节点或客户的证书, 指定的路径必须存在.
--key 保护节点或客户端证书的私钥路径.

该参数仅当在结合create-nodecreate-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

相关的主题

  • 手工部署 启动一个多节点集群, 以及从客户端访问它.

  • 启动一个节点 当添加一个节点到集群中时, 学习更多需要传递的参数.


developerworks
1.7k 声望266 粉丝

引用和评论

0 条评论