Commit Graph

446 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
098075c458
Merge pull request #74797 from fabriziopandini/fix-go-vet-1.12
kubeadm fix for go vet 1.12
2019-03-01 12:49:18 -08:00
fabriziopandini
d0d843c588 fix-go-vet-1.12 2019-03-01 15:13:17 +01:00
peibingit
d41ad755c1
Update types.go 2019-03-01 12:03:12 +08:00
Rafael Fernández López
d30b14d586
kubeadm: Implement certificate download for join
This implements the certificate download for the join process. If certificates
have been uploaded during init (or explicitly on any master node) and the secret
is still present in the cluster, the join process will try to download the secret
data, decrypting it with the provided key in the new `--certificate-key` flag.
2019-02-26 22:00:11 +01:00
Kubernetes Prow Robot
6de09f69cb
Merge pull request #74584 from cqy0532/fixtypo
fix typo kubeadm joiń -> kubeadm join
2019-02-26 06:38:34 -08:00
cqy0532
0a0fea60a0 fix typo kubeadm joiń -> kubeadm join 2019-02-26 17:26:41 +08:00
zhouxiaoning
802c751053 纠正join 2019-02-26 09:10:00 +08:00
Ed Bartosh
f8d235be9e kubeadm: fix url validation code
Fixed nil pointer dereference in url validation code that
caused kubeamd panic:

  panic: runtime error: invalid memory address or nil pointer dereference
  [signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0xa7930c]

  goroutine 1 [running]:
  kubeadm/validation.ValidateURLs(0x40000bafe0, 0x2, 0x2, 0x1, 0x40002967b0, 0x0, 0x40002967b0, 0xf302a0)
    kubeadm/validation/validation.go:324 +0xcc
  kubeadm/validation.ValidateEtcd(0x400000b490, 0x4000296720, 0x0, 0x0, 0x0)
    kubeadm/validation/validation.go:291 +0x1f0
      ...

Fixes: kubernetes/kubeadm#1419

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2019-02-23 16:48:22 +01:00
Yago Nobre
79fd5f25a7 Add kubeadm init upload encrypted certs phase 2019-02-19 02:52:21 -03:00
vanduc95
46247b2c93 kubeadm cleanup: master -> control-plane (cont.) 2019-02-15 06:49:31 +07:00
Ted Yu
71134a0d05 Use Set to check whether flag name is allowed flag
Signed-off-by: Ted Yu <yute@vmware.com>
2019-02-13 13:01:21 -08:00
Yago Nobre
277dfbbdeb Add --kubeconfig-dir to validate mixed arguments whitelist, and refactor ValidateMixedArguments 2019-02-13 04:06:26 -02:00
Rostislav M. Georgiev
f97770b175 kubeadm: Detect CRIs automatically
In order to allow for a smoother UX with CRIs different than Docker, we have to
make the --cri-socket command line flag optional when just one CRI is
installed.

This change does that by doing the following:

- Introduce a new runtime function (DetectCRISocket) that will attempt to
  detect a CRI socket, or return an appropriate error.
- Default to using the above function if --cri-socket is not specified and
  CRISocket in NodeRegistrationOptions is empty.
- Stop static defaulting to DefaultCRISocket. And rename it to
  DefaultDockerCRISocket. Its use is now narrowed to "Docker or not"
  distinguishment and tests.
- Introduce AddCRISocketFlag function that adds --cri-socket flag to a flagSet.
  Use that in all commands, that support --cri-socket.
- Remove the deprecated --cri-socket-path flag from kubeadm config images pull
  and deprecate --cri-socket in kubeadm upgrade apply.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-01-21 16:12:04 +02:00
SataQiu
7bf6ff2ec1 print more error details about CertSANs validation 2019-01-20 08:42:09 +08:00
Kubernetes Prow Robot
a7cb03f4cf
Merge pull request #72463 from wnxn/kubeadm-typo
Fix typo cgroupDriver -> cgroup-driver
2019-01-02 10:11:51 -08:00
Kubernetes Prow Robot
02e6c18c56
Merge pull request #72443 from Zyqsempai/refactor-token-flag-names-into-const
Moved token related flags to constants.
2019-01-01 10:31:21 -08:00
Xin Wang
d50338c1ed Fix typo cgroupDriver -> cgroup-driver
Signed-off-by: Xin Wang <wileywang@yunify.com>
2019-01-01 19:46:18 +08:00
Boris
b9898eb2ad Token related flags refactored into constants.
Moved token related flags to constants.

