Skip to content

Latest commit

 

History

History
87 lines (54 loc) · 3.09 KB

README.md

File metadata and controls

87 lines (54 loc) · 3.09 KB

Cluster API Provider Tinkerbell (CAPT) Playground

The Cluster API Provider Tinkerbell (CAPT) is a Kubernetes Cluster API provider that uses Tinkerbell to provision machines. You can find more information about CAPT here. The CAPT playground is an example deployment for use in learning and testing. It is not a production reference architecture.

Getting Started

The CAPT playground is a tool that will create a local CAPT deployment and a single workload cluster. This includes creating and installing a Kubernetes cluster (KinD), the Tinkerbell stack, all CAPI and CAPT components, Virtual machines that will be used to create the workload cluster, and a Virtual BMC server to manage the VMs.

Start by reviewing and installing the prerequisites and understanding and customizing the configuration file as needed.

Prerequisites

Binaries

Hardware

  • at least 60GB of free and very fast disk space (etcd is very disk I/O sensitive)
  • at least 8GB of free RAM
  • at least 4 CPU cores

Usage

Start by looking at the config.yaml file. This file contains the configuration for the playground. You can customize the playground by changing the values in this file. We recommend you start with the defaults to get familiar with the playground before customizing.

Create the CAPT playground:

# Run the creation process and follow the outputted next steps at the end of the process.
task create-playground

Delete the CAPT playground:

task delete-playground

Next Steps

With the playground up and running and a workload cluster created, you can run through a few CAPI lifecycle operations.

Move/pivot the Tinkerbell stack and CAPI/CAPT components to a workload cluster

To be written.

Upgrade the management cluster

To be written.

Upgrade the workload cluster

To be written.

Scale out the workload cluster

To be written.

Scale in the workload cluster

To be written.

Known Issues

DNS issue

KinD on Ubuntu has a known issue with DNS resolution in KinD pod containers. This affect the Download of HookOS in the Tink stack helm deployment. There are a few known workarounds. The recommendation for the CAPT playground is to add a DNS nameservers to Docker's daemon.json file. This can be done by adding the following to /etc/docker/daemon.json:

{
  "dns": ["1.1.1.1"]
}

Then restart Docker:

sudo systemctl restart docker