|
| 1 | +--- |
| 2 | +content_type: flatcar |
| 3 | +title: Flatcar Container Linux |
| 4 | +main_menu: true |
| 5 | +weight: 39 |
| 6 | +--- |
| 7 | + |
| 8 | +Flatcar Container Linux is a container optimized OS that ships a minimal OS |
| 9 | +image, which includes only the tools needed to run containers. The OS is |
| 10 | +shipped through an immutable filesystem and includes automatic atomic |
| 11 | +updates. |
| 12 | + |
| 13 | + |
| 14 | +### Getting Started |
| 15 | + |
| 16 | +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][quick-start]. |
| 17 | + |
| 18 | +### Installing Flatcar |
| 19 | + |
| 20 | +Flatcar Container Linux runs on most cloud providers, virtualization |
| 21 | +platforms and bare metal servers. |
| 22 | + |
| 23 | +#### Cloud Providers |
| 24 | + * [Amazon EC2][ec2] |
| 25 | + * [Microsoft Azure][azure] |
| 26 | + * [Google Compute Engine][gce] |
| 27 | + * [Equinix Metal][equinix-metal] |
| 28 | + * [VMware][vmware] |
| 29 | + * [DigitalOcean][digital-ocean] |
| 30 | + * [Hetzner][hetzner] |
| 31 | + * [OpenStack][openstack] |
| 32 | + * [Brightbox][brightbox] |
| 33 | + * [Scaleway][scaleway] (community support) |
| 34 | + * [OVHcloud][ovhcloud] (community support) |
| 35 | + * [Akamai/Linode][akamai] |
| 36 | + * [STACKIT][stackit] |
| 37 | + |
| 38 | +#### Virtualization options |
| 39 | +It's easy to run a local Flatcar VM on your laptop for testing and debugging |
| 40 | +purposes. You can use any of the following options. |
| 41 | + |
| 42 | + * [QEMU][qemu] |
| 43 | + * [libVirt][libvirt] |
| 44 | + * [VirtualBox][virtualbox] (community support) |
| 45 | + * [Vagrant][vagrant] (community support) |
| 46 | + * [Hyper-V][hyper-v] (community support) |
| 47 | + * [KubeVirt][kubevirt] (community support) |
| 48 | + * [Proxmox VE][proxmoxve] (community support) |
| 49 | + |
| 50 | +#### Bare Metal |
| 51 | +You can install Flatcar on bare metal machines in different ways: using ISO |
| 52 | +images, booting from PXE or iPXE, and even by running an installation |
| 53 | +script on an existing Linux system. |
| 54 | + |
| 55 | + * [Installing from ISO images][boot-iso] |
| 56 | + * [Booting with PXE][pxe] |
| 57 | + * [Booting with iPXE][ipxe] |
| 58 | + * [Installing with flatcar-install][install-to-disk] |
| 59 | + |
| 60 | +If you want to provide metadata to your baremetal machines, we recommend |
| 61 | +using [Matchbox][matchbox]. |
| 62 | + |
| 63 | +#### Upgrading from CoreOS Container Linux |
| 64 | + |
| 65 | +Flatcar Container Linux is a drop-in replacement of CoreOS Container Linux. |
| 66 | +If you are a CoreOS Container Linux user looking for a replacement, |
| 67 | +checkout our guides to [migrate from CoreOS Container |
| 68 | +Linux][migrate-from-container-linux], or you can [update from CoreOS |
| 69 | +Container Linux][update-from-container-linux] directly. |
| 70 | + |
| 71 | +### Provisioning Tools |
| 72 | + |
| 73 | +[Ignition][ignition-what] is the recommended way to provision Flatcar |
| 74 | +Container Linux at first boot. Ignition uses a JSON configuration file, |
| 75 | +and it is recommended to generate it from the [Container Linux |
| 76 | +Config][container-linux-config] YAML format, which has additional features. |
| 77 | +The [Container Linux Config Transpiler][config-transpiler] converts a |
| 78 | +Container Linux Config to an Ignition config. |
| 79 | + |
| 80 | + * [Understanding the Boot Process][ignition-boot] |
| 81 | + * [Configuring the Network with Ignition][ignition-network] |
| 82 | + * [Using metadata during provisioning][ignition-metadata] |
| 83 | + * [Getting started with Butane][config-intro] |
| 84 | + * [Examples of using Butane][config-examples] |
| 85 | + * [Using Terraform to provision Flatcar Container Linux][terraform] |
| 86 | + * [Extending the base OS with systemd-sysext images][sysext] |
| 87 | + |
| 88 | +### Setting Flatcar Up and Common Operations |
| 89 | + |
| 90 | +Follow these guides to connect your machines together as a cluster, |
| 91 | +configure machine parameters, create users, inject multiple SSH keys, and |
| 92 | +more. |
| 93 | + |
| 94 | +#### Customizing Flatcar |
| 95 | + * [Using networkd to customize networking][networkd-customize] |
| 96 | + * [Using systemd drop-in units][systemd-drop-in] |
| 97 | + * [Using environment variables in systemd units][environment-variables-systemd] |
| 98 | + * [Using systemd and udev rules][udev-rules] |
| 99 | + * [Using NVIDIA GPUs on Flatcar][using-nvidia] |
| 100 | + * [Scheduling tasks with systemd timers][tasks-with-systemd] |
| 101 | + * [Configuring DNS][dns] |
| 102 | + * [Configuring date & timezone][date-timezone] |
| 103 | + * [Adding users][users] |
| 104 | + * [Kernel modules / sysctl parameters][parameters] |
| 105 | + * [Adding swap][swap] |
| 106 | + * [Power management][power-management] |
| 107 | + * [ACPI][acpi] |
| 108 | + |
| 109 | +#### Managing Releases and Updates |
| 110 | + * [Switching release channels][release-channels] |
| 111 | + * [Configuring the update strategy][update-strategies] |
| 112 | + * [Flatcar update configuration specification][update-conf] |
| 113 | + * [Verifying Flatcar Images with GPG][verify-container-linux] |
| 114 | + * [Nebraska][nebraska] |
| 115 | + |
| 116 | +#### Creating Clusters |
| 117 | + * [Cluster architectures][cluster-architectures] |
| 118 | + * [Clustering machines][clustering-machines] |
| 119 | + * [Using Amazon EC2 Container Service][ec2-container-service] |
| 120 | + |
| 121 | +#### Managing Storage |
| 122 | + * [Using RAID for the root filesystem][filesystem-placement] |
| 123 | + * [Adding disk space][disk-space] |
| 124 | + * [Mounting storage][mounting-storage] |
| 125 | + * [iSCSI configuration][iscsi] |
| 126 | + * [ZFS Extension][zfsextension] |
| 127 | + |
| 128 | +#### Additional security options |
| 129 | + * [Setting up LUKS disk encryption][luks-encryption] |
| 130 | + * [Customizing the SSH daemon][ssh-daemon] |
| 131 | + * [Configuring SSSD on Flatcar Container Linux][sssd-container-linux] |
| 132 | + * [Hardening a Flatcar Container Linux machine][hardening-container-linux] |
| 133 | + * [Trusted Computing Hardware Requirements][hardware-requirements] |
| 134 | + * [Adding Cert Authorities][cert-authorities] |
| 135 | + * [Using SELinux][selinux] |
| 136 | + * [Disabling SMT][disabling-smt] |
| 137 | + * [Enabling FIPS][enabling-fips] |
| 138 | + * [Using the audit subsystem][audit-system] |
| 139 | + |
| 140 | +#### Debugging Flatcar |
| 141 | + * [Install debugging tools][debugging-tools] |
| 142 | + * [Working with btrfs][btrfs] |
| 143 | + * [Reading the system log][system-log] |
| 144 | + * [Collecting crash logs][crash-log] |
| 145 | + * [Manual Flatcar Container Linux rollbacks][container-linux-rollbacks] |
| 146 | + |
| 147 | +### Container Runtimes |
| 148 | +Flatcar Container Linux supports all of the popular methods for running |
| 149 | +containers, and you can choose to interact with the containers at a |
| 150 | +low-level, or use a higher level orchestration framework. Listed below are |
| 151 | +some guides to help you choose and make use of the different runtimes. |
| 152 | + |
| 153 | + * [Getting started with Docker][docker] |
| 154 | + * [Customizing Docker][customizing-docker] |
| 155 | + * [Using systemd to manage Docker containers][manage-docker-containers] |
| 156 | + * [Use a custom Docker or containerd version][use-a-custom-docker-or-containerd-version] |
| 157 | + * [Authenticating to Container registries][registry-authentication] |
| 158 | + * [Getting started with Kubernetes][kubernetes] |
| 159 | + * [High availability Kubernetes][ha-kubernetes] |
| 160 | + |
| 161 | +### Developer guides and Reference |
| 162 | +APIs and troubleshooting guides for working with Flatcar Container Linux. |
| 163 | + |
| 164 | +* [Developer guides][developer-guides]: Comprehensive guides on developing for Flatcar, working with the SDK, and on building and extending OS images. |
| 165 | +* [Integrations][integrations] |
| 166 | +* [Migrating from cloud-config to Container Linux Config][migrating-from-cloud-config] |
| 167 | +* [Flatcar Supply Chain Security (SLSA and SPDX SBOM)][supply-chain-security] detailing security mechanisms employed at build / release time as well as at run-time to ensure validity of inputs processed and outputs shipped. |
| 168 | + |
| 169 | +### Tutorial |
| 170 | +Flatcar tutorial to deep dive into some Flatcar fundamental concepts. |
| 171 | +* [Introduction][tutorial-introduction] |
| 172 | +* [Hands-on 1: Discovering][tutorial-hands-on-1] |
| 173 | +* [Hands-on 2: Provisioning][tutorial-hands-on-2] |
| 174 | +* [Hands-on 3: Deploying][tutorial-hands-on-3] |
| 175 | +* [Hands-on 4: Updating][tutorial-hands-on-4] |
| 176 | + |
| 177 | +[quick-start]: installing |
| 178 | +[supply-chain-security]: reference/supply-chain |
| 179 | +[ignition-what]: provisioning/ignition/ |
| 180 | +[ignition-boot]: provisioning/ignition/boot-process |
| 181 | +[ignition-network]: provisioning/ignition/network-configuration |
| 182 | +[ignition-metadata]: provisioning/ignition/dynamic-data |
| 183 | +[container-linux-config]: provisioning/cl-config/ |
| 184 | +[config-transpiler]: provisioning/config-transpiler/ |
| 185 | +[config-intro]: provisioning/config-transpiler/getting-started |
| 186 | +[config-dynamic-data]: provisioning/config-transpiler/dynamic-data |
| 187 | +[config-examples]: provisioning/config-transpiler/examples |
| 188 | +[matchbox]: https://matchbox.psdn.io/ |
| 189 | +[ipxe]: installing/bare-metal/booting-with-ipxe |
| 190 | +[pxe]: installing/bare-metal/booting-with-pxe |
| 191 | +[install-to-disk]: installing/bare-metal/installing-to-disk |
| 192 | +[boot-iso]: installing/bare-metal/booting-with-iso |
| 193 | +[filesystem-placement]: setup/storage/raid |
| 194 | +[migrate-from-container-linux]: migrating-from-coreos/ |
| 195 | +[update-from-container-linux]: migrating-from-coreos/update-from-container-linux |
| 196 | +[ec2]: installing/cloud/aws-ec2 |
| 197 | +[digital-ocean]: installing/cloud/digitalocean |
| 198 | +[gce]: installing/cloud/gcp |
| 199 | +[azure]: installing/cloud/azure |
| 200 | +[qemu]: installing/vms/qemu |
| 201 | +[equinix-metal]: installing/cloud/equinix-metal |
| 202 | +[libvirt]: installing/vms/libvirt |
| 203 | +[virtualbox]: installing/vms/virtualbox |
| 204 | +[vagrant]: installing/vms/vagrant |
| 205 | +[hyper-v]: installing/vms/hyper-v |
| 206 | +[kubevirt]: installing/vms/kubevirt |
| 207 | +[proxmoxve]: installing/community-platforms/proxmoxve |
| 208 | +[vmware]: installing/cloud/vmware |
| 209 | +[cluster-architectures]: setup/clusters/architectures |
| 210 | +[update-strategies]: setup/releases/update-strategies |
| 211 | +[clustering-machines]: setup/clusters/discovery |
| 212 | +[verify-container-linux]: setup/releases/verify-images |
| 213 | +[networkd-customize]: setup/customization/network-config-with-networkd |
| 214 | +[systemd-drop-in]: setup/systemd/drop-in-units |
| 215 | +[environment-variables-systemd]: setup/systemd/environment-variables |
| 216 | +[dns]: setup/customization/configuring-dns |
| 217 | +[date-timezone]: setup/customization/configuring-date-and-timezone |
| 218 | +[users]: setup/customization/adding-users |
| 219 | +[parameters]: setup/customization/other-settings |
| 220 | +[disk-space]: setup/storage/adding-disk-space |
| 221 | +[mounting-storage]: setup/storage/mounting-storage |
| 222 | +[power-management]: setup/customization/power-management |
| 223 | +[registry-authentication]: container-runtimes/registry-authentication |
| 224 | +[iscsi]: setup/storage/iscsi |
| 225 | +[swap]: setup/storage/adding-swap |
| 226 | +[zfsextension]: setup/storage/zfs |
| 227 | +[ec2-container-service]: setup/clusters/booting-on-ecs/ |
| 228 | +[manage-docker-containers]: setup/systemd/getting-started |
| 229 | +[udev-rules]: setup/systemd/udev-rules |
| 230 | +[update-conf]: setup/releases/update-conf |
| 231 | +[release-channels]: setup/releases/switching-channels |
| 232 | +[tasks-with-systemd]: setup/systemd/timers |
| 233 | +[luks-encryption]: setup/security/luks |
| 234 | +[ssh-daemon]: setup/security/customizing-sshd |
| 235 | +[sssd-container-linux]: setup/security/sssd |
| 236 | +[hardening-container-linux]: setup/security/hardening-guide |
| 237 | +[hardware-requirements]: setup/security/trusted-computing-hardware-requirements |
| 238 | +[cert-authorities]: setup/security/adding-certificate-authorities |
| 239 | +[selinux]: setup/security/selinux |
| 240 | +[disabling-smt]: setup/security/disabling-smt |
| 241 | +[enabling-fips]: setup/security/fips |
| 242 | +[audit-system]: setup/security/audit |
| 243 | +[debugging-tools]: setup/debug/install-debugging-tools |
| 244 | +[btrfs]: setup/debug/btrfs-troubleshooting |
| 245 | +[system-log]: setup/debug/reading-the-system-log |
| 246 | +[crash-log]: setup/debug/collecting-crash-logs |
| 247 | +[container-linux-rollbacks]: setup/debug/manual-rollbacks |
| 248 | +[docker]: container-runtimes/getting-started-with-docker |
| 249 | +[customizing-docker]: container-runtimes/customizing-docker |
| 250 | +[use-a-custom-docker-or-containerd-version]: container-runtimes/use-a-custom-docker-or-containerd-version |
| 251 | +[developer-guides]: reference/developer-guides/ |
| 252 | +[integrations]: reference/integrations/ |
| 253 | +[migrating-from-cloud-config]: provisioning/cl-config/from-cloud-config |
| 254 | +[containerd-for-kubernetes]: container-runtimes/switching-from-docker-to-containerd-for-kubernetes |
| 255 | +[terraform]: provisioning/terraform/ |
| 256 | +[hetzner]: installing/cloud/hetzner |
| 257 | +[sysext]: provisioning/sysext/ |
| 258 | +[acpi]: setup/customization/ACPI |
| 259 | +[openstack]: installing/cloud/openstack |
| 260 | +[brightbox]: installing/cloud/brightbox |
| 261 | +[kubernetes]: container-runtimes/getting-started-with-kubernetes |
| 262 | +[ha-kubernetes]: container-runtimes/high-availability-kubernetes |
| 263 | +[using-nvidia]: setup/customization/using-nvidia |
| 264 | +[tutorial-introduction]: tutorial/ |
| 265 | +[tutorial-hands-on-1]: tutorial/hands-on-1 |
| 266 | +[tutorial-hands-on-2]: tutorial/hands-on-2 |
| 267 | +[tutorial-hands-on-3]: tutorial/hands-on-3 |
| 268 | +[tutorial-hands-on-4]: tutorial/hands-on-4 |
| 269 | +[scaleway]: installing/community-platforms/scaleway |
| 270 | +[ovhcloud]: installing/community-platforms/ovhcloud |
| 271 | +[akamai]: installing/cloud/akamai |
| 272 | +[nebraska]: nebraska |
| 273 | +[stackit]: installing/cloud/stackit |
0 commit comments