Matchbox automates network booting and provisioning of clusters. These examples show how to use matchbox on-premise or locally with QEMU/KVM.
These examples use Terraform as a client to Matchbox.
Name | Description |
---|---|
simple-install | Install Container Linux with an SSH key |
etcd3-install | Install a 3-node etcd3 cluster |
bootkube-install | Install a 3-node Kubernetes v1.7.7 cluster |
You are encouraged to look through the examples and Terraform modules. Implement your own profiles or package them as modules to meet your needs. We've just provided a starting point. Learn more about matchbox and Container Linux configs.
These examples mount raw Matchbox objects into a Matchbox server's /var/lib/matchbox/
directory.
Name | Description | CoreOS Container Linux Version | FS | Docs |
---|---|---|---|---|
simple | CoreOS Container Linux with autologin, using iPXE | stable/1465.7.0 | RAM | reference |
simple-install | CoreOS Container Linux Install, using iPXE | stable/1465.7.0 | RAM | reference |
grub | CoreOS Container Linux via GRUB2 Netboot | stable/1465.7.0 | RAM | NA |
etcd3 | PXE boot a 3-node etcd3 cluster with proxies | stable/1465.7.0 | RAM | None |
etcd3-install | Install a 3-node etcd3 cluster to disk | stable/1465.7.0 | Disk | None |
bootkube | PXE boot a 3-node Kubernetes v1.7.7 cluster | stable/1465.7.0 | Disk | tutorial |
bootkube-install | Install a 3-node Kubernetes v1.7.7 cluster | stable/1465.7.0 | Disk | tutorial |
Example profiles pass the coreos.autologin
kernel argument. This skips the password prompt for development and troubleshooting and should be removed before production.
Example groups allow ssh_authorized_keys
to be added for the core
user as metadata. You might also include this directly in your Ignition.
# /var/lib/matchbox/groups/default.json
{
"name": "Example Machine Group",
"profile": "pxe",
"metadata": {
"ssh_authorized_keys": ["ssh-rsa pub-key-goes-here"]
}
}
"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").