diff --git a/nodeup/pkg/distros/distribution.go b/nodeup/pkg/distros/distribution.go index d0d9678e73..c87a9da34f 100644 --- a/nodeup/pkg/distros/distribution.go +++ b/nodeup/pkg/distros/distribution.go @@ -90,7 +90,7 @@ func (d Distribution) IsDebianFamily() bool { return true case DistributionCentos7, DistributionRhel7: return false - case DistributionCoreOS, DistributionContainerOS: + case DistributionCoreOS, DistributionFlatcar, DistributionContainerOS: return false default: klog.Fatalf("unknown distribution: %s", d) diff --git a/nodeup/pkg/model/kube_controller_manager.go b/nodeup/pkg/model/kube_controller_manager.go index c8ee491001..e59d9bd3f5 100644 --- a/nodeup/pkg/model/kube_controller_manager.go +++ b/nodeup/pkg/model/kube_controller_manager.go @@ -166,6 +166,10 @@ func (b *KubeControllerManagerBuilder) buildPod() (*v1.Pod, error) { // The /usr directory is read-only for CoreOS volumePluginDir = "/var/lib/kubelet/volumeplugins/" + case distros.DistributionFlatcar: + // The /usr directory is read-only for Flatcar + volumePluginDir = "/var/lib/kubelet/volumeplugins/" + default: volumePluginDir = "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/" } diff --git a/nodeup/pkg/model/kubelet.go b/nodeup/pkg/model/kubelet.go index f1437687ee..278262b5c5 100644 --- a/nodeup/pkg/model/kubelet.go +++ b/nodeup/pkg/model/kubelet.go @@ -580,6 +580,10 @@ func (b *KubeletBuilder) buildKubeletConfigSpec() (*kops.KubeletConfigSpec, erro // The /usr directory is read-only for CoreOS c.VolumePluginDirectory = "/var/lib/kubelet/volumeplugins/" + case distros.DistributionFlatcar: + // The /usr directory is read-only for Flatcar + c.VolumePluginDirectory = "/var/lib/kubelet/volumeplugins/" + default: c.VolumePluginDirectory = "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/" } diff --git a/nodeup/pkg/model/miscutils.go b/nodeup/pkg/model/miscutils.go index be24e18ae8..0a8ff9fb52 100644 --- a/nodeup/pkg/model/miscutils.go +++ b/nodeup/pkg/model/miscutils.go @@ -40,6 +40,9 @@ func (b *MiscUtilsBuilder) Build(c *fi.ModelBuilderContext) error { case distros.DistributionCoreOS: klog.V(2).Infof("Detected CoreOS; won't install misc. utils") return nil + case distros.DistributionFlatcar: + klog.V(2).Infof("Detected Flatcar; won't install misc. utils") + return nil } // TODO: These packages have been auto-installed for a long time, and likely we don't need all of them any longer diff --git a/nodeup/pkg/model/ntp.go b/nodeup/pkg/model/ntp.go index be03d074af..9231d2f523 100644 --- a/nodeup/pkg/model/ntp.go +++ b/nodeup/pkg/model/ntp.go @@ -41,6 +41,9 @@ func (b *NTPBuilder) Build(c *fi.ModelBuilderContext) error { case distros.DistributionCoreOS: klog.Infof("Detected CoreOS; won't install ntp") return nil + case distros.DistributionFlatcar: + klog.Infof("Detected Flatcar; won't install ntp") + return nil } if b.Distribution.IsDebianFamily() {