coreos-base/misc-files: Make Kubernetes work by default through symlink #1238
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the past user had to customize Kubernetes or use a bind mount to make writing the default /usr/libexec/kubernetes/ path work. With systemd-sysext on by default the bind mount doesn't work anymore because it can get lost. A newer workaround is to use a systemd-sysext image that creates a symlink in /usr/libexec/... to redirect to somewhere under /var/.
Instead of relying on workarounds, make Kubernetes work by default on Flatcar by having the symlink be part of the generic image. The target folder will be created through a tmpfiles rule.
(The same paths are used as in flatcar/sysext-bakery#28)
How to use
Backport to Stable and maybe even LTS?
Testing done
Done:
Checked that the symlink exists under
/usr
and that the target dir is created by a tmpfile rule inbase_image_var.conf
(base_image_var.conf:d /var/kubernetes/kubelet-plugins/volume/exec 0755 root root - -
)changelog/
directory (user-facing change, bug fix, security fix, update)/boot
and/usr
size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.