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
d12a92cc
Commit
d12a92cc
authored
Nov 16, 2017
by
fabriziopandini
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kubeadm-markmaster
parent
6a3d3a42
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
47 additions
and
8 deletions
+47
-8
markmaster.go
cmd/kubeadm/app/cmd/phases/markmaster.go
+46
-7
documentation.go
cmd/kubeadm/app/cmd/util/documentation.go
+1
-1
No files found.
cmd/kubeadm/app/cmd/phases/markmaster.go
View file @
d12a92cc
...
...
@@ -19,31 +19,70 @@ package phases
import
(
"github.com/spf13/cobra"
kubeadmapiext
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1"
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation"
cmdutil
"k8s.io/kubernetes/cmd/kubeadm/app/cmd/util"
markmasterphase
"k8s.io/kubernetes/cmd/kubeadm/app/phases/markmaster"
kubeadmutil
"k8s.io/kubernetes/cmd/kubeadm/app/util"
configutil
"k8s.io/kubernetes/cmd/kubeadm/app/util/config"
kubeconfigutil
"k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/util/normalizer"
)
var
(
markMasterLongDesc
=
normalizer
.
LongDesc
(
`
Applies a label that specifies that a node is a master and a taint that forces workloads to be deployed accordingly.
`
+
cmdutil
.
AlphaDisclaimer
)
markMasterExample
=
normalizer
.
Examples
(
`
# Applies master label and taint to the current node, functionally equivalent to what executed by kubeadm init.
kubeadm alpha phase mark-master
# Applies master label and taint to a specific node
kubeadm alpha phase mark-master --node-name myNode
`
)
)
// NewCmdMarkMaster returns the Cobra command for running the mark-master phase
func
NewCmdMarkMaster
()
*
cobra
.
Command
{
var
kubeConfigFile
string
cfg
:=
&
kubeadmapiext
.
MasterConfiguration
{
// KubernetesVersion is not used by mark master, but we set this explicitly to avoid
// the lookup of the version from the internet when executing ConfigFileAndDefaultsToInternalConfig
KubernetesVersion
:
"v1.9.0"
,
}
// Default values for the cobra help text
legacyscheme
.
Scheme
.
Default
(
cfg
)
var
cfgPath
,
kubeConfigFile
string
cmd
:=
&
cobra
.
Command
{
Use
:
"mark-master <node-name>"
,
Short
:
"Mark a node as master."
,
Use
:
"mark-master"
,
Short
:
"Mark a node as master"
,
Long
:
markMasterLongDesc
,
Example
:
markMasterExample
,
Aliases
:
[]
string
{
"markmaster"
},
RunE
:
func
(
_
*
cobra
.
Command
,
args
[]
string
)
error
{
err
:=
cmdutil
.
ValidateExactArgNumber
(
args
,
[]
string
{
"node-name"
})
Run
:
func
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
if
err
:=
validation
.
ValidateMixedArguments
(
cmd
.
Flags
());
err
!=
nil
{
kubeadmutil
.
CheckErr
(
err
)
}
// This call returns the ready-to-use configuration based on the configuration file that might or might not exist and the default cfg populated by flags
internalcfg
,
err
:=
configutil
.
ConfigFileAndDefaultsToInternalConfig
(
cfgPath
,
cfg
)
kubeadmutil
.
CheckErr
(
err
)
client
,
err
:=
kubeconfigutil
.
ClientSetFromFile
(
kubeConfigFile
)
kubeadmutil
.
CheckErr
(
err
)
nodeName
:=
args
[
0
]
return
markmasterphase
.
MarkMaster
(
client
,
nodeName
)
err
=
markmasterphase
.
MarkMaster
(
client
,
internalcfg
.
NodeName
)
kubeadmutil
.
CheckErr
(
err
)
},
}
cmd
.
Flags
()
.
StringVar
(
&
kubeConfigFile
,
"kubeconfig"
,
"/etc/kubernetes/admin.conf"
,
"The KubeConfig file to use when talking to the cluster"
)
cmd
.
Flags
()
.
StringVar
(
&
cfgPath
,
"config"
,
cfgPath
,
"Path to kubeadm config file (WARNING: Usage of a configuration file is experimental)"
)
cmd
.
Flags
()
.
StringVar
(
&
cfg
.
NodeName
,
"node-name"
,
cfg
.
NodeName
,
`The node name to which label and taints should apply`
)
return
cmd
}
cmd/kubeadm/app/cmd/util/documentation.go
View file @
d12a92cc
...
...
@@ -23,7 +23,7 @@ import (
var
(
// AlphaDisclaimer to be places at the end of description of commands in alpha release
AlphaDisclaimer
=
`
Alpha Disclaimer: this command is currently alpha
but, please try it out and give us feedback!
Alpha Disclaimer: this command is currently alpha
.
`
// MacroCommandLongDescription provide a standard description for "macro" commands
...
...
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