Skip to content

Latest commit

 

History

History
49 lines (30 loc) · 3.37 KB

kubernetes-on-baremetal.md

File metadata and controls

49 lines (30 loc) · 3.37 KB

Kubernetes Installation on Bare Metal & CoreOS

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.

Deployment requirements

CoreOS version

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.

Kubernetes pod network

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.

Automated provisioning

Network booting and provisioning CoreOS clusters can be automated using the coreos-baremetal project. It includes:

  • Guides for configuring an network boot environment with iPXE/GRUB
  • An HTTP/gRPC service for booting and provisioning machines. Match machines by their hardware attributes and serve templated Ignition configs or cloud-configs.
  • Example clusters including an etcd cluster, multi-node Kubernetes cluster, and self-hosted Kubernetes cluster.

Get started provisioning your machines into CoreOS clusters.

Manual provisioning

Install CoreOS using the bare metal installation instructions:

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