Pre-install Checklist for a Bare Metal Cluster
This article describes the prerequisites for preparing a set of bare metal physical machines, or a collection of virtual machines to create a Managed Kubernetes cluster.
Managed Kubernetes can also create clusters using native integration with a wide variety of public and private cloud environments. See details on the built-in cloud providers for more information.
Supported Operating Systems
Following operating systems are supported for the nodes of a bare metal Kubernetes cluster
- CentOS 7+ (64-bit)
- RHEL 7.2+ (64-bit)
- Ubuntu LTS 16.04 (64-bit).
These requirements provide the node with enough resources to run a production grade Kubernetes cluster. Each node should generally have:
- At least 40 GB of free disk space. In the case of CentOS, be careful to leave some of that space unallocated by file systems.
- The /var/lib directory should exist on a file system with at least 30 GB of free disk space.
- Minimum of 16 GB of RAM
- 1 core per 4 GB of RAM.
- At least one physical (or VLAN backed) NIC with an IP address.
Kubernetes cluster nodes require specific networking configuration to allow several kinds of incoming and outgoing network traffic between the nodes of the cluster and externally.
See Networking Prerequisites for more details.
If your workloads on Kubernetes will need to access important data that needs to be persisted, the best practice is to attach shared storage volumes to your pods. A separate iSCSI-capable array or NFS server can satisfy this need.
You need to follow specific configuration steps to prepare you linux nodes to be part of a Kubernetes cluster.
See Operating System Specific Prerequisites for more details.