Prerequisites

As mentioned in the preceding section, you'll need three machines for the masters, three machines for the workers, and an extra three machines for the external etcd cluster if you're going to go down that route.

Here are the minimum requirements for the machines – you should have one of the following operating systems:

  • Ubuntu 16.04+
  • Debian 9
  • CentOS 7
  • RHEL 7
  • Fedora 25/26 (best-effort)
  • Container Linux (tested with 1576.4.0)

On each of the machines, you'll need 2 GB or more of RAM per machine, two or more CPUs, and full network connectivity between all machines in the cluster (a public or private network is fine). You'll also need a unique hostname, MAC address, and a product_uuid for every node.

If you're running in a managed network of any sort (datacenter, cloud, or otherwise), you'll also need to ensure that the required security groups and ports are open on your machines. Lastly, you'll need to disable swap in order to get a working kubelet.

In some cloud providers, virtual machines may share identical product_uuids, though it's unlikely that they'll share identical MAC addresses. It's important to check what these are, because Kubernetes networking and Calico will use these as unique identifiers, and we'll see errors if they're the same. You can check both with the following commands:

LANG=C ifconfig -a | grep -Po 'HWaddr K.*$'

The preceding command will get you the MAC address, while the following command will tell you the uuid:

sudo cat /sys/class/dmi/id/product_uuid
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
13.59.173.103