そのため、Kubectl との接続を開いて、cqlsh を使用して GKE の scylla インスタンスに接続しようとしています。しかし、私は頭を悩ませることができないいくつかの奇妙な問題に出くわしています。
私は GKE で scylla を実行しています。基本的には、cassandra 自体よりも高速に実行されると思われる cassandra の模造品です。scylla にアクセスするには、kubectl port-forward コマンドで db に接続できるようにして、table plus などの外部ツールを接続できるようにしたいと考えています。実行するkubectl port-forward pod/scylla-0 -n scylla 9042
と、ローカル マシンからポートにアクセスできることが期待されますが、cqlsh localy に接続しようとすると、次のエラー メッセージが表示されます。
from clqsh: Connection error: ('Unable to connect to any servers', {'127.0.0.1': ConnectionShutdown('Connection to 127.0.0.1 was closed',)})
from kubectl: E0520 17:12:12.522329 51 portforward.go:400] an error occurred forwarding 9042 -> 9042: error forwarding port 9042 to pod <some id>, uid : exit status 1: 2019/05/20 15:12:12 socat[998972] E connect(5, AF=2 127.0.0.1:9042, 16): Connection refused
また、サービスを直接同様の結果に転送しようとしました
私が個人的に信じているのは、これの奇妙な部分は、ロードバランサーで scylla を公開すると、完全に問題なく接続でき、scylla の JMX ポートを転送するときに JConsole を使用できることです。これには頭が痛い。