Installing Flatcar Container Linux to disk
Required Dependencies
If you want to use the flatcar-install script on some other environment than Flatcar Container Linux, ensure that the following binaries are present:
|
|
Install script
There is a simple installer that will destroy everything on the given target disk and install Flatcar Container Linux. Essentially it downloads an image, verifies it with gpg, and then copies it bit for bit to disk. An installation requires at least 8 GB of usable space on the device.
The script is self-contained and located on GitHub here and can be run from any Linux distribution. You cannot normally install Flatcar Container Linux to the same device that is currently booted. However, the Flatcar Container Linux ISO or any Linux liveCD will allow Flatcar Container Linux to install to a non-active device.
If you boot Flatcar Container Linux via PXE, the install script is already installed. By default the install script will attempt to install the same version and channel that was PXE-booted:
|
|
ignition.json should include user information (especially an SSH key) generated from a
Butane Config
, or you will not be able to log into your Flatcar Container Linux instance.
If you are installing on VMware, pass -o vmware_raw to install the VMware-specific image:
|
|
Choose a channel
Flatcar Container Linux is designed to be updated automatically with different schedules per channel. You can disable this feature , although we don’t recommend it. Read the release notes for specific features and bug fixes.
The Alpha channel closely tracks master and is released frequently. The newest versions of system libraries and utilities will be available for testing. The current version is Flatcar Container Linux 4628.0.0.
If you want to ensure you are installing the latest alpha version, use the -C option:
flatcar-install -d /dev/sda -C alpha
The Beta channel consists of promoted Alpha releases. The current version is Flatcar Container Linux 4593.1.0.
If you want to ensure you are installing the latest beta version, use the -C option:
flatcar-install -d /dev/sda -C beta
The Stable channel should be used by production clusters. Versions of Flatcar Container Linux are battle-tested within the Beta and Alpha channels before being promoted. The current version is Flatcar Container Linux 4459.2.4.
If you want to ensure you are installing the latest stable version, use the -C option:
flatcar-install -d /dev/sda -C stable
For reference here are the rest of the flatcar-install options:
|
|
Butane Configs
By default there isn’t a password or any other way to log into a fresh Flatcar Container Linux system. The easiest way to configure accounts, add systemd units, and more is via Butane Configs. Jump over to the docs to learn about the supported features .
After using the
Butane
to produce an Ignition config, the installation script will process your ignition.json file specified with the -i flag and use it when the installation is booted.
A Butane Config YAML that specifies an SSH key for the core user but doesn’t use any other parameters looks like:
|
|
Transpile it to Ignition JSON:
|
|
To start the installation script with a reference to our Ignition config, run:
|
|
Advanced Butane Config example
This Butane YAML example will configure Flatcar Container Linux to run an NGINX Docker container.
|
|
Transpile it to Ignition JSON:
|
|
Using Flatcar Container Linux
Now that you have a machine booted it is time to play around. Check out the Flatcar Container Linux Quickstart guide or dig into more specific topics .