Managed Kubernetes Prerequisites

This Tutorial describes the prerequisites for preparing a pool of x86 (64-bit) nodes (machines) for Platform9 Managed Kubernetes.

Once the nodes are provisioned, you can create multiple Kubernetes clusters. A node can be detached, or attached to one cluster at any one time.

A Kubernetes cluster can be as small as one node, but we recommend a minimum of 2 or 3 nodes per cluster.

Prerequisites

  1. The currently supported node operating systems are CentOS/RHEL 7.2+ (64-bit) and Ubuntu LTS 14.04.+ (64-bit) patched to the latest updates.
    1. For CentOS/RHEL specifically, please read the related document Preparing a CentOS or RHEL 7 system for running containers
  2. 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 (see CentOS-specific document referenced above)
  3. We recommend a minimum of 16 GB of RAM and 1 core per 4 GB of RAM.
  4. The nodes should have direct internet access. If access through a proxy is required, contact your Platform9 representative for additional instructions.
  5. Each node should have at least one physical (or VLAN backed) NIC with an IP address. All nodes in the group should be able to communicate with each other over that NIC.
  6. Each node's firewall settings must allow incoming connections to TCP ports 443, 4001, and 8080 and UDP port 8285.
  7. Recommended: each machine should have a resolvable DNS name, and its local hostname command should output that same name.
  8. For each Kubernetes cluster you plan to create, you will need to specify two unused IP subnets that are not in use by your internal network. The subnets are specified in CIDR form, and are referred to as Containers CIDR and Services CIDR. In general, you should not configure your network equipment to route or otherwise be aware of those subnets. Kubernetes uses the first network range to route packets between pods/containers in a cluster. The network mask is subdivided into two portions: the intra-node portion determines how many Kubernetes pods can run on a single node, and the inter-node portion determines the maximum number of nodes in a cluster. By default, the intra-node portion is 8 bits, i.e. up to 256 pods per node. So a network mask of 12 bits would allow clusters to have up to 16 nodes.
    Example: a new cluster named DevCluster is created with ContainersCIDR=10.20.0.0/16 and ServicesCIDR=10.21.0.0/16
  9. Pods and containers are generally assumed to be stateless. If your workloads 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.

May 06, 2016