mirror of
https://github.com/outbackdingo/matchbox.git
synced 2026-03-22 06:43:30 +00:00
Examples with Terraform
Matchbox automates network booting and provisioning Container Linux clusters. These examples show how to use matchbox with Teraform to create official reference clusters.
| Name | Description |
|---|---|
| etcd3-install | Install a 3-node etcd3 cluster |
| bootkube-install | Install a 3-node self-hosted Kubernetes v1.6.2 cluster |
Modules
Matchbox also provides Terraform modules you can use directly within your own Terraform configs. Modules are updated regularly so it is recommended that you pin the module version (e.g. ref=sha) to keep your configs deterministic.
module "profiles" {
source = "git::https://github.com/coreos/matchbox.git//examples/terraform/modules/profiles?ref=4451425db8f230012c36de6e6628c72aa34e1c10"
matchbox_http_endpoint = "${var.matchbox_http_endpoint}"
container_linux_version = "${var.container_linux_version}"
container_linux_channel = "${var.container_linux_channel}"
}
Download referenced Terraform modules.
$ terraform get # does not check for updates
$ terraform get --update # checks for updates
Available modules:
| Module | Includes | Description |
|---|---|---|
| profiles | * | Creates machine profiles you can reference in matcher groups |
| container-linux-install | Install Container Linux to disk from core-os.net | |
| cached-container-linux-install | Install Container Linux to disk from matchbox assets cache | |
| etcd3 | Provision an etcd3 peer node | |
| etcd3-gateway | Provision an etcd3 gateway node | |
| bootkube-controller | Provision a self-hosted Kubernetes controller/master node | |
| bootkube-worker | Provisioner a self-hosted Kubernetes worker node |
Customization
You are encouraged to look through the examples and 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.