BareOS Pre-requisites

This article describes the pre-requisites for creating an on-premises Kubernetes cluster in your data center or an edge location, using PMK.

We recommend reading What is BareOS for an understanding of BareOS and BareOS Cluster Architecture before proceeding with this document.

Supported Operating Systems And Systems Requirements

See the Generic Pre-requisites for details of supported operating systems and sizing for your Kubernetes cluster. These are common across PMK Kubernetes clusters built on-premises or on public clouds.

Operating System Install

To prepare a physical or virtual machine to be part of an on-premise BareOS Kubernetes cluster:

  • Install the latest supported version of Ubuntu or CentOS / RHEL.
  • Update all packages to receive the latest security and bug fixes.

Networking Pre-requisites

The linux nodes that run PMK need to allow several kinds of incoming network access. They also need to access several external services to handle updates and resource downloads.

Following are the networking prerequisites for the linux nodes for your PMK cluster:

  • Each node should have at least one physical (or VLAN backed) NIC with an IP address.
  • All nodes in the cluster should be able to communicate with each other over the NIC
  • The cluster will also require two unused IP subnets.
  • Make sure that the subnets are not in use by any of your internal network
  • The subnets are specified in CIDR form as part of cluster creation, 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 or 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,
  • 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. For example, a new cluster named DevCluster is created with Containers CIDR=10.20.0.0/16 and Services CIDR=10.21.0.0/16

A node in a PMK cluster will access following types of data sources during cluster creation:

  • CentOS yum repository
  • Docker yum repository
  • Public docker registries from Docker, Inc. and Google (Kubernetes project)

Network Port Configurations

  • All Kubernetes master nodes must be able to receive incoming connections on the following ports:
ProtocolPort RangePurpose
TCP443Requests to Kubernetes API from worker nodes and external clients (eg kubectl)
TCP2379-2380, 4001Etcd cluster specific traffic between master nodes
  • All Kubernetes master and worker nodes must be able to receive incoming connections on the following ports.
ProtocolPort RangePurpose
TCP10250Requests from master and worker nodes to the kubelet API for exec and logs
TCP10255Requests from master and worker nodes to read-only kubelet API
TCP10256Requests from master and worker nodes to kubeproxy
TCP4194Requests from master and worker nodes to cAdvisor
TCP30000-32767Requests from external clients (eg kubectl) to default port range for NodePort Services
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard