Flatcar Container Linux
Flatcar Container Linux is a container optimized OS that ships a minimal OS image, which includes only the tools needed to run containers. The OS is shipped through an immutable filesystem and includes automatic atomic updates.
If you’re new to Flatcar and if you’re looking for a brief introduction on getting Flatcar up and running, please have a look at our quickstart guide .
Flatcar Container Linux runs on most cloud providers, virtualization platforms and bare metal servers.
- Amazon EC2
- Microsoft Azure
- Google Compute Engine
- Equinix Metal
It’s easy to run a local Flatcar VM on your laptop for testing and debugging purposes. You can use any of the following options.
You can install Flatcar on bare metal machines in different ways: using ISO images, booting from PXE or iPXE, and even by running an installation script on an existing Linux system.
If you want to provide metadata to your baremetal machines, we recommend using Matchbox .
Upgrading from CoreOS Container Linux
Flatcar Container Linux is a drop-in replacement of CoreOS Container Linux. If you are a CoreOS Container Linux user looking for a replacement, checkout our guides to migrate from CoreOS Container Linux , or you can update from CoreOS Container Linux directly.
Ignition is the recommended way to provision Flatcar Container Linux at first boot. Ignition uses a JSON configuration file, and it is recommended to generate it from the Container Linux Config YAML format, which has additional features. The Container Linux Config Transpiler converts a Container Linux Config to an Ignition config.
- Understanding the Boot Process
- Configuring the Network with Ignition
- Using metadata during provisioning
- Getting started with Container Linux Config
- Examples of using Container Linux Config
- Platform agnostic metadata in Container Linux Config
- Using Terraform to provision Flatcar Container Linux
- Extending the base OS with systemd-sysext images
Setting Flatcar Up and Common Operations
Follow these guides to connect your machines together as a cluster, configure machine parameters, create users, inject multiple SSH keys, and more.
- Using networkd to customize networking
- Using systemd drop-in units
- Using environment variables in systemd units
- Using systemd and udev rules
- Scheduling tasks with systemd timers
- Configuring DNS
- Configuring date & timezone
- Adding users
- Kernel modules / sysctl parameters
- Adding swap
- Power management
Managing Releases and Updates
- Switching release channels
- Configuring the update strategy
- Flatcar update configuration specification
- Verifying Flatcar Images with GPG
Additional security options
- Customizing the SSH daemon
- Configuring SSSD on Flatcar Container Linux
- Hardening a Flatcar Container Linux machine
- Trusted Computing Hardware Requirements
- Adding Cert Authorities
- Using SELinux
- Disabling SMT
- Enabling FIPS
- Install debugging tools
- Working with btrfs
- Reading the system log
- Collecting crash logs
- Manual Flatcar Container Linux rollbacks
Flatcar Container Linux supports all of the popular methods for running containers, and you can choose to interact with the containers at a low-level, or use a higher level orchestration framework. Listed below are some guides to help you choose and make use of the different runtimes.
- Getting started with Docker
- Customizing Docker
- Using systemd to manage Docker containers
- Use a custom Docker or containerd version
- Switching from Docker to containerd for Kubernetes
- Authenticating to Container registries
Developer guides and Reference
APIs and troubleshooting guides for working with Flatcar Container Linux.
- Developer guides : Comprehensive guides on developing for Flatcar, working with the SDK, and on building and extending OS images.
- Migrating from cloud-config to Container Linux Config
- Flatcar Supply Chain Security (SLSA and SPDX SBOM) detailing security mechanisms employed at build / release time as well as at run-time to ensure validity of inputs processed and outputs shipped.
Several different tools can be used to automate the provisioning of Flatcar Container Linux images. These guides can help you understand what each of the tools do, as well as provide plenty of examples of how to use them.
Follow these guides to connect your machines together as a cluster. Configure machine parameters, create users, inject multiple SSH keys, and more with Container Linux Config.
Flatcar Container Linux supports all of the popular methods for running containers, and you can choose to interact with the containers at a low-level, or use a higher level orchestration framework. These guides can help you choose and use the different container runtimes supported.
Processes, concepts, APIs and troubleshooting guides for working with Flatcar Container Linux.