Make CSI plugins work, some improvements #69
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.
Kubelet root directory fix
Kubelet ignores the root-dir argument and creates the socket at:
/var/lib/kubelet/device-plugins/=kubelet.sock
https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/#device-plugin-implementation
Therefore, we mount /var/lib/kubelet to the BOSH data directory and keep it unchanged.
This is the only way I've found to make the CSI plugins work.
Switch to Using
network.target
in SystemdAn error in my deployment indicated that the systemd unit
sys-subsystem-net-devices-eth0.device
does not exist. In systemd, network devices are not always available as.device
units. Instead, you can use a more general dependency likenetwork.target
, which ensures that network services are available. This change allows the service to start once the network is properly configured, without relying on a specific device unit that may not be present.Other Changes
I introduced the
k3s-utils
package to share functions between the server and agent jobs (DRY) and cleaned up the ERB code.