Token related flags refactored into constants.

Moved token related flags to constants.

Used new Consts flags in api's validation

Build deps fix

Moved token related flags to constants.

Used new Consts flags in api's validation

Build deps fix

Lint fix

Lint BUILD
2019-01-01 03:46:19 +02:00
Ed Bartosh
d57ec59867 kubeadm: use T.Run API in app/apis/kubeadm
Used T.Run API for kubeadm tests in app/apis/kubeadm

This should improve testing output and make it more visible
which test is doing what.
2018-12-31 00:08:27 +02:00
Pablo Mercado
996845d9d9 replace proxy with kubelet at kubeadm v1beta1 docs 2018-12-09 08:51:34 +01:00
André Martins
5c1260b934 apis/kubeadm/v1beta1: fix typo in localApiEndpoint -> localAPIEndpoint
As localApiEndpoint is ignored by json.Unmarshaller this should be
localAPIEndpoint as defined in the json tag of the source code.

Signed-off-by: André Martins <aanm90@gmail.com>
2018-11-27 17:48:44 +01:00
Ed Bartosh
b4b4718fc1 kubeadm: override node registration options from command line
'kubeadm init' silently ignores --node-name and --cri-socket
command line options if --config option is specified.

Implemented setting 'name' and 'criSocket' options from the command
line even if --config command line option is used.
2018-11-21 21:39:07 +02:00
Lubomir I. Ivanov
bc6837ffe3 kubeadm: fix issues in the v1beta1 godoc
- make the whole config example actually pass strict verification
(i.e. make the config work with --config)
- add print init-defaults/join defaults
- other small fixes
2018-11-19 17:26:34 +02:00
k8s-ci-robot
e3ddaaad1d
Merge pull request #71045 from neolit123/kubeadm-go-docs-1.13
kubeadm: fix godocs indentation for v1beta1
2018-11-14 17:25:50 -08:00
Lubomir I. Ivanov
da49adb52f kubeadm: fix godocs indentation for v1beta1 2018-11-15 00:13:58 +02:00
Chuck Ha
02ec1e84b0
kubeadm: document required etcd configuration
Signed-off-by: Chuck Ha <ha.chuck@gmail.com>
2018-11-14 17:05:24 -05:00
Lubomir I. Ivanov
865904d0e1 kubeadm: update notes and example config in v1beta1 godocs 2018-11-13 23:52:42 +02:00
Yago Nobre
62c9303ecf
Remove DynamicKubeletConfig from init and join workflow, also remove DynamicKubeletConfig feature gate 2018-11-13 11:56:24 -02:00
Marek
064f74b2e8 fixes kubeadm 1221 to remove AuditPolicyConfiguration
Added conversion test and failure.
2018-11-12 14:33:26 -05:00
k8s-ci-robot
99811e2540
Merge pull request #70870 from fabriziopandini/kubeadm-config-JoinControlPlane
Kubeadm config refactor JoinControlPlane
2018-11-12 00:53:09 -08:00
fabriziopandini
fa161370f0 autogenerated 2018-11-10 17:37:00 +01:00
fabriziopandini
d484c8c087 kubeadm refactor joinControlPlane config 2018-11-10 17:36:49 +01:00
fabriziopandini
446d80693c autogenerated 2018-11-10 17:27:51 +01:00
fabriziopandini
6759334f6e add DNS struct to kubeadm config 2018-11-10 17:27:39 +01:00
k8s-ci-robot
d90f868c00
Merge pull request #70793 from rosti/use-hyperkube
kubeadm: UnifiedControlPlaneImage string -> UseHyperKubeImage bool
2018-11-09 14:31:28 -08:00
k8s-ci-robot
54fe139d4e
Merge pull request #70761 from luxas/rename_apiendpoint
kubeadm v1beta1: InitConfiguration.APIEndpoint -> LocalAPIEndpoint
2018-11-09 14:31:19 -08:00
Rostislav M. Georgiev
b551ad596a kubeadm: UnifiedControlPlaneImage -> UseHyperKubeImage
Up until now UnifiedControlPlaneImage existed as a string value as part of the
ClusterConfiguration. This provided an override for the Kubernetes core
component images with a single custom image. It is mostly used to override the
control plane images with the hyperkube image. This saves both bandwith and
disk space on the control plane nodes.
Unfortunately, this specified an entire image string (complete with its prefix,
image name and tag). This disables upgrades of setups that use hyperkube.
Therefore, to enable upgrades on hyperkube setups and to make configuration
more convenient, the UnifiedControlPlaneImage option is replaced with a boolean
option, called UseHyperKubeImage. If set to true, this option replaces the
image name of any Kubernetes core components with hyperkube, thus allowing for
upgrades and respecting the image repository and version, specified in the
ClusterConfiguration.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-11-09 17:35:20 +02:00
Lucas Käldström
48c273b07e
autogenerated 2018-11-09 14:47:58 +02:00
Lucas Käldström
5656338b6e
Update unit tests after the rename 2018-11-09 14:47:45 +02:00
Lucas Käldström
731bcdc864
kubeadm: InitConfiguration.APIEndpoint -> LocalAPIEndpoint 2018-11-09 14:47:21 +02:00
Rafael Fernández López
47b4e04842
kubeadm: Remove cluster name from JoinConfiguration 2018-11-08 23:29:52 +01:00
k8s-ci-robot
b2b25462c1
Merge pull request #70755 from ereslibre/remove-feature-gates-from-join-configuration
kubeadm: Remove feature gates from JoinConfiguration
2018-11-08 14:27:08 -08:00
Rafael Fernández López
fb88c199cd
kubeadm: Remove feature gates from JoinConfiguration
Relay on the feature gates provided by the ClusterConfiguration
when downloaded from the cluster during the join process.
2018-11-08 19:35:50 +01:00
Marek Counts
18dc529d05 Removed feature gates selfhosting, HA and store certs in secrets.
Added new alpha command to pivot to self hosted
Removed slelfhosting upgrade ability
Added warning message to self hosted pivot
added certs in secrets flag to new selfhosting comand
2018-11-07 11:44:54 -05:00
k8s-ci-robot
7ac1f8974b
Merge pull request #70635 from xichengliudui/fix18110202
Modify and update the comments
2018-11-05 14:20:20 -08:00
Rostislav M. Georgiev
eb6f7b1f17 kubeadm: Add configurable control plane up timeout
Until now the control plane timeout was fixed to 4 minutes and users did not
have the ability to change it. This commit allows that timeout to be configured
via the new `timeoutForControlPlane` option in the API server config (itself a
member of the ClusterConfiguration).

