Commit Graph

7398 Commits (699983645d4f1151070b71a15577cdc4b467aed3)

Author SHA1 Message Date
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
k8s-ci-robot 5ec9349276
Merge pull request #70917 from dims/add-log-file-option-to-kubelet-flags
add log_file option to kubelet flags
2018-11-16 15:16:53 -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 e94a9f9321
Merge pull request #71085 from bsalamat/leader-election-fix
Report kube-scheduler unhealthy if leader election is wedged
2018-11-16 05:13:28 -08: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
k8s-ci-robot 3d3cc63cc8
Merge pull request #70809 from liztio/csr
Generate CSRs for kubeadm
2018-11-15 15:00:02 -08: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
k8s-ci-robot 7b4d4bc8ac
Merge pull request #70508 from dashpole/pod_resources_socket
Add socket-based kubelet pod resources API.
2018-11-15 13:43:44 -08:00
k8s-ci-robot 504466c4e6
Merge pull request #68267 from liggitt/node-label-update
Limit kubelets from updating their own labels when NodeRestriction is enabled
2018-11-15 11:11:02 -08:00
Bobby (Babak) Salamat 34b4a5bbee Add watchdog for leader election logic getting wedged 2018-11-15 11:02:14 -08:00
liz 5fc1a9a87c
Option to generate CSRs instead of issued certificates 2018-11-15 10:47:54 -08:00
David Ashpole 630cb53f82 add kubelet grpc server for pod-resources service 2018-11-15 09:43:20 -08:00
Hannes Hörl 0d4b5c98f8 Bump k8s.io/uitls to 8e7ff06
The reason for the bump is the new functionality of the
k8s.io/utils/exec package which allows
- to get a hold of the process' std{out,err} as `io.Reader`s
- to `Start` a process and `Wait` for it

This should help on addressing #70890 by allowing to wrap std{out,err}
of the process to be wrapped with a `io.limitedReader`.

It also updates
- k8s.io/kubernetes/pkg/probe/exec.FakeCmd
- k8s.io/kubernetes/pkg/kubelet/prober.execInContainer
- k8s.io/kubernetes/cmd/kubeadm/app/phases/kubelet.fakeCmd
to implement the changed interface.

The dependency on 'k8s.io/utils/pointer' to the new version has also
been bumped in some staging repos:
- apiserver
- kube-controller-manager
- kube-scheduler
2018-11-15 13:25:12 +00:00
k8s-ci-robot b1a52a38e9
Merge pull request #67257 from pbarker/audit
dynamic audit configuration
2018-11-15 02:42:59 -08:00
fabriziopandini 807338e96a Fix validateMixedArgs for phases 2018-11-15 11:38:18 +01:00
k8s-ci-robot f48e18faa4
Merge pull request #70971 from cheftako/leaseCheck
Report KCM as unhealthy if leader election is wedged.
2018-11-15 01:30:59 -08: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
Yago Nobre 8b110e27fc
Remove todo from init phase 2018-11-15 01:43:56 -02:00
Timothy St. Clair aea4a4e0fb Minor update to the comment block characters for kubeadm 2018-11-14 20:31:11 -06: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
k8s-ci-robot 2965d24547
Merge pull request #71043 from chuckha/etcd-doc
kubeadm: document required etcd configuration
2018-11-14 17:25:40 -08:00
k8s-ci-robot bb2fcd90f3
Merge pull request #71040 from fabriziopandini/kubeadm-phases-local-flags
Kubeadm phases - add local flags
2018-11-14 17:25:30 -08:00
Walter Fender 9c43ee6d6e Report KCM as unhealthy if leader election is wedged.
Feedback from lavalamp and deads2k.
Changed Check() logic to be central to LeaderElector.
Further changes, especially cleaning up the test code.
2018-11-14 16:57:37 -08:00
Patrick Barker eb89d3dddd adds dynamic audit configuration 2018-11-14 17:54:06 -07:00
Yago Nobre 606bbc0457
Fix kubeadm upload-config kubeadm example 2018-11-14 22:28:51 -02:00
k8s-ci-robot 1240274204
Merge pull request #71037 from rdodev/reset-iptables
Reset helptext alignment
2018-11-14 15:39:46 -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
k8s-ci-robot 0df79e4daa
Merge pull request #71008 from neolit123/kubeadm-go-docs-1.13
kubeadm: update notes and example config in v1beta1 godocs
2018-11-14 13:16:54 -08:00