I have created a cluster with 4 hosts. 3 of them are just VMs in a baremetal server, directly exposed to internet with real IP Address. The last one, it is a host in my home which is behind of a typical router that gives connectivity.
I can add that 4th node, and this is added with an internal ip:
More info: from that host, the one in my home network and with an interna ip: 192.168.0.10, I cannot ping to others nodes in the network. Therefore, for sure, the node 192.168.0.10 can execute containers, but cannot reach other nodes, and other nodes cannot reach them. Is this something that can be fixed? or, you cannot mix this kind of things in a cluster?
I’m assuming you can schedule workloads on to the internal machine because it is accessing rancher via the public interfaces of the 3 VMS. When accessing logs or command line the master is accessed and then forwards traffic to 10250 on the relevant node. This will use the default route, so more likely your problem is not due to internal / external network interfaces but down to the software networking layer no knowing how to route traffic to the 192 address.
Might be more simple than that, perhaps it’s the port forwarding on your LAN?
K8s is a complex beast and really should be understood before working with it. Kubernets gives a fairly good overview guide, which I would recommend following up by completing the Rancher level 1 course