Commit Graph

7438 Commits (bb4fcddd1b76ed628412b0cb0daabc5a05f87790)

Author SHA1 Message Date
Kubernetes Prow Robot 7ce7a80cda
Merge pull request #71355 from bradhoekstra/kube-proxy-services-optional
Make kube-proxy service abstraction optional
2018-12-19 15:27:12 -08:00
Chao Xu 7223f0fd16 Fix the unit test patch to not modify the node name 2018-12-19 14:02:33 -08:00
Ed Bartosh b40018da7b kubeadm: simplify minimum Kubernetes version bumps
Replaced hardcoded "v0.12.0" strings with MinimumControlPlaneVersion and
MinimumKubeletVersion global variables.

This should help with a regular release version bumps.
2018-12-19 20:41:25 +02:00
Weibin Lin 842bd1e1ec update deployment, daemonset, replicaset, statefulset to apps/v1 2018-12-19 10:46:45 -05:00
Kubernetes Prow Robot b97092ca8f
Merge pull request #71399 from resouer/eclass-task-1
Eclass task 1: clean up old code
2018-12-18 08:47:13 -08:00
Kubernetes Prow Robot 73b9effcb6
Merge pull request #72030 from ereslibre/fix-race-condition-on-node-join
Fix race condition when joining nodes
2018-12-18 03:02:40 -08:00
wangqingcan 1081e919e3 Eclass Task 1: clean up old equiv class code
Co-authored-by: Harry Zhang <resouer@gmail.com>
Co-authored-by: Wang Qingcan <wangqingcan@baidu.com>
2018-12-17 17:05:49 -08:00
Kubernetes Prow Robot e2be7c91d9
Merge pull request #70344 from andrewsykim/consolidate-node-delete
consolidate node deletion logic between kube-controller-manager and cloud-controller-manager
2018-12-17 15:49:16 -08:00
Anit Gandhi 60f754a8a3 kubeadm: fix nil check in join config creation 2018-12-17 13:57:37 -05:00
Dmitry Rozhkov b9c2139ccc kubeadm: refactor validateStableVersion()
Currently the function `cmd/kubeadm/app/util.validateStableVersion()`
doesn't validate remote versions in the special case when the client
version is empty. This makes the code more difficult to reason about,
because the function may successfully return a string which isn't a valid version.

Move handling the special case outside of the function to the place
where its meaning is more obvious.
2018-12-17 17:05:41 +02:00
jay vyas 2f92250977 Make Error message CRI compliant, retain dockerd directions. 2018-12-16 16:16:57 -05:00
Dmitry Rozhkov 4b6d91c2c3 kubeadm: print stack trace in case of unexpected error 2018-12-14 12:23:54 +02:00
Kubernetes Prow Robot 1c04caa043
Merge pull request #71945 from pytimer/kubeadm-etcd-fix
kubeadm: fixed etcd sync endpoints
2018-12-13 21:41:46 -08:00
Rafael Fernández López 6a8a832f61
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-13 20:51:35 +01:00
Kubernetes Prow Robot 15300ed765
Merge pull request #71967 from PaulineLc/remove-space-hyperkube
Removed redundant spaces in a comment
2018-12-12 11:36:31 -08:00
Kubernetes Prow Robot 05183bffe5
Merge pull request #71872 from yuexiao-wang/scheduler-nodeinfo
[scheduler cleanup phase 2]: Rename `pkg/scheduler/cache` to `pkg/scheduler/nodeinfo`
2018-12-12 08:08:33 -08:00
Pauline Lallinec 3678c7ab1c removed spaces in comment 2018-12-11 12:13:57 -08:00
yuexiao-wang f3353c358d [scheduler cleanup phase 2]: Rename to
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-12-11 11:21:12 +08:00
pytimer 48d757b6bb kubeadm: fixed etcd sync endpoints 2018-12-11 10:03:22 +08:00
Kubernetes Prow Robot 0b13221f68
Merge pull request #71885 from dims/create-etcd-with-0700-permissions
Create /var/lib/etcd with 0700
2018-12-10 14:08:33 -08:00
Kubernetes Prow Robot 486f407b1d
Merge pull request #71890 from odacremolbap/replace-proxy-with-kubelet-kubeadm-docs
replace proxy with kubelet at kubeadm v1beta1 docs
2018-12-10 05:39:49 -08:00
Kubernetes Prow Robot 21a8d08fab
Merge pull request #71258 from bart0sh/PR0042-kubeadm-1159-improve-hostport-error-messages
kubeadm: improve hostport parsing error messages
2018-12-09 23:59:06 -08:00
Pablo Mercado 996845d9d9 replace proxy with kubelet at kubeadm v1beta1 docs 2018-12-09 08:51:34 +01:00
Davanum Srinivas 836f413cf1
Create /var/lib/etcd with 0700
If we let the hostpath with DirectoryOrCreate to create this directory
it defaults to 0755. A default install should use 0700 for better
security especially if the directory is not present.

