Adopt Garden Linux os extension due to removal of legacy configuration #50
Labels
area/os
Operation system related
kind/enhancement
Enhancement, improvement, extension
lifecycle/stale
Nobody worked on this for 6 months (will further age)
os/garden-linux
Related to Garden Linux OS
priority/2
Priority (lower number equals higher priority)
status/closed
Issue is closed (either delivered or triaged)
How to categorize this issue?
/area os
/kind enhancement
/priority 2
/os garden-linux
What would you like to be added:
In one of the next releases we would like to make some changes to Garden Linux which will affect the Garden Linux extension and the way Kubernetes is configured. In the past we have disabled features that caused incompatibilities with Kubernetes at that time. Those disabled features are:
systemd-resolved
as resolverWe want to remove the code or configuration that disables these features. We would like to change that because it is legacy and in the meantime Kubernetes has provided support. The operating system extension should disable these feature if still required for older Kubernetes versions. These are the implications and required configuration changes for older clusters:
1. nftables
nftables is supported in Kubernetes since version 1.17, see gardenlinux/gardenlinux#193 for details. Support for some Gardener owned components might still be missing. To switch back to the iptables legacy implementation run the following commands during the bootstrap process:
2. croupv2
cgroupv2 is supported by Kubernetes starting with Kubernetes 1.19. To switch to cgroupv1 add the following kernel parameter (in
/etc/kernel/cmdline.d/80-cgroup.cfg
) and reboot.There appears to be no other way for Docker to change this.
3. resolv.conf
Garden Linux uses systemd-resolved which is a caching and validating DNS/DNSSEC stub resolver, as well as an LLMNR and MulticastDNS resolver and responder. The functionality is not used when
/etc/resolv.conf
is linked to/run/systemd/resolve/resolv.conf
. For the local system it is better to link to/run/systemd/resolve/stub-resolv.conf
.The problem is that this configuration does not work with kubernetes as the local resolver (which listens on
127.0.0.53
is not routable from within pods. The kubelet has the configuration option to link a differentresolv.conf
file with the--resolv-conf
option (e.g. the/run/systemd/resolve/resolv.conf
can be used). Some infrastrucutres might require additional settings (see for example gardener/gardener-extension-provider-openstack#340).Why is this needed:
see above
The text was updated successfully, but these errors were encountered: