mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-10 05:30:26 +00:00
Remove SupportIPVSProxyMode feature gate in kubeadm.
This commit is contained in:
@@ -23,7 +23,6 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
|
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/features"
|
|
||||||
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1"
|
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1"
|
||||||
kubeproxyscheme "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/scheme"
|
kubeproxyscheme "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/scheme"
|
||||||
kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
|
kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
|
||||||
@@ -117,7 +116,6 @@ func SetDefaults_MasterConfiguration(obj *MasterConfiguration) {
|
|||||||
|
|
||||||
// SetDefaults_ProxyConfiguration assigns default values for the Proxy
|
// SetDefaults_ProxyConfiguration assigns default values for the Proxy
|
||||||
func SetDefaults_ProxyConfiguration(obj *MasterConfiguration) {
|
func SetDefaults_ProxyConfiguration(obj *MasterConfiguration) {
|
||||||
|
|
||||||
if obj.KubeProxy.Config == nil {
|
if obj.KubeProxy.Config == nil {
|
||||||
obj.KubeProxy.Config = &kubeproxyconfigv1alpha1.KubeProxyConfiguration{}
|
obj.KubeProxy.Config = &kubeproxyconfigv1alpha1.KubeProxyConfiguration{}
|
||||||
}
|
}
|
||||||
@@ -125,10 +123,6 @@ func SetDefaults_ProxyConfiguration(obj *MasterConfiguration) {
|
|||||||
obj.KubeProxy.Config.ClusterCIDR = obj.Networking.PodSubnet
|
obj.KubeProxy.Config.ClusterCIDR = obj.Networking.PodSubnet
|
||||||
}
|
}
|
||||||
|
|
||||||
if features.Enabled(obj.FeatureGates, features.SupportIPVSProxyMode) {
|
|
||||||
obj.KubeProxy.Config.FeatureGates = "true"
|
|
||||||
obj.KubeProxy.Config.Mode = "ipvs"
|
|
||||||
}
|
|
||||||
kubeproxyscheme.Scheme.Default(obj.KubeProxy.Config)
|
kubeproxyscheme.Scheme.Default(obj.KubeProxy.Config)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -39,9 +39,6 @@ const (
|
|||||||
// StoreCertsInSecrets is alpha in v1.8
|
// StoreCertsInSecrets is alpha in v1.8
|
||||||
StoreCertsInSecrets = "StoreCertsInSecrets"
|
StoreCertsInSecrets = "StoreCertsInSecrets"
|
||||||
|
|
||||||
// SupportIPVSProxyMode is alpha in v1.8
|
|
||||||
SupportIPVSProxyMode = "SupportIPVSProxyMode"
|
|
||||||
|
|
||||||
// DynamicKubeletConfig is alpha in v1.9
|
// DynamicKubeletConfig is alpha in v1.9
|
||||||
DynamicKubeletConfig = "DynamicKubeletConfig"
|
DynamicKubeletConfig = "DynamicKubeletConfig"
|
||||||
)
|
)
|
||||||
@@ -53,7 +50,6 @@ var InitFeatureGates = FeatureList{
|
|||||||
SelfHosting: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Beta}},
|
SelfHosting: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Beta}},
|
||||||
StoreCertsInSecrets: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}},
|
StoreCertsInSecrets: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}},
|
||||||
HighAvailability: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}, MinimumVersion: v190},
|
HighAvailability: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}, MinimumVersion: v190},
|
||||||
SupportIPVSProxyMode: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}, MinimumVersion: v190},
|
|
||||||
CoreDNS: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}, MinimumVersion: v190},
|
CoreDNS: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}, MinimumVersion: v190},
|
||||||
DynamicKubeletConfig: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}, MinimumVersion: v190},
|
DynamicKubeletConfig: {FeatureSpec: utilfeature.FeatureSpec{Default: false, PreRelease: utilfeature.Alpha}, MinimumVersion: v190},
|
||||||
}
|
}
|
||||||
|
@@ -107,7 +107,6 @@ spec:
|
|||||||
command:
|
command:
|
||||||
- /usr/local/bin/kube-proxy
|
- /usr/local/bin/kube-proxy
|
||||||
- --kubeconfig=/var/lib/kube-proxy/kubeconfig.conf
|
- --kubeconfig=/var/lib/kube-proxy/kubeconfig.conf
|
||||||
{{ .ExtraParams }}
|
|
||||||
{{ .ClusterCIDR }}
|
{{ .ClusterCIDR }}
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
|
@@ -28,7 +28,6 @@ import (
|
|||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||||
kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants"
|
kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/features"
|
|
||||||
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
|
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
|
||||||
"k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient"
|
"k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient"
|
||||||
"k8s.io/kubernetes/pkg/api/legacyscheme"
|
"k8s.io/kubernetes/pkg/api/legacyscheme"
|
||||||
@@ -82,7 +81,7 @@ func EnsureProxyAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Inte
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("error when parsing kube-proxy configmap template: %v", err)
|
return fmt.Errorf("error when parsing kube-proxy configmap template: %v", err)
|
||||||
}
|
}
|
||||||
proxyDaemonSetBytes, err = kubeadmutil.ParseTemplate(KubeProxyDaemonSet19, struct{ ImageRepository, Arch, Version, ImageOverride, ExtraParams, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{
|
proxyDaemonSetBytes, err = kubeadmutil.ParseTemplate(KubeProxyDaemonSet19, struct{ ImageRepository, Arch, Version, ImageOverride, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{
|
||||||
ImageRepository: cfg.GetControlPlaneImageRepository(),
|
ImageRepository: cfg.GetControlPlaneImageRepository(),
|
||||||
Arch: runtime.GOARCH,
|
Arch: runtime.GOARCH,
|
||||||
Version: kubeadmutil.KubernetesVersionToImageTag(cfg.KubernetesVersion),
|
Version: kubeadmutil.KubernetesVersionToImageTag(cfg.KubernetesVersion),
|
||||||
@@ -104,12 +103,11 @@ func EnsureProxyAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Inte
|
|||||||
return fmt.Errorf("error when parsing kube-proxy configmap template: %v", err)
|
return fmt.Errorf("error when parsing kube-proxy configmap template: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
proxyDaemonSetBytes, err = kubeadmutil.ParseTemplate(KubeProxyDaemonSet18, struct{ ImageRepository, Arch, Version, ImageOverride, ExtraParams, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{
|
proxyDaemonSetBytes, err = kubeadmutil.ParseTemplate(KubeProxyDaemonSet18, struct{ ImageRepository, Arch, Version, ImageOverride, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{
|
||||||
ImageRepository: cfg.GetControlPlaneImageRepository(),
|
ImageRepository: cfg.GetControlPlaneImageRepository(),
|
||||||
Arch: runtime.GOARCH,
|
Arch: runtime.GOARCH,
|
||||||
Version: kubeadmutil.KubernetesVersionToImageTag(cfg.KubernetesVersion),
|
Version: kubeadmutil.KubernetesVersionToImageTag(cfg.KubernetesVersion),
|
||||||
ImageOverride: cfg.UnifiedControlPlaneImage,
|
ImageOverride: cfg.UnifiedControlPlaneImage,
|
||||||
ExtraParams: getParams(cfg.FeatureGates),
|
|
||||||
ClusterCIDR: getClusterCIDR(cfg.Networking.PodSubnet),
|
ClusterCIDR: getClusterCIDR(cfg.Networking.PodSubnet),
|
||||||
MasterTaintKey: kubeadmconstants.LabelNodeRoleMaster,
|
MasterTaintKey: kubeadmconstants.LabelNodeRoleMaster,
|
||||||
CloudTaintKey: algorithm.TaintExternalCloudProvider,
|
CloudTaintKey: algorithm.TaintExternalCloudProvider,
|
||||||
@@ -185,13 +183,6 @@ func createClusterRoleBindings(client clientset.Interface) error {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func getParams(featureList map[string]bool) string {
|
|
||||||
if features.Enabled(featureList, features.SupportIPVSProxyMode) {
|
|
||||||
return "- --proxy-mode=ipvs\n - --feature-gates=SupportIPVSProxyMode=true"
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func getClusterCIDR(podsubnet string) string {
|
func getClusterCIDR(podsubnet string) string {
|
||||||
if len(podsubnet) == 0 {
|
if len(podsubnet) == 0 {
|
||||||
return ""
|
return ""
|
||||||
|
@@ -134,12 +134,11 @@ func TestCompileManifests(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
manifest: KubeProxyDaemonSet18,
|
manifest: KubeProxyDaemonSet18,
|
||||||
data: struct{ ImageRepository, Arch, Version, ImageOverride, ExtraParams, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{
|
data: struct{ ImageRepository, Arch, Version, ImageOverride, ClusterCIDR, MasterTaintKey, CloudTaintKey string }{
|
||||||
ImageRepository: "foo",
|
ImageRepository: "foo",
|
||||||
Arch: "foo",
|
Arch: "foo",
|
||||||
Version: "foo",
|
Version: "foo",
|
||||||
ImageOverride: "foo",
|
ImageOverride: "foo",
|
||||||
ExtraParams: "foo",
|
|
||||||
ClusterCIDR: "foo",
|
ClusterCIDR: "foo",
|
||||||
MasterTaintKey: "foo",
|
MasterTaintKey: "foo",
|
||||||
CloudTaintKey: "foo",
|
CloudTaintKey: "foo",
|
||||||
|
Reference in New Issue
Block a user