Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
622a28c0
Commit
622a28c0
authored
Mar 15, 2016
by
James DeFelice
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
forward globally declared cadvisor housekeeping flags
parent
bf1bb5d3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
68 additions
and
2 deletions
+68
-2
cadvisor.go
contrib/mesos/pkg/flagutil/cadvisor.go
+51
-0
server.go
contrib/mesos/pkg/minion/server.go
+12
-2
service.go
contrib/mesos/pkg/scheduler/service/service.go
+5
-0
No files found.
contrib/mesos/pkg/flagutil/cadvisor.go
0 → 100644
View file @
622a28c0
/*
Copyright 2016 The Kubernetes Authors All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
flagutil
import
(
"flag"
// TODO(jdef) kill this once cadvisor flags are no longer configured by
// global variables. Importing it this way guarantees that the global flag
// variables are initialized.
_
"github.com/google/cadvisor/manager"
// kubelet attempts to customize default values for some cadvisor flags, so
// make sure that we pick these up.
_
"k8s.io/kubernetes/pkg/kubelet/cadvisor"
)
// FlagFunc retrieves a specific flag instance; returns nil if the flag is not configured.
type
FlagFunc
func
()
*
flag
.
Flag
// NameValue returns the name and value of a flag, if it exists, otherwise empty strings.
func
(
ff
FlagFunc
)
NameValue
()
(
name
,
value
string
)
{
if
f
:=
ff
();
f
!=
nil
{
name
,
value
=
f
.
Name
,
f
.
Value
.
String
()
}
return
}
func
flagFunc
(
name
string
)
FlagFunc
{
return
func
()
*
flag
.
Flag
{
return
flag
.
Lookup
(
name
)
}
}
// Cadvisor fields return the configured values of cadvisor global flags
var
Cadvisor
=
struct
{
HousekeepingInterval
FlagFunc
GlobalHousekeepingInterval
FlagFunc
}{
flagFunc
(
"housekeeping_interval"
),
flagFunc
(
"global_housekeeping_interval"
),
}
contrib/mesos/pkg/minion/server.go
View file @
622a28c0
...
@@ -33,6 +33,7 @@ import (
...
@@ -33,6 +33,7 @@ import (
"gopkg.in/natefinch/lumberjack.v2"
"gopkg.in/natefinch/lumberjack.v2"
kubeletapp
"k8s.io/kubernetes/cmd/kubelet/app"
kubeletapp
"k8s.io/kubernetes/cmd/kubelet/app"
exservice
"k8s.io/kubernetes/contrib/mesos/pkg/executor/service"
exservice
"k8s.io/kubernetes/contrib/mesos/pkg/executor/service"
"k8s.io/kubernetes/contrib/mesos/pkg/flagutil"
"k8s.io/kubernetes/contrib/mesos/pkg/hyperkube"
"k8s.io/kubernetes/contrib/mesos/pkg/hyperkube"
"k8s.io/kubernetes/contrib/mesos/pkg/minion/config"
"k8s.io/kubernetes/contrib/mesos/pkg/minion/config"
"k8s.io/kubernetes/contrib/mesos/pkg/minion/tasks"
"k8s.io/kubernetes/contrib/mesos/pkg/minion/tasks"
...
@@ -177,9 +178,18 @@ func (ms *MinionServer) launchExecutorServer(containerID string) <-chan struct{}
...
@@ -177,9 +178,18 @@ func (ms *MinionServer) launchExecutorServer(containerID string) <-chan struct{}
// disable resource-container; mesos slave doesn't like sub-containers yet
// disable resource-container; mesos slave doesn't like sub-containers yet
executorArgs
=
append
(
executorArgs
,
"--kubelet-cgroups="
)
executorArgs
=
append
(
executorArgs
,
"--kubelet-cgroups="
)
if
ms
.
cgroupRoot
!=
""
{
executorArgs
=
append
(
executorArgs
,
"--cgroup-root="
+
ms
.
cgroupRoot
)
appendOptional
:=
func
(
name
,
value
string
)
{
if
value
!=
""
{
executorArgs
=
append
(
executorArgs
,
"--"
+
name
+
"="
+
value
)
}
}
}
appendOptional
(
"cgroup-root"
,
ms
.
cgroupRoot
)
// forward global cadvisor flag values to the executor
// TODO(jdef) remove this code once cadvisor global flags have been cleaned up
appendOptional
(
flagutil
.
Cadvisor
.
HousekeepingInterval
.
NameValue
())
appendOptional
(
flagutil
.
Cadvisor
.
GlobalHousekeepingInterval
.
NameValue
())
// forward containerID so that the executor may pass it along to containers that it launches
// forward containerID so that the executor may pass it along to containers that it launches
var
ctidOpt
tasks
.
Option
var
ctidOpt
tasks
.
Option
...
...
contrib/mesos/pkg/scheduler/service/service.go
View file @
622a28c0
...
@@ -50,6 +50,7 @@ import (
...
@@ -50,6 +50,7 @@ import (
"k8s.io/kubernetes/contrib/mesos/pkg/election"
"k8s.io/kubernetes/contrib/mesos/pkg/election"
execcfg
"k8s.io/kubernetes/contrib/mesos/pkg/executor/config"
execcfg
"k8s.io/kubernetes/contrib/mesos/pkg/executor/config"
"k8s.io/kubernetes/contrib/mesos/pkg/flagutil"
"k8s.io/kubernetes/contrib/mesos/pkg/hyperkube"
"k8s.io/kubernetes/contrib/mesos/pkg/hyperkube"
minioncfg
"k8s.io/kubernetes/contrib/mesos/pkg/minion/config"
minioncfg
"k8s.io/kubernetes/contrib/mesos/pkg/minion/config"
"k8s.io/kubernetes/contrib/mesos/pkg/podutil"
"k8s.io/kubernetes/contrib/mesos/pkg/podutil"
...
@@ -495,6 +496,10 @@ func (s *SchedulerServer) prepareExecutorInfo(hks hyperkube.Interface) (*mesos.E
...
@@ -495,6 +496,10 @@ func (s *SchedulerServer) prepareExecutorInfo(hks hyperkube.Interface) (*mesos.E
appendOptional
(
"host-network-sources"
,
s
.
kubeletHostNetworkSources
)
appendOptional
(
"host-network-sources"
,
s
.
kubeletHostNetworkSources
)
appendOptional
(
"network-plugin"
,
s
.
kubeletNetworkPluginName
)
appendOptional
(
"network-plugin"
,
s
.
kubeletNetworkPluginName
)
// TODO(jdef) this code depends on poorly scoped cadvisor flags, will need refactoring soon
appendOptional
(
flagutil
.
Cadvisor
.
HousekeepingInterval
.
NameValue
())
appendOptional
(
flagutil
.
Cadvisor
.
GlobalHousekeepingInterval
.
NameValue
())
log
.
V
(
1
)
.
Infof
(
"prepared executor command %q with args '%+v'"
,
ci
.
GetValue
(),
ci
.
Arguments
)
log
.
V
(
1
)
.
Infof
(
"prepared executor command %q with args '%+v'"
,
ci
.
GetValue
(),
ci
.
Arguments
)
// Create mesos scheduler driver.
// Create mesos scheduler driver.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment