Commit Graph

2102 Commits (54d6da853c69b545a91ca0b5913078595a51d31b)

Author SHA1 Message Date
Matt Kelly 054ccad2ec
Add back --cert-dir option for init phase certs sa 2019-01-24 12:40:22 -05:00
Rafael Fernández López 485d0cb131 kubeadm: wait for the etcd cluster to be available when growing it
When the etcd cluster grows we need to explicitly wait for it to be
available. This ensures that we are not implicitly doing this in
following steps when they try to access the apiserver.
2019-01-20 15:32:36 +02:00
Kubernetes Prow Robot 5ffe054998
Merge pull request #72153 from ereslibre/automated-cherry-pick-of-#72030-upstream-release-1.13
Automated cherry pick of #72030: Fix race condition when joining nodes
2018-12-28 04:02:19 -08:00
Kubernetes Prow Robot faa246de1e
Merge pull request #72126 from neolit123/automated-cherry-pick-of-#72123-origin-release-1.13
Automated cherry pick of #72123: kubeadm: fix nil check in join config creation
2018-12-28 04:02:13 -08:00
Rafael Fernández López becb2b753c
Fix race condition when joining nodes
Despite we were checking for the kubelet kubeconfig file to be present, the
kubelet first writes this file and then the certificates the kubeconfig file
refers to. This represents a race condition in kubeadm in which when we confirm
that the kubelet's kubeconfig file is present we continue creating a clientset
out of it. However, the clientset creation will ensure that the certificates the
kubeconfig file refers to exist on the filesystem.

To fix this problem, not only wait for the kubelet's kubeconfig file to be
present, but also ensure that we can create a clientset ouf of it on our polling
process, while we wait for the kubelet to have performed the TLS bootstrap.
2018-12-18 12:11:29 +01:00
Anit Gandhi 2f6bf9d3a2 kubeadm: fix nil check in join config creation 2018-12-17 22:22:11 +02:00
pytimer 83bc69b865 kubeadm: fixed etcd sync endpoints 2018-12-14 13:57:00 +08:00
Yago Nobre 90783e7c52
Use kubeconfig flag instead of kubeconfig-dir in kubeadm init phase bootstrap-token 2018-12-06 17:14:44 -02:00
k8s-ci-robot bb6101dfbb
Merge pull request #71385 from neolit123/kubeadm-fix-mark-control-plane-config
kubeadm: add missing --config flag to mark-control-plane phase
2018-11-24 09:29:49 -08:00
k8s-ci-robot 7098f1ad38
Merge pull request #71382 from yagonobre/fix-reset
Fix kubeadm reset in case of external etcd
2018-11-24 01:59:58 -08:00
Lubomir I. Ivanov a1a7ecaab3 kubeadm: add missing --config flag to mark-control-plane phase 2018-11-24 05:18:03 +02:00
Yago Nobre 52835fbc80
Fix kubeadm reset in case of external etcd 2018-11-23 16:27:00 -02:00
fabriziopandini 8a53031b4e Fix etcd connect for join --control-plane 2018-11-22 17:17:27 +01:00
k8s-ci-robot b6a0718858
Merge pull request #71323 from bart0sh/PR0043-kubeadm-init-use-commandline-options-with-config
kubeadm: override node registration options from command line (follow-up)
2018-11-22 01:46:51 -08: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
Rostislav M. Georgiev 037fb6103e kubeadm: config migrate handles more valid configs
kubeadm config migrate uses AnyConfigFileAndDefaultsToInternal, which can
unmarshal config from file only if InitConfiguration or JoinConfiguration are
present. Even with that in mind, it can only return a singlie config object,
with InitConfiguration taking precendence over JoinConfiguration. Thus, the
following cases were not handled properly, while they were perfectly valid for
kubeadm init/join:

- ClusterConfiguration only file caused kubeadm config migrate to exit with
  error.
