启用加密后,我试图从远程(kuebctl命令)连接到cqlsh,但是我无法连接到cqlsh。任何人都有更好的连接方式?
$ kubectl run -i --tty --restart=Never --rm --image cassandra cqlsh -- cqlsh cassandra-0.cassandra.default.svc.cluster.local -u cassandra -p cassandra --ssl
If you don't see a command prompt, try pressing enter.
Validation is enabled; SSL transport factory requires a valid certfile to be specified. Please provide path to the certfile in [ssl] section as 'certfile' option in /root/.cassandra/cqlshrc (or use [certfiles] section) or set SSL_CERTFILE environment variable.
pod "cqlsh" deleted
pod default/cqlsh terminated (Error)
由于我是从远程连接的,所以无法设置cqlshrc文件。
答案 0 :(得分:1)
您可以指定证书文件的位置,并通过环境变量SSL_CERTFILE
和SSL_VALIDATE
相应地验证选项,但是无论如何您都需要安装证书文件,因此也可以安装相应的{{1 }} ...
有关更多详细信息,请参见documentation。
P.S。另外,如果启用了客户端验证,则还需要提供客户端的密钥/证书(cqlshrc
中的选项userkey
和usercert
)。
答案 1 :(得分:0)
由于我使用的是cassandra映像来连接cql,因此我在安装了cql的cassandra映像中添加了cqlshrc文件,以使其正常工作。