Add multiple nodes from different datacenter

Hi guys,

Is it possible to add multiple nodes from different datacenter in one single cluster? I’m trying to add 2 nodes, one from DigitalOcean and another one from Google Cloud Provider but no success.

“E0806 16:31:26.513691 26316 kubelet_node_status.go:92] Unable to register node “master-node” with API server: Post https://127.0.0.1:6443/api/v1/nodes: read tcp 127.0.0.1:46582->127.0.0.1:6443: read: connection reset by peer
E0806 16:31:26.567081 26316 kubelet.go:2268] node “master-node” not found”

1 Like

seems similar to my issue here

1 Like

Hi @Jose_Gato_Luis, i think you can try to look into this project submariner.io

sorry @irwanazam I didnt realized your answer. But this seems to help connecting two clusters. My problem, I have a single cluster, but one node does not reach the other ones. This is because that node is in my home, and the others on a baremetal server with different VMs.

@Jose_Gato_Luis interesting, I also wanted to know if this setup possible in rancher, Ping @superseb

Networking requirements for clusters are described on https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/node-requirements/#networking-requirements. As long as you have the needed connectivity (either through public IPs or VPN or something else), you can make it work. Depending on the roles, it is probably not the best idea to mix etcd/controlplane nodes between datacenter due to latency. In case of a worker, this can work as long as it can reach the controlplane (which seems to fail in this case).

1 Like

Please, could you help me to find out why I am not reaching the controlplane? What could I test? I have look to the requirements several times, I have opened ports on my home’s router, added some forwards, etc. But always the same :frowning: The node, which is a jetson nano in my house does not work correctly. This is correctly added, I can schedule some tasks there, etc. But I cannot for example find servierces in other nodes, or access the class storage (which is an nfs provider in other node).

For Anyone is seeing this, i have stuck in this problem for a long time, and finally found a solution.

  1. create cluster with network provider Calico.
    image
  2. docker run … LONG COMMAND --address YOUR_PUBLIC_IP --internal-address YOUR_PUBLIC_IP

The key to success is Step1. Because this type of network is using ETCD to pass cluster information rather than overlay network.(FYI, https://rancher.com/docs/rancher/v2.5/en/faq/networking/cni-providers/)

I successfully put 2 azure VM from two different subscription and 1 Ali Yun (a chinese VM provider) into one cluster. (Although there shows 2 more nodes after AliYun VM get in and one of them is keep registering, I just deleted it and nothing goes wrong)

And I successful deploy some simple web service like traefik/whoami into 3 nodes.

I hope my solution will fix you problem.
(I hope i could post more picture but new user can only put 1)