Hello.
I have installed an FDB cluster using the cluster_with_client.yaml file (link).
All 7 (3 storage, 4 logs) nodes communicate with each other as expected, and the FDB is accessible.
However, in the client node, the fdbcli application shows that the three coordinators are unavailble, even though that when I connected to the client container inside the Pod, there is a ping to the three Coordinator IPs. In addition, I noticed that only the fdbcli binary is deployed in the client container, but there are no fdbmonitor and fdbserver binaries deployed.
Is it the way it was supposed to be deployed ?
Is there anything else I need to do to get the client up and running ?
Thanks.
The sample app docker image has a CLI for FDB 6.1, whereas the sample FDB deployment in the Kubernetes operator repo is using FDB 6.2. The CLI can’t connect across minor versions of FDB. The client app itself doesn’t need the CLI, or the server binaries or monitor binaries. It should only need the FDB client library, and the sample configuration is providing the 6.2 library through an init container. The app itself seems to be connecting fine in my local deployment of it. Maybe we should remove the CLI from the sample app image to avoid this confusion, or configure the init container in a way that it brings in a 6.2 CLI binary as well.
Thanks John.
I replaced the fdbcli binary in the client container with a FDB6.2, and it indeed worked correctly.
However, I tried to see the value that the python script server.py is writing to the key ‘counter’, but could not see any value - Not in the client fdbcli, or any of the other nodes.
Running a manual python shell from the client container worked :
fdb.api_version(int(os.getenv(‘FDB_API_VERSION’)))
db=fdb.open()
COUNTER_KEY=fdb.tuple.pack((‘counter’,))
db[COUNTER_KEY]
b’\x15\x04’
COUNTER_KEY
b’\x02counter\x00’
exit()
However, from the fdbcli :
Using cluster file /var/dynamic-conf/fdb.cluster'. The database is available. Welcome to the fdbcli. For help, type
help’.
fdb> get ‘\x02counter\x00’
`‘\x02counter\x00’': not found
Do you have an explanation for this behaviour ?
Thank you very much John for all your help.
Found the issue.
Should ommit the ’ character :
fdb> get \x02counter\x00
\x02counter\x00' is
\x15\x06’