一个安全的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-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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。