// NewSchedulerServer creates a new SchedulerServer with default parameters func NewSchedulerServer() *SchedulerServer { s := SchedulerServer{ port: ports.SchedulerPort, address: net.ParseIP("127.0.0.1"), failoverTimeout: time.Duration((1 << 62) - 1).Seconds(), frameworkStoreURI: "etcd://", kubeAPIQPS: 50.0, kubeAPIBurst: 100, runProxy: true, executorSuicideTimeout: execcfg.DefaultSuicideTimeout, launchGracePeriod: execcfg.DefaultLaunchGracePeriod, defaultContainerCPULimit: resources.DefaultDefaultContainerCPULimit, defaultContainerMemLimit: resources.DefaultDefaultContainerMemLimit, proxyMode: "userspace", // upstream default is "iptables" post-v1.1 minionLogMaxSize: minioncfg.DefaultLogMaxSize(), minionLogMaxBackups: minioncfg.DefaultLogMaxBackups, minionLogMaxAgeInDays: minioncfg.DefaultLogMaxAgeInDays, mesosAuthProvider: sasl.ProviderName, mesosCgroupPrefix: minioncfg.DefaultCgroupPrefix, mesosMaster: defaultMesosMaster, mesosUser: defaultMesosUser, mesosExecutorCPUs: defaultExecutorCPUs, mesosExecutorMem: defaultExecutorMem, frameworkRoles: strings.Split(defaultFrameworkRoles, ","), defaultPodRoles: strings.Split(defaultPodRoles, ","), reconcileInterval: defaultReconcileInterval, reconcileCooldown: defaultReconcileCooldown, checkpoint: true, frameworkName: defaultFrameworkName, ha: false, mux: http.NewServeMux(), kubeletCadvisorPort: 4194, // copied from github.com/GoogleCloudPlatform/kubernetes/blob/release-0.14/cmd/kubelet/app/server.go kubeletSyncFrequency: 10 * time.Second, kubeletEnableDebuggingHandlers: true, containPodResources: true, nodeRelistPeriod: defaultNodeRelistPeriod, conntrackTCPTimeoutEstablished: 0, // non-zero values may require hand-tuning other sysctl's on the host; do so with caution useHostPortEndpoints: true, // non-zero values can trigger failures when updating /sys/module/nf_conntrack/parameters/hashsize // when kube-proxy is running in a non-root netns (init_net); setting this to a non-zero value will // impact connection tracking for the entire host on which kube-proxy is running. xref (k8s#19182) conntrackMax: 0, } // cache this for later use. also useful in case the original binary gets deleted, e.g. // during upgrades, development deployments, etc. if filename, err := osext.Executable(); err != nil { log.Fatalf("failed to determine path to currently running executable: %v", err) } else { s.executable = filename s.kmPath = filename } return &s }
// NewSchedulerServer creates a new SchedulerServer with default parameters func NewSchedulerServer() *SchedulerServer { s := SchedulerServer{ port: ports.SchedulerPort, address: net.ParseIP("127.0.0.1"), failoverTimeout: time.Duration((1 << 62) - 1).Seconds(), runProxy: true, executorSuicideTimeout: execcfg.DefaultSuicideTimeout, launchGracePeriod: execcfg.DefaultLaunchGracePeriod, defaultContainerCPULimit: mresource.DefaultDefaultContainerCPULimit, defaultContainerMemLimit: mresource.DefaultDefaultContainerMemLimit, proxyMode: "userspace", // upstream default is "iptables" post-v1.1 minionLogMaxSize: minioncfg.DefaultLogMaxSize(), minionLogMaxBackups: minioncfg.DefaultLogMaxBackups, minionLogMaxAgeInDays: minioncfg.DefaultLogMaxAgeInDays, mesosAuthProvider: sasl.ProviderName, mesosCgroupPrefix: minioncfg.DefaultCgroupPrefix, mesosMaster: defaultMesosMaster, mesosUser: defaultMesosUser, mesosExecutorCPUs: defaultExecutorCPUs, mesosExecutorMem: defaultExecutorMem, frameworkRoles: strings.Split(defaultFrameworkRoles, ","), defaultPodRoles: strings.Split(defaultPodRoles, ","), reconcileInterval: defaultReconcileInterval, reconcileCooldown: defaultReconcileCooldown, checkpoint: true, frameworkName: defaultFrameworkName, ha: false, mux: http.NewServeMux(), kubeletCadvisorPort: 4194, // copied from github.com/GoogleCloudPlatform/kubernetes/blob/release-0.14/cmd/kubelet/app/server.go kubeletSyncFrequency: 10 * time.Second, kubeletEnableDebuggingHandlers: true, containPodResources: true, nodeRelistPeriod: defaultNodeRelistPeriod, } // cache this for later use. also useful in case the original binary gets deleted, e.g. // during upgrades, development deployments, etc. if filename, err := osext.Executable(); err != nil { log.Fatalf("failed to determine path to currently running executable: %v", err) } else { s.executable = filename s.kmPath = filename } return &s }
// NewSchedulerServer creates a new SchedulerServer with default parameters func NewSchedulerServer() *SchedulerServer { s := SchedulerServer{ Port: ports.SchedulerPort, Address: net.ParseIP("127.0.0.1"), FailoverTimeout: time.Duration((1 << 62) - 1).Seconds(), RunProxy: true, ExecutorSuicideTimeout: execcfg.DefaultSuicideTimeout, LaunchGracePeriod: execcfg.DefaultLaunchGracePeriod, DefaultContainerCPULimit: mresource.DefaultDefaultContainerCPULimit, DefaultContainerMemLimit: mresource.DefaultDefaultContainerMemLimit, MinionLogMaxSize: minioncfg.DefaultLogMaxSize(), MinionLogMaxBackups: minioncfg.DefaultLogMaxBackups, MinionLogMaxAgeInDays: minioncfg.DefaultLogMaxAgeInDays, MesosAuthProvider: sasl.ProviderName, MesosCgroupPrefix: minioncfg.DefaultCgroupPrefix, MesosMaster: defaultMesosMaster, MesosUser: defaultMesosUser, MesosExecutorCPUs: defaultExecutorCPUs, MesosExecutorMem: defaultExecutorMem, ReconcileInterval: defaultReconcileInterval, ReconcileCooldown: defaultReconcileCooldown, Checkpoint: true, FrameworkName: defaultFrameworkName, HA: false, mux: http.NewServeMux(), KubeletCadvisorPort: 4194, // copied from github.com/GoogleCloudPlatform/kubernetes/blob/release-0.14/cmd/kubelet/app/server.go KubeletSyncFrequency: 10 * time.Second, ContainPodResources: true, AccountForPodResources: true, nodeRelistPeriod: defaultNodeRelistPeriod, } // cache this for later use. also useful in case the original binary gets deleted, e.g. // during upgrades, development deployments, etc. if filename, err := osext.Executable(); err != nil { log.Fatalf("failed to determine path to currently running executable: %v", err) } else { s.executable = filename s.KMPath = filename } return &s }
// NewMinionServer creates the MinionServer struct with default values to be used by hyperkube func NewMinionServer() *MinionServer { s := &MinionServer{ KubeletExecutorServer: exservice.NewKubeletExecutorServer(), privateMountNS: false, // disabled until Docker supports customization of the parent mount namespace cgroupPrefix: config.DefaultCgroupPrefix, logMaxSize: config.DefaultLogMaxSize(), logMaxBackups: config.DefaultLogMaxBackups, logMaxAgeInDays: config.DefaultLogMaxAgeInDays, runProxy: true, } // cache this for later use binary, err := osext.Executable() if err != nil { log.Fatalf("failed to determine currently running executable: %v", err) } s.kmBinary = binary return s }