diff --git a/cmd/kube-proxy/app/options/options.go b/cmd/kube-proxy/app/options/options.go index 12bfa195ec1..abd2d8a5d06 100644 --- a/cmd/kube-proxy/app/options/options.go +++ b/cmd/kube-proxy/app/options/options.go @@ -22,8 +22,8 @@ import ( "time" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/componentconfig" + "k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1" "k8s.io/kubernetes/pkg/kubelet/qos" "k8s.io/kubernetes/pkg/util" @@ -48,21 +48,13 @@ type ProxyServerConfig struct { } func NewProxyConfig() *ProxyServerConfig { + config := componentconfig.KubeProxyConfiguration{} + api.Scheme.Convert(&v1alpha1.KubeProxyConfiguration{}, &config) return &ProxyServerConfig{ - KubeProxyConfiguration: componentconfig.KubeProxyConfiguration{ - BindAddress: "0.0.0.0", - HealthzPort: 10249, - HealthzBindAddress: "127.0.0.1", - OOMScoreAdj: util.IntPtr(qos.KubeProxyOOMScoreAdj), - ResourceContainer: "/kube-proxy", - IPTablesSyncPeriod: unversioned.Duration{30 * time.Second}, - UDPIdleTimeout: unversioned.Duration{250 * time.Millisecond}, - ConntrackMax: 256 * 1024, // 4x default (64k) - ConntrackTCPEstablishedTimeout: unversioned.Duration{Duration: 24 * time.Hour}, // 1 day (1/5 default) - }, - KubeAPIQPS: 5.0, - KubeAPIBurst: 10, - ConfigSyncPeriod: 15 * time.Minute, + KubeProxyConfiguration: config, + KubeAPIQPS: 5.0, + KubeAPIBurst: 10, + ConfigSyncPeriod: 15 * time.Minute, } } diff --git a/pkg/apis/componentconfig/v1alpha1/defaults.go b/pkg/apis/componentconfig/v1alpha1/defaults.go index 0ce963f9263..aa6b2e5ee5c 100644 --- a/pkg/apis/componentconfig/v1alpha1/defaults.go +++ b/pkg/apis/componentconfig/v1alpha1/defaults.go @@ -40,8 +40,21 @@ func addDefaultingFuncs(scheme *runtime.Scheme) { temp := int32(qos.KubeProxyOOMScoreAdj) obj.OOMScoreAdj = &temp } + if obj.ResourceContainer == "" { + obj.ResourceContainer = "/kube-proxy" + } if obj.IPTablesSyncPeriod.Duration == 0 { - obj.IPTablesSyncPeriod = unversioned.Duration{5 * time.Second} + obj.IPTablesSyncPeriod = unversioned.Duration{30 * time.Second} + } + zero := unversioned.Duration{} + if obj.UDPIdleTimeout == zero { + obj.UDPIdleTimeout = unversioned.Duration{250 * time.Millisecond} + } + if obj.ConntrackMax == 0 { + obj.ConntrackMax = 256 * 1024 // 4x default (64k) + } + if obj.ConntrackTCPEstablishedTimeout == zero { + obj.ConntrackTCPEstablishedTimeout = unversioned.Duration{Duration: 24 * time.Hour} // 1 day (1/5 default) } }, )