The default timeout is still 4 minutes.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-11-05 12:36:28 +02:00
xichengliudui
453197c3b7 Modify the wrong function name
Modify and update the comments

Modify and update the comments
2018-11-05 05:16:33 -05:00
Rostislav M. Georgiev
6c9e347e31 kubeadm: Writable to ReadOnly in HostPathMount
Writable was added to HostPathMount in v1alpha1 in order to control if an extra
volume is mounted in read only or writable mode.
Usually, in Kubernetes, this option is referred to as ReadOnly, instead of
Writable and is defaulted to `false`. However, at the time, all extra volumes
to pods were defaulted to read-only. Therefore, to avoid changes to existing
v1alpha1 configs, this option had to be added with reversed meaning.

Hence, it's called `writable`.

Now, with the migration towards v1beta1, we can safely change this to ReadOnly
and get it in sync with the reset of Kubernetes.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-11-02 18:02:06 +02:00
k8s-ci-robot
b83a947ee9
Merge pull request #70371 from rosti/control-plane-substructs
kubeadm: Control plane config moved to substructs
2018-11-02 08:38:47 -07:00
Rostislav M. Georgiev
d14c27a347 kubeadm: Control plane config moved to substructs
In v1alpha3's, control plane component config options were nested directly into
the ClusterConfiguration structure. This is cluttering the config structure and
makes it hard to maintain. Therefore the control plane config options must be
separated into different substructures in order to graduate the format to beta.

This change does the following:

- Introduces a new structure called ControlPlaneComponent, that contains fields
  common to all control plane component types. These are currently extra args
  and extra volumes.

- Introduce a new structure called APIServer that contains
  ControlPlaneComponent and APIServerCertSANs field (from ClusterConfiguration)

- Replace all API Server, Scheduler and Controller Manager options in
  ClusterConfiguration with APIServer, ControllerManager and Scheduler fields
  of APIServer and ControlPlaneComponent types.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-11-02 11:38:56 +02:00