Re: Connecting External Client to Containerized Cluster in Kubernetes
Vitaly, If you are using thick (aka. standard) Ignite clients then go ahead and reuse the same IP Finder. The easiest way is to deploy the app in the same namespace and the IP Finder will work out well. If the cluster is accessed via thin clients or REST protocol then ensure that the proper port numbers are visible via K8 LoadBalancer or by other means: https://apacheignite.readme.io/docs/amazon-web-services-eks-deployment#section-connecting-from-external-applications - Denis On Wed, Sep 11, 2019 at 1:42 PM vitalys wrote: > We currently have working installation where our Ignite Server Nodes reside > on the standalone VMs and form a Cluster upon start by using shared > Configuration setup. Our Client application joins Cluster on-demand, loads > data into the Cluster and then kicks-off certain operations on the loaded > data. > > We want to migrate Ignite Cluster Nodes from individual VMs to Kubernetes > and containerize them along the way. So our challenge is to have an > existing > client join the Cluster while Cluster Nodes deployment platform is changed. > > I have some reservations about REST client since we need to load > significant > volumes of data in to the Cluster. > > > > -- > Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >
RE: Connecting External Client to Containerized Cluster in Kubernetes
We currently have working installation where our Ignite Server Nodes reside on the standalone VMs and form a Cluster upon start by using shared Configuration setup. Our Client application joins Cluster on-demand, loads data into the Cluster and then kicks-off certain operations on the loaded data. We want to migrate Ignite Cluster Nodes from individual VMs to Kubernetes and containerize them along the way. So our challenge is to have an existing client join the Cluster while Cluster Nodes deployment platform is changed. I have some reservations about REST client since we need to load significant volumes of data in to the Cluster. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
RE: Connecting External Client to Containerized Cluster in Kubernetes
Hello Vitaly, Unfortunately, I am not aware of any working solution right now and it looks that the ticket related to special discovery mechanism for external cluster members is not in work currently: https://issues.apache.org/jira/browse/IGNITE-4161 You might find this mailing thread useful if you want to try to experiment with this, there are some hints and clues oh how this might work: http://apache-ignite-users.70518.x6.nabble.com/Kubernetes-Access-Ignite-Cluster-Externally-td20532.html However, the mentioned issue and thread are about server nodes and thick clients. What kind of operations are you expecting to perform on k8s Ignite cluster, do you really need the external client to be full-scale cluster member? You still have thin clients and REST that will be definitely easier to connect and utilize. I would also recommend reaching out to Ignite dev list and start another discussion there. Regards, Anton Sent from Mail for Windows 10 From: vitalys Sent: Thursday, September 5, 2019 10:02 PM To: user@ignite.apache.org Subject: Connecting External Client to Containerized Cluster in Kubernetes Hi, We have setup an Apache Ignite Cluster in Kubernetes ( 1 Node Per pod ) and when we run "ignitevisorcmd.sh" from inside the Kubernetes we can see correct topology of the Cluster ( 3 nodes ). Our task is to run Ignite Client from outside the Kubernetes. We setup our client config to use "KubernetesIpFinder" : But I am wondering how does Ignite Client know how to connect to Kubernetes? "TcpDiscoveryKubernetesIpFinder" contains multiple properties like "registerAddresses","masterURL" , "namespace", "accountToken". Do we need to define these properties in our Client configuration? And in General, what's the right approach in setting up Client connection to the Ignite Cluster that runs in Kubernetes? thank you in advance. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/