Change-Id: Idc0266685895767b0d1c5710c8a4fb704805652f
2018-12-08 19:42:58 -05:00
Kubernetes Prow Robot c06c08e5ae
Merge pull request #71828 from yuexiao-wang/cleanup-upgrad-etcd-left
kubeadm: fixed cleanup upgrade from no-TLS etcd to TLS etcd
2018-12-08 02:39:54 -08:00
yuexiao-wang 39f71245b3 kubeadm: fixed cleanup upgrade from no-TLS etcd to TLS etcd
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-12-08 08:38:03 +08:00
Rostislav M. Georgiev c3364cf48d kubeadm: remove unused func runCmdPhase
Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-12-07 13:30:32 +02:00
Jordan Liggitt a9dc919f82 Look up service accounts from informer before trying live lookup 2018-12-06 16:48:39 -05:00
Kubernetes Prow Robot fa0ef745cf
Merge pull request #71803 from yagonobre/fix-init-bootstrap
Use kubeconfig flag instead of kubeconfig-dir in kubeadm init phase bootstrap-token
2018-12-06 13:13:14 -08:00
Kubernetes Prow Robot 257a6d5bfa
Merge pull request #71755 from liggitt/tolerate-authn-lookup-failure
Allow kube-scheduler to tolerate cluster auth config lookup failure
2018-12-06 11:05:13 -08:00
Yago Nobre 05e5a3473d
Use kubeconfig flag instead of kubeconfig-dir in kubeadm init phase bootstrap-token 2018-12-06 14:42:45 -02:00
Brad Hoekstra 284cc82e71 Update bazel 2018-12-05 16:43:07 -05:00
Jordan Liggitt 416e114215 Allow kube-scheduler to tolerate cluster auth config lookup failure 2018-12-05 14:13:47 -05:00
yuexiao-wang 5610ac3c9c cleanup upgrade from non-TLS etcd to TLS etcd
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-12-05 23:10:13 +08:00
Kubernetes Prow Robot 0214031fcf
Merge pull request #71702 from yuexiao-wang/move-test
kubeadm: move test utilites out of /test
2018-12-04 20:06:54 -08:00
Kubernetes Prow Robot 7af52384ea
Merge pull request #71467 from rosti/nuke-config-print-defaults
kubeadm: remove kubeadm config print-defaults
2018-12-04 10:04:32 -08:00
yuexiao-wang 0dc0659e07 move test utilites out of /test
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-12-04 19:27:17 +08:00
Kubernetes Prow Robot b6c8ef298e
Merge pull request #71663 from bart0sh/PR0044-kubeadm-1294-fix-unmount-kubelet-dirs
kubeadm: properly umount dirs in /var/lib/kubelet
2018-12-04 02:54:44 -08:00
Kubernetes Prow Robot a9b69dc381
Merge pull request #71615 from jpbetz/etcd-3.3.10-0-image
Update default etcd server to 3.3.10 for kubernetes 1.14
2018-12-04 02:54:34 -08:00
Joe Betz 862b945e5a Update default etcd server to 3.3.10 for kubernetes 1.13 2018-12-03 11:03:49 -08:00
andrewsykim 5329f09663 consolidate node deletion logic between node lifecycle and cloud node controller 2018-12-03 13:33:53 -05:00
Ed Bartosh 48a961cfa2 kubeadm: properly umount dirs in /var/lib/kubelet
'kubeadm reset' uses incorrect way of unmounting /var/lib/kubelet
directories. It queries /proc/mounts for /var/lib/kubelet mount point.
If /var/lib/kubelet directory is also mounted it makes 'kubelet reset'
to unmount it too, which is incorrect. It also makes it fail as it
can't unmount /var/lib/kubelet before unmounting mounts inside it.

Fixed by querying /var/lib/kubelet/ instead of /var/lib/kubelet.
This should exclude /var/lib/kubelet from the query results even if
it's mounted.

Fixes: kubernetes/kubeadm#1294
2018-12-03 18:45:52 +02:00
Rostislav M. Georgiev ffb670b8a8 kubeadm: remove kubeadm config print-defaults
Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-12-03 17:43:42 +02:00
Kubernetes Prow Robot dc9261bc3b
Merge pull request #71174 from smarterclayton/debug_kubeadm
Restore bootstrap in the background with fix to preserve kubeadm behavior
2018-12-03 05:49:57 -08:00
k8s-ci-robot 30d61f2f71
Merge pull request #71558 from luxas/kubeadm_owners
Update kubeadm OWNERS file
2018-11-30 15:09:55 -08:00
k8s-ci-robot 67bca44801
Merge pull request #71465 from aanm/fix-kubeadm-documentation
apis/kubeadm/v1beta1: fix typo in localApiEndpoint -> localAPIEndpoint
2018-11-30 01:19:58 -08:00
k8s-ci-robot a93fe6e9ef
Merge pull request #71357 from rosti/forgotten-println
kubeadm: Remove forgotten debug Println
2018-11-30 00:04:27 -08:00
k8s-ci-robot d9581ca041
Merge pull request #71340 from yuexiao-wang/fix-test
fix test names for manifests
2018-11-30 00:04:18 -08:00
k8s-ci-robot 79e5cb2cb7
Merge pull request #71302 from liggitt/verify-unit-test-feature-gates
Split mutable and read-only access to feature gates, limit tests to readonly access
2018-11-29 21:45:12 -08:00
k8s-ci-robot 9c74dc4ef3
Merge pull request #70834 from zhangmingld/gloginfoinsteadinfof
use glog.info instead glog.infof when no var
2018-11-29 19:04:27 -08:00
k8s-ci-robot 409bfc4337
Merge pull request #71047 from pivotal-k8s/bump-k8s-utils
Bump k8s.io/uitls to 8e7ff06
2018-11-29 11:17:08 -08:00
k8s-ci-robot 791758b1ef
Merge pull request #71038 from neolit123/remove-dyn-kubelet-const
kubeadm: remove leftover DynamicKubeletConfig constant
2018-11-29 11:16:58 -08:00
Lucas Käldström c026e070d0
Update kubeadm OWNERS file 2018-11-29 13:12:49 +02:00
k8s-ci-robot a2353d5bdb
Merge pull request #67360 from jiaxuanzhou/1.11
simplify logic for func BuildArgumentListFromMap
2018-11-29 02:01:03 -08:00
k8s-ci-robot 86d4d95e0d
Merge pull request #70426 from sttts/sttts-testserver-run-errors
testservers: return Run method errors correctly
2018-11-29 00:47:45 -08:00
k8s-ci-robot c2d93cb1b2
Merge pull request #69063 from stewart-yu/stewart-componentconfig-clodeclean03
remove dependency on the legacyscheme, using self-scheme
2018-11-28 21:44:57 -08:00
k8s-ci-robot 8b11fda27b
Merge pull request #67931 from tanshanshan/littleprint
make error info clearly
2018-11-28 21:44:28 -08: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
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
k8s-ci-robot 12e5eb7dc9
Merge pull request #71011 from sigma/pr/fix-inotify
replace golang.org/x/exp/inotify with standalone library
2018-11-22 18:07:51 -08:00
k8s-ci-robot d7823bee59
Merge pull request #71360 from fabriziopandini/fix-etcd-connection
Fix etcd connect for join --control-plane
2018-11-22 09:35:31 -08:00
fabriziopandini 8a53031b4e Fix etcd connect for join --control-plane 2018-11-22 17:17:27 +01:00
k8s-ci-robot 69f100e3b7
Merge pull request #70204 from imjching/70145-fix-glog-flags-apiserver
kube-apiserver: fix missing global flags for --help
2018-11-22 08:11:13 -08:00
Rostislav M. Georgiev 0110b6e8bf kubeadm: Remove forgotten debug Println
Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2018-11-22 17:05:23 +02: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
k8s-ci-robot 8d9ac261c4
Merge pull request #71315 from rosti/config-migrate-fix
kubeadm: config migrate handles more valid configs
2018-11-22 00:37:33 -08:00
yuexiao-wang 1d38de3a29 fix test names for manifests
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-11-22 15:30:24 +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
Jay Lim 7fbdcf889a kube-apiserver: fix missing global flags for --help
Signed-off-by: Jay Lim <jay@imjching.com>
2018-11-21 12:30:09 -05:00
Jordan Liggitt d440ecdd3b Update non-test code to use DefaultMutableFeatureGate 2018-11-21 11:51:33 -05:00
Brad Hoekstra 18e5736b0f Filter out services with alternate service proxy 2018-11-21 11:25:15 -05: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
Jay Lim 97f9c6afe7 auto-generated file 2018-11-21 17:39:15 +08:00
stewart-yu f5836c865b add --cloud-provider-gce-lb-src-cidrs for *-controller-manager, and add test 2018-11-21 17:39:15 +08:00
Jay Lim 10dd5d6631 *-controller-manager: fix missing global flags for --help 2018-11-21 17:39:14 +08: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
Ed Bartosh bab556f7a6 kubeadm: improve hostport parsing error messages
Added hostport and host/port parts to the error messages
produced by ParseHostPort API.

This should help users to better identify parsing issues.

Fixes: kubernetes/kubeadm#1159
2018-11-20 13:21:36 +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
Clayton Coleman fde87329cb
bootstrap: Use kubeconfig contents as seed for cert dir if necessary
kubeadm uses certificate rotation to replace the initial high-power
cert provided in --kubeconfig with a less powerful certificate on
the masters. This requires that we pass the contents of the client
config certData and keyData down into the cert store to populate
the initial client.

Add better comments to describe why the flow is required. Add a test
that verifies initial cert contents are written to disk. Change
the cert manager to not use MustRegister for prometheus so that
it can be tested.
2018-11-17 19:52:12 -05:00
Clayton Coleman 486577df17 Restore "Make bootstrap client cert loading part of rotation""
This reverts the revert of commit 3464222267.
2018-11-17 13:44:58 -05:00
Clayton Coleman 3464222267
Revert "Make bootstrap client cert loading part of rotation"
This reverts commit 0af19875ad.

Revert "Ensure the bootstrap rotation code is tested by forcing rotation"

This reverts commit de293b2d7d.
2018-11-17 10:24:39 -05:00
Clayton Coleman de293b2d7d
Ensure the bootstrap rotation code is tested by forcing rotation
Expose both a Stop() method (for cleanup) and a method to force
cert rotation, but only expose Stop() on the interface.

Verify that we choose the correct client.
2018-11-16 21:50:52 -05:00
Clayton Coleman 0af19875ad
Make bootstrap client cert loading part of rotation
Ensure that bootstrap+clientcert-rotation in the Kubelet can:

1. happen in the background so that static pods aren't blocked by bootstrap
2. collapse down to a single call path for requesting a CSR
3. reorganize the code to allow future flexibility in retrieving bootstrap creds

Fetching the first certificate and later certificates when the kubelet
is using client rotation and bootstrapping should share the same code
path. We also want to start the Kubelet static pod loop before
bootstrapping completes. Finally, we want to take an incremental step
towards improving how the bootstrap credentials are loaded from disk
(potentially allowing for a CLI call to get credentials, or a remote
plugin that better integrates with cloud providers or KSMs).

Reorganize how the kubelet client config is determined. If rotation is
off, simplify the code path. If rotation is on, load the config
from disk, and then pass that into the cert manager. The cert manager
creates a client each time it tries to request a new cert.

Preserve existing behavior where:

1. bootstrap kubeconfig is used if the current kubeconfig is invalid/expired
2. we create the kubeconfig file based on the bootstrap kubeconfig, pointing to
   the location that new client certs will be placed
3. the newest client cert is used once it has been loaded
2018-11-16 21:50:26 -05: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