- Init + Join configurations in the same file caused Init + Cluster
  configuration to be produced (ignoring JoinConfiguration). The same is valid
  when the combo is Init + Cluster + Join configurations.
- Cluster + Join configuration ignores ClusterConfiguration and only
  JoinConfiguration gets migrated.

To fix this, the following is done:
- Introduce MigrateOldConfigFromFile which migrates old config from a file,
  while ensuring that all kubeadm originated input config kinds are taken care
  of. Add comprehensive unit tests for this.
- Replace the use of AnyConfigFileAndDefaultsToInternal in
  kubeadm config migrate with MigrateOldConfigFromFile.
- Remove the no longer used and error prone AnyConfigFileAndDefaultsToInternal.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-11-21 13:18:39 +02:00
k8s-ci-robot 1431aeb45d
Merge pull request #71283 from Klaven/kubeadm_857
Updates to always pass spec.nodeName as --hostname-override
2018-11-20 17:31:24 -08:00
k8s-ci-robot aac9ee1793
Merge pull request #71259 from rosti/minver-bump-12
kubeadm: Bump minimum Kubernetes version to v1.12
2018-11-20 17:31:15 -08:00
k8s-ci-robot f8983a8988
Merge pull request #70633 from leblancd/kubeadm_etcd_v6_fix
Fix kubeadm etcd manifests to use brackets around IPv6 addrs
2018-11-20 15:34:24 -08:00
Marek Counts 5ad7e4ee09 Fixes kubeadm 857
updated manifest file to always pass spec.nodeName as the --hostname-override.
2018-11-20 17:44:26 -05:00
Ed Bartosh 012e46320b kubeadm: override node registration options from command line
'kubeadm join' silently ignores --node-name and --cri-socket
command line options if --config option is specified.

In some cases it's much easier for users to override these parameters
from the command line instead of updating config, especially for
multi-node automatic deployments where only node name should be changed.

Implemented setting 'name' and 'criSocket' options from the command
line even if --config command line option is used.
2018-11-20 16:26:57 +02:00
Rostislav M. Georgiev aa414e139e kubeadm: Bump minimum Kubernetes version to v1.12
Bump MinimumControlPlaneVersion and MinimumKubeletVersion to v1.12 and update
any related tests.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-11-20 16:21:49 +02:00
k8s-ci-robot 50e02fd0cc
Merge pull request #71229 from chuckha/etcd-server
kubeadm: adds etcd server version for 1.13
2018-11-19 16:25:42 -08:00
k8s-ci-robot 956dcdd4ca
Merge pull request #71232 from liztio/sparse-cert-creation
Sparse cert creation for `kubeadm init`
2018-11-19 15:07:32 -08:00
liz 2f14e1801e
`kubeadm init` supports sparse certificates 2018-11-19 16:55:16 -05:00
k8s-ci-robot 16d6daf520
Merge pull request #71219 from neolit123/kubeadm-go-docs-1.13
kubeadm: fix issues in the v1beta1 godoc
2018-11-19 13:03:25 -08:00
liz 9e8228f14a
Move some test functions into test utils 2018-11-19 14:38:10 -05:00
Chuck Ha 679d4397cf
kubeadm: adds etcd server version for 1.13
Signed-off-by: Chuck Ha <ha.chuck@gmail.com>
2018-11-19 14:34:00 -05:00
Yago Nobre c185836e64
Add flags to kubeadm init phase uploadconfig all 2018-11-19 14:02:29 -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
liz 440a5ad7cb
Don't allow --csr-only for CA certs or all 2018-11-16 15:22:37 -08:00
k8s-ci-robot f4fd7b0b2b
Merge pull request #71069 from fabriziopandini/kubeadm-phases-add-all-subcommands
Kubeadm - add all subcommands to phases
2018-11-16 15:17:03 -08:00
k8s-ci-robot fab7009997
Merge pull request #71135 from luxas/kubeadm_repo_flag
kubeadm: Allow customizing the image repository via flags
2018-11-16 13:20:16 -08:00
Dane LeBlanc 99887716c5 Fix kubeadm etcd manifests to use brackets around IPv6 addrs
When 'kubeadm init ...' is used with an IPv6 kubeadm configuration,
kubeadm currently generates an etcd.yaml manifest that uses IP:port
combinatins where the IP is an IPv6 address, but it is not enclosed
in square brackets, e.g.:
    - --advertise-client-urls=https://fd00:20::2:2379
