matchbox
is a service that matches bare-metal machines (based on labels like MAC, UUID, etc.) to profiles that PXE boot and provision Container Linux clusters. Profiles specify the kernel/initrd, kernel arguments, iPXE config, GRUB config, Container Linux Config, or other configs a machine should use. Matchbox can be installed as a binary, RPM, container image, or deployed on a Kubernetes cluster and it provides an authenticated gRPC API for clients like Terraform.
- Documentation
- matchbox Service
- Profiles
- Groups
- Config Templates
- Configuration
- HTTP API / gRPC API
- Background: Machine Lifecycle
- Background: PXE Booting
- Installation
- Installing on Container Linux / other distros
- Installing on Kubernetes
- Running with rkt / docker
- Network Setup
- Getting Started
- Local QEMU/KVM
Create example clusters on-premise or locally with QEMU/KVM.
Terraform-based
- simple-install - Install Container Linux with an SSH key on all machines (beginner)
- etcd3 - Install a 3-node etcd3 cluster
- Kubernetes - Install a 3-node self-hosted Kubernetes v1.6.6 cluster
- Terraform Modules - Re-usable Terraform Modules
Manual
- etcd3 - Install a 3-node etcd3 cluster
- Kubernetes - Install a 3-node self-hosted Kubernetes v1.6.6 cluster
- dnsmasq - Run DHCP, TFTP, and DNS services with docker or rkt
- squid - Run a transparent cache proxy
- terraform-provider-matchbox - Terraform plugin which supports "matchbox" provider