Commit 01b928cd authored by fabriziopandini's avatar fabriziopandini

kubeadm-doc-preflight

parent 746e7f98
...@@ -40,7 +40,7 @@ func NewKubeadmCommand(_ io.Reader, out, err io.Writer) *cobra.Command { ...@@ -40,7 +40,7 @@ func NewKubeadmCommand(_ io.Reader, out, err io.Writer) *cobra.Command {
kubeadm: easily bootstrap a secure Kubernetes cluster. kubeadm: easily bootstrap a secure Kubernetes cluster.
┌──────────────────────────────────────────────────────────┐ ┌──────────────────────────────────────────────────────────┐
│ KUBEADM IS BETA, DO NOT USE IT FOR PRODUCTION CLUSTERS! │ KUBEADM IS CURRENTLY IN BETA
│ │ │ │
│ But please, try it out and give us feedback at: │ │ But please, try it out and give us feedback at: │
│ https://github.com/kubernetes/kubeadm/issues │ │ https://github.com/kubernetes/kubeadm/issues │
......
...@@ -218,7 +218,7 @@ func AddInitOtherFlags(flagSet *flag.FlagSet, cfgPath *string, skipPreFlight, sk ...@@ -218,7 +218,7 @@ func AddInitOtherFlags(flagSet *flag.FlagSet, cfgPath *string, skipPreFlight, sk
// NewInit validates given arguments and instantiates Init struct with provided information. // NewInit validates given arguments and instantiates Init struct with provided information.
func NewInit(cfgPath string, cfg *kubeadmapi.MasterConfiguration, skipPreFlight, skipTokenPrint, dryRun bool, criSocket string) (*Init, error) { func NewInit(cfgPath string, cfg *kubeadmapi.MasterConfiguration, skipPreFlight, skipTokenPrint, dryRun bool, criSocket string) (*Init, error) {
fmt.Println("[kubeadm] WARNING: kubeadm is in beta. Please do not use it for production clusters!") fmt.Println("[kubeadm] WARNING: kubeadm is currently in beta")
if cfgPath != "" { if cfgPath != "" {
b, err := ioutil.ReadFile(cfgPath) b, err := ioutil.ReadFile(cfgPath)
......
...@@ -176,7 +176,7 @@ type Join struct { ...@@ -176,7 +176,7 @@ type Join struct {
// NewJoin instantiates Join struct with given arguments // NewJoin instantiates Join struct with given arguments
func NewJoin(cfgPath string, args []string, cfg *kubeadmapi.NodeConfiguration, skipPreFlight bool, criSocket string) (*Join, error) { func NewJoin(cfgPath string, args []string, cfg *kubeadmapi.NodeConfiguration, skipPreFlight bool, criSocket string) (*Join, error) {
fmt.Println("[kubeadm] WARNING: kubeadm is in beta. Please do not use it for production clusters!") fmt.Println("[kubeadm] WARNING: kubeadm is currently in beta")
if cfg.NodeName == "" { if cfg.NodeName == "" {
cfg.NodeName = nodeutil.GetHostname("") cfg.NodeName = nodeutil.GetHostname("")
......
...@@ -47,6 +47,7 @@ go_library( ...@@ -47,6 +47,7 @@ go_library(
"//cmd/kubeadm/app/util/config:go_default_library", "//cmd/kubeadm/app/util/config:go_default_library",
"//cmd/kubeadm/app/util/kubeconfig:go_default_library", "//cmd/kubeadm/app/util/kubeconfig:go_default_library",
"//pkg/api/legacyscheme:go_default_library", "//pkg/api/legacyscheme:go_default_library",
"//pkg/util/normalizer:go_default_library",
"//vendor/github.com/spf13/cobra:go_default_library", "//vendor/github.com/spf13/cobra:go_default_library",
"//vendor/k8s.io/client-go/kubernetes:go_default_library", "//vendor/k8s.io/client-go/kubernetes:go_default_library",
"//vendor/k8s.io/utils/exec:go_default_library", "//vendor/k8s.io/utils/exec:go_default_library",
......
...@@ -22,15 +22,37 @@ import ( ...@@ -22,15 +22,37 @@ import (
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util"
"k8s.io/kubernetes/cmd/kubeadm/app/preflight" "k8s.io/kubernetes/cmd/kubeadm/app/preflight"
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
"k8s.io/kubernetes/pkg/util/normalizer"
utilsexec "k8s.io/utils/exec" utilsexec "k8s.io/utils/exec"
) )
var (
masterPreflightLongDesc = normalizer.LongDesc(`
Run master pre-flight checks, functionally equivalent to what implemented by kubeadm init.
` + cmdutil.AlphaDisclaimer)
masterPreflightExample = normalizer.Examples(`
# Run master pre-flight checks.
kubeadm alpha phase preflight master
`)
nodePreflightLongDesc = normalizer.LongDesc(`
Run node pre-flight checks, functionally equivalent to what implemented by kubeadm join.
` + cmdutil.AlphaDisclaimer)
nodePreflightExample = normalizer.Examples(`
# Run node pre-flight checks.
kubeadm alpha phase preflight node
`)
)
// NewCmdPreFlight calls cobra.Command for preflight checks // NewCmdPreFlight calls cobra.Command for preflight checks
func NewCmdPreFlight() *cobra.Command { func NewCmdPreFlight() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "preflight", Use: "preflight",
Short: "Run pre-flight checks", Short: "Run pre-flight checks",
RunE: cmdutil.SubCmdRunE("preflight"), Long: cmdutil.MacroCommandLongDescription,
} }
cmd.AddCommand(NewCmdPreFlightMaster()) cmd.AddCommand(NewCmdPreFlightMaster())
...@@ -41,12 +63,15 @@ func NewCmdPreFlight() *cobra.Command { ...@@ -41,12 +63,15 @@ func NewCmdPreFlight() *cobra.Command {
// NewCmdPreFlightMaster calls cobra.Command for master preflight checks // NewCmdPreFlightMaster calls cobra.Command for master preflight checks
func NewCmdPreFlightMaster() *cobra.Command { func NewCmdPreFlightMaster() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "master", Use: "master",
Short: "Run master pre-flight checks.", Short: "Run master pre-flight checks",
RunE: func(cmd *cobra.Command, args []string) error { Long: masterPreflightLongDesc,
Example: masterPreflightExample,
Run: func(cmd *cobra.Command, args []string) {
cfg := &kubeadmapi.MasterConfiguration{} cfg := &kubeadmapi.MasterConfiguration{}
criSocket := "" criSocket := ""
return preflight.RunInitMasterChecks(utilsexec.New(), cfg, criSocket) err := preflight.RunInitMasterChecks(utilsexec.New(), cfg, criSocket)
kubeadmutil.CheckErr(err)
}, },
} }
...@@ -56,12 +81,15 @@ func NewCmdPreFlightMaster() *cobra.Command { ...@@ -56,12 +81,15 @@ func NewCmdPreFlightMaster() *cobra.Command {
// NewCmdPreFlightNode calls cobra.Command for node preflight checks // NewCmdPreFlightNode calls cobra.Command for node preflight checks
func NewCmdPreFlightNode() *cobra.Command { func NewCmdPreFlightNode() *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "node", Use: "node",
Short: "Run node pre-flight checks.", Short: "Run node pre-flight checks",
RunE: func(cmd *cobra.Command, args []string) error { Long: nodePreflightLongDesc,
Example: nodePreflightExample,
Run: func(cmd *cobra.Command, args []string) {
cfg := &kubeadmapi.NodeConfiguration{} cfg := &kubeadmapi.NodeConfiguration{}
criSocket := "" criSocket := ""
return preflight.RunJoinNodeChecks(utilsexec.New(), cfg, criSocket) err := preflight.RunJoinNodeChecks(utilsexec.New(), cfg, criSocket)
kubeadmutil.CheckErr(err)
}, },
} }
......
...@@ -2,10 +2,16 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") ...@@ -2,10 +2,16 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
go_library( go_library(
name = "go_default_library", name = "go_default_library",
srcs = ["cmdutil.go"], srcs = [
"cmdutil.go",
"documentation.go",
],
importpath = "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util", importpath = "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util",
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
deps = ["//vendor/github.com/spf13/cobra:go_default_library"], deps = [
"//pkg/util/normalizer:go_default_library",
"//vendor/github.com/spf13/cobra:go_default_library",
],
) )
go_test( go_test(
......
...@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and ...@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package phases package util
import ( import (
"fmt" "fmt"
......
...@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and ...@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package phases package util
import ( import (
"testing" "testing"
......
/*
Copyright 2017 The Kubernetes Authors.
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 util
import (
"k8s.io/kubernetes/pkg/util/normalizer"
)
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!
`
// MacroCommandLongDescription provide a standard description for "macro" commands
MacroCommandLongDescription = normalizer.LongDesc(`
This command is not meant to be run on its own. See list of available subcommands.
`)
)
...@@ -28,6 +28,7 @@ import ( ...@@ -28,6 +28,7 @@ import (
// Run creates and executes new kubeadm command // Run creates and executes new kubeadm command
func Run() error { func Run() error {
// We do not want these flags to show up in --help // We do not want these flags to show up in --help
pflag.CommandLine.MarkHidden("version")
pflag.CommandLine.MarkHidden("google-json-key") pflag.CommandLine.MarkHidden("google-json-key")
pflag.CommandLine.MarkHidden("log-flush-frequency") pflag.CommandLine.MarkHidden("log-flush-frequency")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment