Files
matchbox/examples
Dalton Hubble e194bf0355 examples/bootkube: Use DNS names for self-hosted Kubernetes
* Self-hosted Kuberntes api-server comes up without a hostname
override and detects the hostname it should use from `uname -n`
* kube-apiserver name must correspond to routable kubelet
hostname-override
* Provision /etc/hostname with the FQDN so `uname -n` can be
used by Kubernetes (until NODE_NAME is avail. in k8s 1.4)
2016-08-25 00:42:08 -07:00
..
2016-08-16 11:41:53 -07:00

Examples

These examples network boot and provision machines into CoreOS clusters using bootcfg. You can re-use their profiles to provision your own physical machines.

Name Description CoreOS Version FS Docs
pxe CoreOS via iPXE alpha/1109.1.0 RAM reference
grub CoreOS via GRUB2 Netboot alpha/1109.1.0 RAM NA
pxe-disk CoreOS via iPXE, with a root filesystem alpha/1109.1.0 Disk reference
etcd iPXE boot a 3 node etcd cluster and proxy alpha/1109.1.0 RAM reference
etcd-install Install a 3-node etcd cluster to disk alpha/1109.1.0 Disk reference
etcd3 Install a 3-node etcd3 cluster alpha/1109.1.0 RAM None
k8s Kubernetes cluster with 1 master, 2 workers, and TLS-authentication alpha/1109.1.0 Disk tutorial
k8s-install Install a Kubernetes cluster to disk alpha/1109.1.0 Disk tutorial
rktnetes Kubernetes cluster with rkt container runtime, 1 master, workers, TLS auth (known bugs, experimental) alpha/1122.0.0 Disk None
bootkube iPXE boot a self-hosted Kubernetes cluster (with bootkube) alpha/1109.1.0 Disk tutorial
bootkube-install Install a self-hosted Kubernetes cluster (with bootkube) alpha/1109.1.0 Disk tutorial
torus Torus distributed storage alpha/1109.1.0 Disk tutorial

Tutorials

Get started running bootcfg on your Linux machine to network boot and provision clusters of VMs or physical hardware.

SSH Keys

Most examples allow ssh_authorized_keys to be added for the core user as machine group metadata.

# /var/lib/bootcfg/groups/default.json
{
    "name": "Example Machine Group",
    "profile": "pxe",
    "metadata": {
        "ssh_authorized_keys": ["ssh-rsa pub-key-goes-here"]
    }
}

Conditional Variables

"pxe"

Some examples check the pxe variable to determine whether to create a /dev/sda1 filesystem and partition for PXEing with root=/dev/sda1 ("pxe":"true") or to write files to the existing filesystem on /dev/disk/by-label/ROOT ("pxe":"false").