Merge pull request #20542 from mikedanese/kube-proxy-defaulting

componentconfig: move kube proxy defaulting into the exetrnal api
pull/6/head
Daniel Smith 2016-02-05 15:51:12 -08:00
commit 5fe99f44c8
2 changed files with 21 additions and 16 deletions

View File

@ -22,8 +22,8 @@ import (
"time" "time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/apis/componentconfig"
"k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1"
"k8s.io/kubernetes/pkg/kubelet/qos" "k8s.io/kubernetes/pkg/kubelet/qos"
"k8s.io/kubernetes/pkg/util" "k8s.io/kubernetes/pkg/util"
@ -48,21 +48,13 @@ type ProxyServerConfig struct {
} }
func NewProxyConfig() *ProxyServerConfig { func NewProxyConfig() *ProxyServerConfig {
config := componentconfig.KubeProxyConfiguration{}
api.Scheme.Convert(&v1alpha1.KubeProxyConfiguration{}, &config)
return &ProxyServerConfig{ return &ProxyServerConfig{
KubeProxyConfiguration: componentconfig.KubeProxyConfiguration{ KubeProxyConfiguration: config,
BindAddress: "0.0.0.0", KubeAPIQPS: 5.0,
HealthzPort: 10249, KubeAPIBurst: 10,
HealthzBindAddress: "127.0.0.1", ConfigSyncPeriod: 15 * time.Minute,
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,
} }
} }

View File

@ -42,8 +42,21 @@ func addDefaultingFuncs(scheme *runtime.Scheme) {
temp := int32(qos.KubeProxyOOMScoreAdj) temp := int32(qos.KubeProxyOOMScoreAdj)
obj.OOMScoreAdj = &temp obj.OOMScoreAdj = &temp
} }
if obj.ResourceContainer == "" {
obj.ResourceContainer = "/kube-proxy"
}
if obj.IPTablesSyncPeriod.Duration == 0 { 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)
} }
}, },
func(obj *KubeSchedulerConfiguration) { func(obj *KubeSchedulerConfiguration) {