diff --git a/cmd/machine-controller/main.go b/cmd/machine-controller/main.go index f2a821e0b..455c25b03 100644 --- a/cmd/machine-controller/main.go +++ b/cmd/machine-controller/main.go @@ -27,9 +27,7 @@ import ( "strings" "time" - "github.com/docker/distribution/reference" "github.com/prometheus/client_golang/prometheus" - osmv1alpha1 "k8c.io/operating-system-manager/pkg/crd/osm/v1alpha1" clusterv1alpha1 "github.com/kubermatic/machine-controller/pkg/apis/cluster/v1alpha1" @@ -81,7 +79,6 @@ var ( nodeInsecureRegistries string nodeRegistryMirrors string nodePauseImage string - nodeKubeletRepository string nodeContainerRuntime string podCidr string nodePortRange string @@ -165,7 +162,7 @@ func main() { flag.StringVar(&nodeInsecureRegistries, "node-insecure-registries", "", "Comma separated list of registries which should be configured as insecure on the container runtime") flag.StringVar(&nodeRegistryMirrors, "node-registry-mirrors", "", "Comma separated list of Docker image mirrors") flag.StringVar(&nodePauseImage, "node-pause-image", "", "Image for the pause container including tag. If not set, the kubelet default will be used: https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/") - flag.StringVar(&nodeKubeletRepository, "node-kubelet-repository", "quay.io/kubermatic/kubelet", "Repository for the kubelet container. Only has effect on Flatcar Linux.") + flag.String("node-kubelet-repository", "quay.io/kubermatic/kubelet", "[NO-OP] Repository for the kubelet container. Has no effects.") flag.StringVar(&nodeContainerRuntime, "node-container-runtime", "docker", "container-runtime to deploy") flag.Var(&nodeContainerdRegistryMirrors, "node-containerd-registry-mirrors", "Configure registry mirrors endpoints. Can be used multiple times to specify multiple mirrors") flag.StringVar(&caBundleFile, "ca-bundle", "", "path to a file containing all PEM-encoded CA certificates (will be used instead of the host's certificates if set)") @@ -209,15 +206,6 @@ func main() { klog.Fatalf("failed to add osmv1alpha1 api to scheme: %v", err) } - // Check if the kubelet image has a tag set - kubeletRepoRef, err := reference.Parse(nodeKubeletRepository) - if err != nil { - klog.Fatalf("failed to parse -node-kubelet-repository %s: %v", nodeKubeletRepository, err) - } - if _, ok := kubeletRepoRef.(reference.NamedTagged); ok { - klog.Fatalf("-node-kubelet-repository must not contain a tag. The tag will be dynamically set for each Machine.") - } - cfg, err := clientcmd.BuildConfigFromFlags(masterURL, kubeconfig) if err != nil { klog.Fatalf("error building kubeconfig: %v", err) @@ -285,11 +273,10 @@ func main() { skipEvictionAfter: skipEvictionAfter, nodeCSRApprover: nodeCSRApprover, node: machinecontroller.NodeSettings{ - ClusterDNSIPs: clusterDNSIPs, - HTTPProxy: nodeHTTPProxy, - KubeletRepository: nodeKubeletRepository, - NoProxy: nodeNoProxy, - PauseImage: nodePauseImage, + ClusterDNSIPs: clusterDNSIPs, + HTTPProxy: nodeHTTPProxy, + NoProxy: nodeNoProxy, + PauseImage: nodePauseImage, ContainerRuntime: containerruntime.Get( nodeContainerRuntime, containerruntime.WithInsecureRegistries(insecureRegistries), diff --git a/go.mod b/go.mod index 95ffd2bbb..5b8e3ae72 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,6 @@ require ( github.com/coreos/container-linux-config-transpiler v0.9.0 github.com/davecgh/go-spew v1.1.1 github.com/digitalocean/godo v1.54.0 - github.com/docker/distribution v2.7.1+incompatible github.com/ghodss/yaml v1.0.0 github.com/go-test/deep v1.0.7 github.com/google/uuid v1.1.2 diff --git a/pkg/apis/plugin/plugin.go b/pkg/apis/plugin/plugin.go index d4a25b71d..18fe8a09f 100644 --- a/pkg/apis/plugin/plugin.go +++ b/pkg/apis/plugin/plugin.go @@ -50,8 +50,6 @@ type UserDataRequest struct { HTTPProxy string NoProxy string PauseImage string - HyperkubeImage string - KubeletRepository string KubeletFeatureGates map[string]bool ContainerRuntime containerruntime.Config PodCIDR string diff --git a/pkg/controller/machine/machine_controller.go b/pkg/controller/machine/machine_controller.go index 693974d53..c6c78f1a9 100644 --- a/pkg/controller/machine/machine_controller.go +++ b/pkg/controller/machine/machine_controller.go @@ -133,10 +133,6 @@ type NodeSettings struct { RegistryMirrors []string // Translates to --pod-infra-container-image on the kubelet. If not set, the kubelet will default it. PauseImage string - // The hyperkube image to use. Currently only Container Linux and Flatcar Linux uses it. - HyperkubeImage string - // The kubelet repository to use. Currently only Flatcar Linux uses it. - KubeletRepository string // Translates to feature gates on the kubelet. // Default: RotateKubeletServerCertificate=true KubeletFeatureGates map[string]bool @@ -732,8 +728,6 @@ func (r *Reconciler) ensureInstanceExistsForMachine( ExternalCloudProvider: externalCloudProvider, DNSIPs: r.nodeSettings.ClusterDNSIPs, PauseImage: r.nodeSettings.PauseImage, - HyperkubeImage: r.nodeSettings.HyperkubeImage, - KubeletRepository: r.nodeSettings.KubeletRepository, KubeletFeatureGates: kubeletFeatureGates, NoProxy: r.nodeSettings.NoProxy, HTTPProxy: r.nodeSettings.HTTPProxy, diff --git a/pkg/userdata/flatcar/provider.go b/pkg/userdata/flatcar/provider.go index 65b94700c..e72ad632d 100644 --- a/pkg/userdata/flatcar/provider.go +++ b/pkg/userdata/flatcar/provider.go @@ -33,10 +33,6 @@ import ( userdatahelper "github.com/kubermatic/machine-controller/pkg/userdata/helper" ) -const ( - lessThen119Check = "< 1.19" -) - // Provider is a pkg/userdata/plugin.Provider implementation. type Provider struct{} @@ -86,17 +82,6 @@ func (p Provider) UserData(req plugin.UserDataRequest) (string, error) { flatcarConfig.DisableUpdateEngine = true } - kubeletImage := req.KubeletRepository - lessThen119, err := semver.NewConstraint(lessThen119Check) - if err != nil { - return "", err - } - - if lessThen119.Check(kubeletVersion) { - kubeletImage = req.HyperkubeImage - } - kubeletImage = kubeletImage + ":v" + kubeletVersion.String() - crEngine := req.ContainerRuntime.Engine(kubeletVersion) crScript, err := crEngine.ScriptFor(providerconfigtypes.OperatingSystemFlatcar) if err != nil { @@ -114,7 +99,6 @@ func (p Provider) UserData(req plugin.UserDataRequest) (string, error) { FlatcarConfig *Config Kubeconfig string KubernetesCACert string - KubeletImage string KubeletVersion string NodeIPScript string ExtraKubeletFlags []string @@ -128,7 +112,6 @@ func (p Provider) UserData(req plugin.UserDataRequest) (string, error) { FlatcarConfig: flatcarConfig, Kubeconfig: kubeconfigString, KubernetesCACert: kubernetesCACert, - KubeletImage: kubeletImage, KubeletVersion: kubeletVersion.String(), NodeIPScript: userdatahelper.SetupNodeIPEnvScript(), ExtraKubeletFlags: crEngine.KubeletFlags(), diff --git a/pkg/userdata/flatcar/provider_test.go b/pkg/userdata/flatcar/provider_test.go index 7d6742496..9c9509c69 100644 --- a/pkg/userdata/flatcar/provider_test.go +++ b/pkg/userdata/flatcar/provider_test.go @@ -112,8 +112,6 @@ type userDataTestCase struct { insecureRegistries []string registryMirrors map[string][]string pauseImage string - hyperkubeImage string - kubeletImage string containerruntime string } @@ -153,8 +151,6 @@ func TestUserDataGeneration(t *testing.T) { DisableAutoUpdate: true, ProvisioningUtility: Ignition, }, - hyperkubeImage: "for-kubernetes-less-then-1.19/hyperkubeImage", - kubeletImage: "for-kubernetes-more-then-1.19/kubeletImage", }, { name: "ignition_v1.20.11", @@ -186,8 +182,6 @@ func TestUserDataGeneration(t *testing.T) { DisableAutoUpdate: true, ProvisioningUtility: Ignition, }, - hyperkubeImage: "for-kubernetes-less-then-1.19/hyperkubeImage", - kubeletImage: "for-kubernetes-more-then-1.19/kubeletImage", }, { name: "ignition_v1.21.5", @@ -219,8 +213,6 @@ func TestUserDataGeneration(t *testing.T) { DisableAutoUpdate: true, ProvisioningUtility: Ignition, }, - hyperkubeImage: "for-kubernetes-less-then-1.19/hyperkubeImage", - kubeletImage: "for-kubernetes-more-then-1.19/kubeletImage", }, { name: "ignition_v1.22.2", @@ -252,8 +244,6 @@ func TestUserDataGeneration(t *testing.T) { DisableAutoUpdate: true, ProvisioningUtility: Ignition, }, - hyperkubeImage: "for-kubernetes-less-then-1.19/hyperkubeImage", - kubeletImage: "for-kubernetes-more-then-1.19/kubeletImage", }, { name: "cloud-init_v1.19.15", @@ -285,8 +275,6 @@ func TestUserDataGeneration(t *testing.T) { DisableAutoUpdate: true, ProvisioningUtility: CloudInit, }, - hyperkubeImage: "for-kubernetes-less-then-1.19/hyperkubeImage", - kubeletImage: "for-kubernetes-more-then-1.19/kubeletImage", }, { name: "cloud-init_v1.20.11", @@ -318,8 +306,6 @@ func TestUserDataGeneration(t *testing.T) { DisableAutoUpdate: true, ProvisioningUtility: CloudInit, }, - hyperkubeImage: "for-kubernetes-less-then-1.19/hyperkubeImage", - kubeletImage: "for-kubernetes-more-then-1.19/kubeletImage", }, { name: "cloud-init_v1.21.5", @@ -351,8 +337,6 @@ func TestUserDataGeneration(t *testing.T) { DisableAutoUpdate: true, ProvisioningUtility: CloudInit, }, - hyperkubeImage: "for-kubernetes-less-then-1.19/hyperkubeImage", - kubeletImage: "for-kubernetes-more-then-1.19/kubeletImage", }, { name: "cloud-init_v1.22.2", @@ -384,8 +368,6 @@ func TestUserDataGeneration(t *testing.T) { DisableAutoUpdate: true, ProvisioningUtility: CloudInit, }, - hyperkubeImage: "for-kubernetes-less-then-1.19/hyperkubeImage", - kubeletImage: "for-kubernetes-more-then-1.19/kubeletImage", }, { name: "containerd", @@ -408,8 +390,6 @@ func TestUserDataGeneration(t *testing.T) { DisableAutoUpdate: true, ProvisioningUtility: CloudInit, }, - hyperkubeImage: "for-kubernetes-less-then-1.19/hyperkubeImage", - kubeletImage: "for-kubernetes-more-then-1.19/kubeletImage", }, } @@ -450,8 +430,6 @@ func TestUserDataGeneration(t *testing.T) { HTTPProxy: test.httpProxy, NoProxy: test.noProxy, PauseImage: test.pauseImage, - HyperkubeImage: test.hyperkubeImage, - KubeletRepository: test.kubeletImage, KubeletFeatureGates: kubeletFeatureGates, ContainerRuntime: containerruntime.Get( test.containerruntime,