Using the CoreOS extension with Gardener as end-user ​
The core.gardener.cloud/v1beta1.Shoot resource declares a few fields that must be considered when this OS extension is used.
In this document we describe how this configuration looks like and under which circumstances your attention may be required.
Disabled OS services ​
During node provisioning, this extension disables and removes the following Flatcar/CoreOS components, as they are not needed in a Gardener-managed cluster:
- Docker: Only
containerdis used as the container runtime. The Flatcar docker sysext image is removed by linking/etc/extensions/docker-flatcar.rawto/dev/null, so it is not loaded at boot. Docker can be enabled by settingEnableDockerto true in the extension config or the shootproviderConfigof the image. - update-engine: Automatic OS updates are not desired, since node updates are managed by Gardener (e.g. via machine image version updates). The unit is masked by linking
/etc/systemd/system/update-engine.serviceto/dev/null. - locksmithd: The reboot manager for update-engine is not needed without automatic OS updates. The unit is masked by linking
/etc/systemd/system/locksmithd.serviceto/dev/null. - systemd-sysupdate: The newer systemd-based update mechanism would periodically check for updates and even reboot the node automatically. Both
systemd-sysupdate.timerandsystemd-sysupdate-reboot.timerare masked by linking them to/dev/nullunder/etc/systemd/system/.
Note that simply disabling these units would not be sufficient: Flatcar ships vendor "wants" symlinks under the read-only /usr/lib/systemd/system hierarchy, which pull the units in on every boot regardless of their enablement state. Masking via /etc (which takes precedence over /usr) is reboot-safe.
AWS VPC settings for CoreOS workers ​
Gardener allows you to create CoreOS based worker nodes by:
- Using a Gardener managed VPC
- Reusing a VPC that already exists (VPC
idspecified in InfrastructureConfig]
If the second option applies to your use-case please make sure that your VPC has enabled DNS Support. Otherwise CoreOS based nodes aren't able to join or operate in your cluster properly.
DNS settings (required):
enableDnsHostnames: true (necessary for collecting node metrics)enableDnsSupport: true