This guide walks a deployer through launching a multi-node Kubernetes cluster on bare metal servers running CoreOS. After completing this guide, a deployer will be able to interact with the Kubernetes API from their workstation using the
kubectl CLI tool.
All Kubernetes controllers and nodes must use CoreOS version 962.0.0 or greater for the
kubelet-wrapper script to be present in the image. If you wish to use an earlier version (e.g. from the 'stable' channel) see kubelet-wrapper for more information.
This configuration uses the flannel overlay network to manage the pod network. Many bare metal configurations may instead have an existing self-managed network. In this scenario, it is common to use Calico to manage pod network policy while omitting the overlay network, and interoperating with existing physical network gear over BGP.
See the Kubernetes networking documentation for more information on self-managed networking options.
Network booting and provisioning CoreOS clusters can be automated using the CoreOS matchbox project. It includes:
Get started provisioning your machines into CoreOS clusters.
The CoreOS bare metal installation documents provide background and deployment options for the boot mechanisms:
Mixing multiple methods is possible. For example, doing an install to disk for the machines running the etcd cluster and Kubernetes master nodes, but PXE-booting the worker machines.
Did you install CoreOS on your machines? An SSH connection to each machine is all that's needed. We'll start the configuration next.I'm ready to get started