For IPv6 advertise addresses, this should be of the form:
    - --advertise-client-urls=https://[fd00:20::2]:2379

The lack of brackets around IPv6 addresses in cases like this is
causing failures to bring up IPv6-only clusters with Kubeadm as
described in kubernetes/kubeadm Issues #1212.

This format error is fixed by using net.JoinHostPort() to generate
URLs as shown above.

Fixes kubernetes/kubeadm Issue #1212
2018-11-16 15:12:29 -05:00
k8s-ci-robot 7ff49c99d3
Merge pull request #71126 from rosti/warn-api-bind-override
kubeadm: Warn on API server bind address override
2018-11-16 12:04:10 -08:00
Lucas Käldström a666003b36
kubeadm: Allow customizing the image repository via flags 2018-11-16 23:52:56 +08:00
fabriziopandini 1308c7d2f5 kubeadm phases add all subcommands 2018-11-16 16:39:04 +01:00
k8s-ci-robot a5f06fdd16
Merge pull request #71066 from fabriziopandini/kubeadm-fix-validateMixedArgs
Kubeadm - Fix validateMixedArgs for phases
2018-11-16 03:57:01 -08:00
k8s-ci-robot 0908af5e09
Merge pull request #71061 from yagonobre/init-todo
Remove todo from init phase
2018-11-16 03:56:52 -08:00
Rostislav M. Georgiev b46fbbc4e6 kubeadm: Warn on API server bind address override
ChooseAPIServerBindAddress is silently overriding the requested bind IP
address for the API server if that address is deemed unsuitable. This is
currently done only if the IP is a loopback one (127.0.0.0/8; ::1/128).
It's best to at least issue a warning if such override occurs, so that there
are no surprised users by this.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-11-16 13:00:52 +02:00
k8s-ci-robot 973b5d291d
Merge pull request #71053 from yagonobre/upload-config-fix
Fix `kubeadm upload-config kubeadm` example
2018-11-16 01:53:50 -08:00
k8s-ci-robot dc6632ad4c
Merge pull request #71046 from liztio/certs-renew-use-api-fix
Certs renew use api fix
2018-11-16 01:53:40 -08:00
k8s-ci-robot 4b98060f4e
Merge pull request #70901 from neolit123/kubeadm-strict-config
kubeadm: enable strict config unmarhaling
2018-11-15 23:52:36 -08:00
k8s-ci-robot 8797db339d
Merge pull request #69827 from tomkukral/kadm-etcd
use etcd endpoints from advertise-client-urls
2018-11-15 17:25:17 -08:00
Lubomir I. Ivanov 2473bba9e5 kubeadm: update autogenerated bazel 2018-11-16 02:22:04 +02:00
Lubomir I. Ivanov cc60625930 kubeadm: handle strict config unmarshaling 2018-11-16 02:21:31 +02:00
liz 6afb9a117b
Fix renewing certificates via the API
Poll for events, print CSR name, and parse PEM instead of CSR
2018-11-15 14:02:47 -08:00
liz 5fc1a9a87c
Option to generate CSRs instead of issued certificates 2018-11-15 10:47:54 -08:00
fabriziopandini 807338e96a Fix validateMixedArgs for phases 2018-11-15 11:38:18 +01:00
k8s-ci-robot 4fdac19603
Merge pull request #71059 from timothysc/kubeadmmsg
Minor update to the comment block characters for kubeadm
2018-11-14 23:20:07 -08:00