So, Kubernetes has a rather new network model, which, in my opinion, is based on what, in its opinion, is a drawback with the default Docker network. While I'm still trying to understand: (1) what he considers to be the actual flaw (s), and (2) what is the general decision of Coubernes, I have now reached the point where I would just like to implement the solution and, perhaps this will tell me a little better.
While the rest of the Kubernetes documentation is very mature and well written, the instructions for setting up the network are sparse, largely unrelated, and cover many disparate articles, rather than being located in one specific place.
I hope someone who created the Kubernetes cluster earlier (from scratch) can help me get through the basic procedures. I am not interested in working with GCE or AWS, and so far I am not interested in using any kind of overlay network, for example flannel .
My basic understanding:
- Highlight the
/16 subnet for all of your containers. This will limit you to 65 thousand containers, which should be sufficient for most ordinary applications. All IP addresses on this subnet must be "publicly available", and not within some traditionally private (class) range. - Create a
cbr0 bridge somewhere and make sure it's stable ( but on which machine? ) - Remove / disable the
MASQUERADE rule set by Docker. - How to configure configure
iptables (again, where? ) So that each subchannel created by Kubernetes gets one of these public IP addresses. - Some other configuration is required to use
Services load balancing and dynamic DNS. - Providing 5 virtual machines: 1 master, 4 min.
- Install / configure Docker on all 5 virtual machines
- Install / configure
kubectl , controller-manager , apiserver and etcd master and run them as services / daemons - Install / configure
kubelet and kube-proxy on each minion and run them as services / daemons
This is the best that I can collect from two full days of research, and they are most likely erroneous (or erroneously sent), out of order and completely incomplete.
I have unbridled access to create virtual machines in a local vCenter cluster. If necessary, make changes to VLAN / Switches / etc. I can use the infrastructure.
How many VMs need to be configured for Kubernetes (for a cluster with small and medium size) and why? What exact corrections should I make to my vague instructions above to fully configure the network?
I am fine with installing / configuring all binary files. Just by completely strangling the network part of the setup.
networking kubernetes
smeeb
source share