From 21fe46ce12496801e70b510937fdf802ff129ff0 Mon Sep 17 00:00:00 2001 From: Barry Melbourne <9964974+bmelbourne@users.noreply.github.com> Date: Mon, 7 Sep 2020 14:16:58 +0100 Subject: [PATCH] Add kubelet cgroup driver property --- k8s/crds/kops.k8s.io_clusters.yaml | 6 ++++++ k8s/crds/kops.k8s.io_instancegroups.yaml | 3 +++ pkg/apis/kops/componentconfig.go | 4 ++-- pkg/apis/kops/v1alpha2/componentconfig.go | 4 ++-- pkg/apis/kops/v1alpha2/zz_generated.conversion.go | 2 ++ 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/k8s/crds/kops.k8s.io_clusters.yaml b/k8s/crds/kops.k8s.io_clusters.yaml index f0be51f42c89a..22b995b3861ce 100644 --- a/k8s/crds/kops.k8s.io_clusters.yaml +++ b/k8s/crds/kops.k8s.io_clusters.yaml @@ -1552,6 +1552,9 @@ spec: bootstrapKubeconfig: description: BootstrapKubeconfig is the path to a kubeconfig file that will be used to get client certificate for kubelet type: string + cgroupDriver: + description: CgroupDriver allows the explicit setting of the kubelet cgroup driver. If omitted, defaults to cgroupfs. + type: string cgroupRoot: description: cgroupRoot is the root cgroup to use for pods. This is handled by the container runtime on a best effort basis. type: string @@ -1827,6 +1830,9 @@ spec: bootstrapKubeconfig: description: BootstrapKubeconfig is the path to a kubeconfig file that will be used to get client certificate for kubelet type: string + cgroupDriver: + description: CgroupDriver allows the explicit setting of the kubelet cgroup driver. If omitted, defaults to cgroupfs. + type: string cgroupRoot: description: cgroupRoot is the root cgroup to use for pods. This is handled by the container runtime on a best effort basis. type: string diff --git a/k8s/crds/kops.k8s.io_instancegroups.yaml b/k8s/crds/kops.k8s.io_instancegroups.yaml index bf3fdf878a60d..48c49e7b0eae0 100644 --- a/k8s/crds/kops.k8s.io_instancegroups.yaml +++ b/k8s/crds/kops.k8s.io_instancegroups.yaml @@ -225,6 +225,9 @@ spec: bootstrapKubeconfig: description: BootstrapKubeconfig is the path to a kubeconfig file that will be used to get client certificate for kubelet type: string + cgroupDriver: + description: CgroupDriver allows the explicit setting of the kubelet cgroup driver. If omitted, defaults to cgroupfs. + type: string cgroupRoot: description: cgroupRoot is the root cgroup to use for pods. This is handled by the container runtime on a best effort basis. type: string diff --git a/pkg/apis/kops/componentconfig.go b/pkg/apis/kops/componentconfig.go index 2f00d5cbda082..1bfd615733280 100644 --- a/pkg/apis/kops/componentconfig.go +++ b/pkg/apis/kops/componentconfig.go @@ -198,13 +198,13 @@ type KubeletConfigSpec struct { RegistryBurst *int32 `json:"registryBurst,omitempty" flag:"registry-burst"` //TopologyManagerPolicy determines the allocation policy for the topology manager. TopologyManagerPolicy string `json:"topologyManagerPolicy,omitempty" flag:"topology-manager-policy"` - // rotateCertificates enables client certificate rotation. RotateCertificates *bool `json:"rotateCertificates,omitempty" flag:"rotate-certificates"` - // Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults. // (DEPRECATED: This parameter should be set via the config file specified by the Kubelet's --config flag. ProtectKernelDefaults *bool `json:"protectKernelDefaults,omitempty" flag:"protect-kernel-defaults"` + // CgroupDriver allows the explicit setting of the kubelet cgroup driver. If omitted, defaults to cgroupfs. + CgroupDriver string `json:"cgroupDriver,omitempty" flag:"cgroup-driver"` } // KubeProxyConfig defines the configuration for a proxy diff --git a/pkg/apis/kops/v1alpha2/componentconfig.go b/pkg/apis/kops/v1alpha2/componentconfig.go index fd803fc3ecbb1..d3e2e2f042cc5 100644 --- a/pkg/apis/kops/v1alpha2/componentconfig.go +++ b/pkg/apis/kops/v1alpha2/componentconfig.go @@ -198,13 +198,13 @@ type KubeletConfigSpec struct { RegistryBurst *int32 `json:"registryBurst,omitempty" flag:"registry-burst"` //TopologyManagerPolicy determines the allocation policy for the topology manager. TopologyManagerPolicy string `json:"topologyManagerPolicy,omitempty" flag:"topology-manager-policy"` - // rotateCertificates enables client certificate rotation. RotateCertificates *bool `json:"rotateCertificates,omitempty" flag:"rotate-certificates"` - // Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults. // (DEPRECATED: This parameter should be set via the config file specified by the Kubelet's --config flag. ProtectKernelDefaults *bool `json:"protectKernelDefaults,omitempty" flag:"protect-kernel-defaults"` + // CgroupDriver allows the explicit setting of the kubelet cgroup driver. If omitted, defaults to cgroupfs. + CgroupDriver string `json:"cgroupDriver,omitempty" flag:"cgroup-driver"` } // KubeProxyConfig defines the configuration for a proxy diff --git a/pkg/apis/kops/v1alpha2/zz_generated.conversion.go b/pkg/apis/kops/v1alpha2/zz_generated.conversion.go index 497efd161d632..28a70f8fccace 100644 --- a/pkg/apis/kops/v1alpha2/zz_generated.conversion.go +++ b/pkg/apis/kops/v1alpha2/zz_generated.conversion.go @@ -4401,6 +4401,7 @@ func autoConvert_v1alpha2_KubeletConfigSpec_To_kops_KubeletConfigSpec(in *Kubele out.TopologyManagerPolicy = in.TopologyManagerPolicy out.RotateCertificates = in.RotateCertificates out.ProtectKernelDefaults = in.ProtectKernelDefaults + out.CgroupDriver = in.CgroupDriver return nil } @@ -4488,6 +4489,7 @@ func autoConvert_kops_KubeletConfigSpec_To_v1alpha2_KubeletConfigSpec(in *kops.K out.TopologyManagerPolicy = in.TopologyManagerPolicy out.RotateCertificates = in.RotateCertificates out.ProtectKernelDefaults = in.ProtectKernelDefaults + out.CgroupDriver = in.CgroupDriver return nil }