Commit Graph

3190 Commits

Author SHA1 Message Date
Dmitry Rozhkov
358659ef4d kubeadm: remove duplicated token.parsePEMCerts()
The function parsePEMCerts() duplicates ParseCertsPEM() from
the "k8s.io/client-go/util/cert" package.
2019-04-29 14:32:38 +03:00
stgleb
7bf9acd303 Change misleading log message
Secret instead of configmap for
upload certs phase
2019-04-29 03:06:11 +03:00
Kubernetes Prow Robot
c88b7cdd58
Merge pull request #76862 from fabriziopandini/fix-upgrade-certs-renew
kubeadm: fix certs renewal during upgrade
2019-04-27 12:30:20 -07:00
Chen Zhiwei
79c436f48f use new method to detect cgroup driver 2019-04-27 08:39:18 +00:00
fabriziopandini
137137cbaa fix-upgrade-certs-renew 2019-04-27 09:58:17 +02:00
Kubernetes Prow Robot
3148eb750d
Merge pull request #76390 from rojkov/ecdsa-v2
kubeadm: add support for ECDSA keys
2019-04-26 19:56:23 -07:00
Kubernetes Prow Robot
332d62a94a
Merge pull request #76710 from rosti/introduce-v1beta2
kubeadm: Introduce v1beta2 config
2019-04-26 10:38:27 -07:00
Kubernetes Prow Robot
59a86822cb
Merge pull request #77051 from chenzhiwei/bump-docker-version
Bump minimum docker version to 1.13.1 in kubeadm
2019-04-26 07:10:29 -07:00
Sempr
81e896e16f MOD: minor comment update for error message 2019-04-26 09:13:11 +08:00
Rostislav M. Georgiev
9e1ac76c1a kubeadm: Introduce v1beta2 config
Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-04-25 17:10:04 +03:00
Chen Zhiwei
d4aaacfc18 Bump minimum docker version to 1.13.1 in kubeadm 2019-04-25 13:57:50 +00:00
fabriziopandini
d41c77f4d4 add-v1.15-etcd-version 2019-04-25 15:19:21 +02:00
Kubernetes Prow Robot
85015461b7
Merge pull request #76578 from SataQiu/fix-kubeadm-issue-1493
[kubeadm] fix kubelet config bug for kubeadm init phase
2019-04-25 04:34:46 -07:00
Dmitry Rozhkov
d125f3bddc kubeadm: add support for ECDSA keys
kubeadm still generates RSA keys when deploying a node, but also
accepts ECDSA keys if they already exist pregenerated in the
directory specified in --cert-dir.
2019-04-25 12:52:42 +03:00
SataQiu
5b74f3d8ad fix kubelet config bug for kubeadm init phase 2019-04-24 22:05:10 +08:00
Kubernetes Prow Robot
3ba70b9b5e
Merge pull request #76923 from SataQiu/fix-kubeadm-20190423
Fix validation message: apiServerEndpoints -> apiServerEndpoint
2019-04-24 04:04:00 -07:00
Kubernetes Prow Robot
36ccff1b27
Merge pull request #76821 from ereslibre/kubeadm-config-retry-on-conflict
kubeadm: improve resiliency when conflicts arise when updating the kubeadm-config configmap
2019-04-23 15:50:01 -07:00
Kubernetes Prow Robot
44f254d55e
Merge pull request #76922 from xichengliudui/small-bug
Fix two minor bugs in kubeadm
2019-04-23 07:53:35 -07:00
Kubernetes Prow Robot
0f617a3825
Merge pull request #76500 from rojkov/issue-1399
kubeadm: check all available CA certs against pinned certs
2019-04-23 07:52:21 -07:00
Rafael Fernández López
bc8bafd825
kubeadm: improve resiliency when conflicts arise when updating the kubeadm-config ConfigMap
Add the functionality to support `CreateOrMutateConfigMap` and `MutateConfigMap`.

* `CreateOrMutateConfigMap` will try to create a given ConfigMap object; if this ConfigMap
  already exists, a new version of the resource will be retrieved from the server and a
  mutator callback will be called on it. Then, an `Update` of the mutated object will be
  performed. If there's a conflict during this `Update` operation, retry until no conflict
  happens. On every retry the object is refreshed from the server to the latest version.

* `MutateConfigMap` will try to get the latest version of the ConfigMap from the server,
  call the mutator callback and then try to `Update` the mutated object. If there's a
  conflict during this `Update` operation, retry until no conflict happens. On every retry
  the object is refreshed from the server to the latest version.

Add unit tests for `MutateConfigMap`

* One test checks that in case of no conflicts, the update of the
  given ConfigMap happens without any issues.

* Another test mimics 5 consecutive CONFLICT responses when updating
  the given ConfigMap, whereas the sixth try it will work.
2019-04-23 15:40:37 +02:00
Kubernetes Prow Robot
888b81b638
Merge pull request #76238 from Dieken/30s-ttl-for-coredns
change default 5s ttl to 30s for coredns to be same with kube-dns/dnsmasq
2019-04-23 06:20:09 -07:00
SataQiu
cd8fae5370 fix validation message: apiServerEndpoints -> apiServerEndpoint 2019-04-23 11:47:57 +08:00
Sempr
0c7d8722bf MOD: support Wildcard DNS for apiserver certSANs 2019-04-23 10:47:45 +08:00
Kubernetes Prow Robot
f9a3a22e35
Merge pull request #76769 from rojkov/kubeadm-drop-NewCACertAndKey
kubeadm: drop duplicate function NewCACertAndKey
2019-04-22 03:21:43 -07:00
Kubernetes Prow Robot
c0c1e148e3
Merge pull request #76859 from SataQiu/fix-kubeadm-20190420
kubeadm: use 'errors.Errorf' instead of 'fmt.Errorf'
2019-04-20 14:21:44 -07:00
Kubernetes Prow Robot
c262f9c7d9
Merge pull request #76865 from fabriziopandini/fix-certs-renewal
kubeadm: fix kubeadm alpha cert renew error in case of external CA
2019-04-20 11:45:45 -07:00
fabriziopandini
dc8331e385 fix-certs-renewal 2019-04-20 17:08:10 +02:00
aaa
a5b88f69e9 Fix two minor bugs in kubeadm 2019-04-20 06:42:36 -04:00
aaa
81c30cbeb0 kubeadm cleanup: master -> control-plane
update pul request
2019-04-20 06:15:19 -04:00
SataQiu
62dbd0fa0d use 'errors.Errorf' instead of 'fmt.Errorf' 2019-04-20 17:10:18 +08:00
fabriziopandini
d94c5bac47 kubeadm-cleanup-unused-func 2019-04-19 22:30:44 +02:00
Dmitry Rozhkov
580513ed66 kubeadm: drop duplicate function NewCACertAndKey
The function certs.NewCACertAndKey() is just a wrapper around
pkiutil.NewCertificateAuthority() which doesn't add any
additional functionality.

Instead use pkiutil.NewCertificateAuthority() directly.
2019-04-19 19:17:34 +03:00
Davanum Srinivas
7b8c9acc09
remove unused code
Change-Id: If821920ec8872e326b7d85437ad8d2620807799d
2019-04-19 08:36:31 -04:00
Kubernetes Prow Robot
cee320a809
Merge pull request #76534 from ping035627/k8s-190413
Expect directory permissions to be 0700
2019-04-18 06:22:09 -07:00
PingWang
e3dcd3c0a9 Expect directory permissions to be 0700 or less
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

update the permissions to 0660

Signed-off-by: PingWang <wang.ping5@zte.com.cn>

revert to 0750

Signed-off-by: PingWang <wang.ping5@zte.com.cn>

update 0750 to 0700

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-04-18 17:31:31 +08:00
Kubernetes Prow Robot
a404238d1c
Merge pull request #76638 from SataQiu/clean-command-kubeadm-20190416
[kubeadm] clean up command description information for consistency and readability
2019-04-16 16:20:45 -07:00
Matthew L Daniel
b0814869b0
Output missing cert or key name in DownloadCerts
Otherwise the user does not know what key `kubeadm` is expecting, which makes troubleshooting harder
2019-04-16 08:53:48 -07:00
SataQiu
3949ee0f79 clean up command description information for consistency and readability 2019-04-16 22:58:10 +08:00
Kubernetes Prow Robot
82e15dad1c
Merge pull request #76068 from yagonobre/simplify-version-bump
Simplify kubeadm bump version on TestEtcdSupportedVersion
2019-04-16 00:51:08 -07:00
Kubernetes Prow Robot
a73730147c
Merge pull request #76564 from tedyu/adm-clean-all
Cleanup as many dirs as possible in CleanupDirs
2019-04-15 08:14:05 -07:00
Ted Yu
185f02dd1a Cleanup as many dirs as possible in CleanupDirs
Signed-off-by: Ted Yu <yute@vmware.com>
2019-04-15 06:10:33 -07:00
Kubernetes Prow Robot
f2659bcad8
Merge pull request #76572 from mkumatag/fix_flakey
loop through next entry in stubDomainData if proxyIP == 0
2019-04-15 05:14:05 -07:00
Dmitry Rozhkov
7f8fc5d189 kubeadm: check all available CA certs against pinned certs
Currently kubeadm produces an error upon parsing multiple
certificates stored in the cluster-info configmap. Yet it
should check all available certificates in a scenario like
CA key rotation.

Check all available CA certs against pinned certificate hashes.

Fixes https://github.com/kubernetes/kubeadm/issues/1399
2019-04-15 15:08:06 +03:00
Kubernetes Prow Robot
c09cfb7178
Merge pull request #76566 from tedyu/adm-rollback-err
Return aggregate error from rollbackOldManifests
2019-04-15 03:54:23 -07:00
Kubernetes Prow Robot
18533fe84f
Merge pull request #76545 from xichengliudui/update-DNSType-comments
Update DNSType comments on compute.go
2019-04-15 00:20:01 -07:00
Manjunath A Kumatagi
23153e3f04 loop through next entry in stubDomainData if proxyIP == 0 2019-04-14 20:14:01 -05:00
Kubernetes Prow Robot
299aa5d7a6
Merge pull request #76505 from rosti/fix-join-cri-detection
kubeadm: Don't error out on join with --cri-socket override
2019-04-14 14:30:00 -07:00
Ted Yu
3e0423926a Return aggregate error from rollbackOldManifests 2019-04-14 10:06:07 -07:00
SataQiu
8b7b2349c7 capitalize the first letter of the prompt for consistency 2019-04-14 19:10:51 +08:00
Kubernetes Prow Robot
0a59758c58
Merge pull request #76549 from xichengliudui/ends-with-newline
Use fmt.printf() to end with a newline
2019-04-13 15:26:00 -07:00
Rostislav M. Georgiev
2d4307db9f kubeadm: Don't error out on join with --cri-socket override
In the case where newControlPlane is true we don't go through
getNodeRegistration() and initcfg.NodeRegistration.CRISocket is empty.
This forces DetectCRISocket() to be called later on, and if there is more than
one CRI installed on the system, it will error out, while asking for the user
to provide an override for the CRI socket. Even if the user provides an
override, the call to DetectCRISocket() can happen too early and thus ignore it
(while still erroring out).
However, if newControlPlane == true, initcfg.NodeRegistration is not used at
all and it's overwritten later on.
Thus it's necessary to supply some default value, that will avoid the call to
DetectCRISocket() and as initcfg.NodeRegistration is discarded, setting
whatever value here is harmless.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-04-12 17:25:11 +03:00
Xin Wang
9870e0e7b5 Fix typo cgroupDriver -> cgroup-driver
Signed-off-by: Xin Wang <wileywang@yunify.com>
2019-04-12 06:38:53 +08:00
aaa
85901dd0e0 Update DNSType comments on compute.go
update pull request

update pull request

update pull request

update pull request
2019-04-10 11:43:18 -04:00
Dmitry Rozhkov
2d77d9a5a9 kubeadm: use correct expected key when checking test results
Resulting key needs to be compared with the expected key which
was set for the test case, not just a key.
2019-04-10 15:09:12 +03:00
aaa
980de9d38b Use fmt.printf() to end with a newline
update pull request
2019-04-10 03:27:25 -04:00
Lubomir I. Ivanov
46a3fb4bbd kubeadm: disable the kube-proxy DaemonSet on non-Linux nodes
Windows worker nodes run kube-proxy as a Windows service.
In the future the kube-proxy DaemonSet might run on Windows nodes
too, but for now a temporary measure is needed to disable it.

Add a linux node selector in the kube-proxy manifest spec.
2019-04-09 11:48:30 +03:00
Manuel Rüger
912794b302 kubeadm: Quote values on envFile
See documentation: https://github.com/kubernetes/website/blob/master/content/en/docs/setup/independent/kubelet-integration.md#workflow-when-using-kubeadm-init

Signed-off-by: Manuel Rüger <manuel@rueg.eu>
2019-04-08 09:23:35 +02:00
Yubao Liu
f7f51fab2a change default 5s ttl to 30s for coredns to be same with kube-dns/dnsmasq 2019-04-07 20:41:25 +08:00
Kubernetes Prow Robot
84b561033e
Merge pull request #76175 from stealthybox/refactor-mediatype-loops
Refactor loops over `SupportedMediaTypes()` where mediaType is used to match a single SerializerInfo{}
2019-04-04 23:54:07 -07:00
Kubernetes Prow Robot
a4a4b4c1db
Merge pull request #76119 from SataQiu/improve-kubeadm-20190404
Code refactor: replace repeated values with a constant
2019-04-04 22:31:43 -07:00
Kubernetes Prow Robot
990ee3c09c
Merge pull request #76116 from xichengliudui/patch-5
Fix comments and function names are different
2019-04-04 21:08:07 -07:00
leigh capili
47e52d2981 Refactor loops over SupportedMediaTypes() where mediaType is used to match a single SerializerInfo{}
We have an existing helper function for this:  runtime.SerializerInfoForMediaType()

This is common prep-work for encoding runtime.Objects into JSON/YAML for transmission over the wire or writing to ComponentConfigs.
2019-04-04 19:01:01 -06:00
qingsenLi
ccac84c12b delete some unused consts in kubeadm/app/constants/constants.go 2019-04-04 19:54:51 +08:00
SataQiu
4a200a2222 replace repeated values with a constant 2019-04-04 12:42:26 +08:00
lIuDuI
6f89267125
Fix comments and function names are different 2019-04-04 10:57:20 +08:00
Kubernetes Prow Robot
2c675818ed
Merge pull request #75866 from jmkeyes/kubeadm-config-image-repository-flag
Provide imageRepository override for 'kubeadm config images' commands.
2019-04-03 11:14:37 -07:00
Kubernetes Prow Robot
7cdd26e127
Merge pull request #76071 from qingsenLi/k8s190403
fix some spelling error
2019-04-03 05:31:53 -07:00
qingsenLi
1350446417 fix some spelling error 2019-04-04 00:07:19 +08:00
Kubernetes Prow Robot
628925672c
Merge pull request #76029 from SataQiu/improve-kubeadm-20190403
Code improve: use constants instead of hard coding
2019-04-03 05:31:41 -07:00
Kubernetes Prow Robot
0ec8ce0077
Merge pull request #76038 from MengZn/patch-1
patch-reset
2019-04-03 03:24:06 -07:00
Kubernetes Prow Robot
0f3867a830
Merge pull request #75948 from xichengliudui/addconstants
Replace variables 10251 and 10252 with constants
2019-04-03 03:23:55 -07:00
MengZeLee
52d8f5e19b patch-reset
When we reset cluster, the program does not automatically delete it ($HOME/.kube/config).
We should prompt the user how to checkt
2019-04-03 14:18:49 +08:00
Yago Nobre
cd605e7d14
Simplify kubeadm bump version on TestEtcdSupportedVersion 2019-04-03 01:28:07 -03:00
SataQiu
9e051bb327 code improve: use constants instead of hard coding 2019-04-03 05:58:01 +08:00
PingWang
38fe68658d Extract Method for kubeadm
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-04-02 18:45:30 +08:00
Kubernetes Prow Robot
c3cc31797a
Merge pull request #75969 from rajansandeep/translationcheck
Fix translation from kube-dns to CoreDNS Config to skip invalid values
2019-04-01 22:44:35 -07:00
Kubernetes Prow Robot
dd96b15e5d
Merge pull request #75931 from xichengliudui/Simplify-two-if
Simplify two if (remove redundant code)
2019-04-01 15:49:21 -07:00
Sandeep Rajan
deadefd385 Fix translation to skip invalid values 2019-04-01 15:15:39 -04:00
Kubernetes Prow Robot
255a73ffc6
Merge pull request #75939 from xichengliudui/conversion-constants
Define common sentences as constants
2019-04-01 10:03:25 -07:00
Kubernetes Prow Robot
13cde9e181
Merge pull request #75950 from qingsenLi/k8s190401-fix-Certifcate
spelling error 'Certifcate'
2019-04-01 06:38:58 -07:00
qingsenLi
703a397ee3 spelling error 'Certifcate' 2019-04-02 01:14:56 +08:00
SataQiu
694a5f1cdf use constant instead of hard coding 2019-04-01 13:29:47 +08:00
Kubernetes Prow Robot
8f304510c5
Merge pull request #75900 from neolit123/fix-upgrade-plan
kubeadm: fix "upgrade plan" not defaulting to a "stable" version
2019-03-30 12:47:08 -07:00
Kubernetes Prow Robot
214340256f
Merge pull request #75874 from SataQiu/refactor-kubeadm-20190329
Refactor code about setting KubernetesVersionFlag
2019-03-29 23:53:33 -07:00
Kubernetes Prow Robot
c7a8596a39
Merge pull request #75867 from SataQiu/fix-kubeadm-golint-20190329
Fix golint failures in cmd/kubeadm/app/util/system
2019-03-29 17:33:57 -07:00
Lubomir I. Ivanov
d6328f1dbe kubeadm: fix "upgrade plan" not working without k8s version
If the k8s version argument passed to "upgrade plan" is missing
the logic should perform the following actions:
- fetch a "stable" version from the internet.
- if that fails, fallback to the local client version.

Currentely the logic fails because the cfg.KubernetesVersion is
defaulted to the version of the existing cluster, which
then causes an early exit without any ugprade suggestions.

See app/cmd/upgrade/common.go::enforceRequirements():
  configutil.FetchInitConfigurationFromCluster(..)

Fix that by passing the explicit user value that can also be "".
This will then make the "offline getter" treat it as an explicit
desired upgrade target.

In the future it might be best to invert this logic:
- if no user k8s version argument is passed - default to the kubeadm
version.
- if labels are passed (e.g. "stable"), fetch a version from the
internet.
2019-03-29 21:34:58 +02:00
Kubernetes Prow Robot
e6d274233c
Merge pull request #75646 from bart0sh/PR0066-kubeadm-token-delete-multiple
kubeadm: implement deletion of multiple tokens
2019-03-29 11:48:24 -07:00
SataQiu
4f6003b61f refactor code about setting KubernetesVersionFlag 2019-03-29 15:51:16 +08:00
SataQiu
a41c85ea07 fix golint failures in cmd/kubeadm/app/util/system 2019-03-29 12:03:25 +08:00
Joshua M. Keyes
03725f78b4 Provide imageRepository override for 'kubeadm config images' commands. 2019-03-28 20:53:39 -07:00
Kubernetes Prow Robot
91f40aec8a
Merge pull request #75847 from fabriziopandini/fix-external-etcd
kubeadm: fix join control-plane with external-etcd
2019-03-28 16:54:16 -07:00
fabriziopandini
f09d6388b2 fix-external-etcd 2019-03-28 23:25:18 +01:00
Kubernetes Prow Robot
c5114ee6c3
Merge pull request #75762 from SataQiu/fix-kubeadm-gates-20190327
Fix none feature gates list
2019-03-28 10:30:43 -07:00
SataQiu
c9cd3db627 fix none feature gates list 2019-03-28 20:11:47 +08:00
Kubernetes Prow Robot
6a277e0c4d
Merge pull request #75784 from bart0sh/PR0069-kubeadm-use-t.Run-in-app-phases
kubeadm: use t.Run in app/phases
2019-03-28 02:34:43 -07:00
Kubernetes Prow Robot
7131617d0c
Merge pull request #74399 from RA489/runpullimagescleanup
Rename RunPullImagesCheck to PullControlPlaneImages
2019-03-27 16:01:03 -07:00
Ed Bartosh
296df304a4 kubeadm: use t.Run in app/phases
Used T.Run API for kubeadm tests in app/phases/*

This should improve testing output and make it more visible
which test is doing what.

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2019-03-27 19:39:30 +01:00
Kubernetes Prow Robot
5a6c66a729
Merge pull request #72454 from rojkov/kubeadm-fallback-version
kubeadm: add final fallback to constants.CurrentKubernetesVersion
2019-03-27 11:02:50 -07:00
Ed Bartosh
405a9715f1 kubeadm: implement deletion of multiple tokens 2019-03-27 11:00:40 +01:00
Kubernetes Prow Robot
531dbd409f
Merge pull request #75445 from shinytang6/enhance/fmt
Replace all time.Now().Sub with time.Since
2019-03-26 13:55:17 -07:00
Kubernetes Prow Robot
f3efd1d0b7
Merge pull request #75036 from bart0sh/PR0065-kubeadm-replace-RequiredIPVSKernelModulesAvailable-check
kubeadm: reimplement IPVS check
2019-03-25 13:24:38 -07:00
Kubernetes Prow Robot
3c9c7fca64
Merge pull request #75027 from ping035627/k8s-190306
Add some logs for kubeadm join
2019-03-25 03:23:07 -07:00
PingWang
5a8174bd45 Add some logs for kubeadm join
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-03-25 10:07:47 +08:00
Kubernetes Prow Robot
9c53f24012
Merge pull request #75179 from rosti/kill-v1alpha3
kubeadm: remove v1alpha3
2019-03-22 17:02:21 -07:00
aaa
867ad233c6 Replace variables 10251 and 10252 with constants
update pull request

update pull request
2019-03-22 00:27:53 -04:00
aaa
112da093ed Define common sentences as constants
update pull request

update pull request

update pull request

update pull request

update pull request

update pull request
2019-03-21 18:56:42 -04:00
aaa
5c8e550a29 Simplify two if
update pull request

update pull request

update pull request

update pull request

update pull request

update pull request
2019-03-21 18:32:00 -04:00
Kubernetes Prow Robot
0c93929298
Merge pull request #75178 from rosti/kill-commonconfig
kubeadm: Cleanup CommonConfiguration
2019-03-21 13:35:36 -07:00
Kubernetes Prow Robot
ad4727440c
Merge pull request #75185 from ereslibre/certs-integration
kubeadm: add integration tests for certs transfer
2019-03-21 05:17:36 -07:00
shinytang6
5c9f4d9dc6 replace time.Now().Sub with time.Since 2019-03-21 18:02:55 +08:00
Kubernetes Prow Robot
4940eae478
Merge pull request #75521 from fabriziopandini/kubeadm-owners
Update kubeadm OWNERS file
2019-03-20 15:05:00 -07:00
fabriziopandini
c799c8275f kubeadm-owners 2019-03-20 21:50:04 +01:00
Kubernetes Prow Robot
b1e7c20a07
Merge pull request #75318 from ymlong/fix-20190313
Correcting a spelling error
2019-03-20 09:53:24 -07:00
Kubernetes Prow Robot
30071b31c7
Merge pull request #75261 from rosti/fix-fuzzer-cri
kubeadm: Fix fuzzer test for NodeRegistrationOptions
2019-03-20 05:25:05 -07:00
Kubernetes Prow Robot
cad1b4dbac
Merge pull request #75252 from d-kuro/feature/fix-typo
Fixed typo
2019-03-20 05:24:49 -07:00
Kubernetes Prow Robot
5e90834abe
Merge pull request #75102 from qingsenLi/k8s190307-fix-typo
fix a typo
2019-03-20 00:54:23 -07:00
Kubernetes Prow Robot
16b5f7d3c5
Merge pull request #67487 from tianshapjq/validate-system-kube-reserved
validate systemReservedCgroup and kubeReservedCgroup
2019-03-19 21:26:22 -07:00
Kubernetes Prow Robot
c7e56c7ea1
Merge pull request #74719 from vaamarnath/refactor-dir-create-for-dry-runs
kubeadm: refactored directory fetch code
2019-03-19 20:15:20 -07:00
Marques Johansson
10102cef3c Restore machine readability to the print-join-command output
The output of `kubeadm token create --print-join-command` should be
usable by batch scripts. This issue was pointed out in:

https://github.com/kubernetes/kubeadm/issues/1454
2019-03-19 17:50:04 -04:00
Kubernetes Prow Robot
b61baea135
Merge pull request #75420 from fabriziopandini/fix-kubeadm-init-output
fix kubeadm init output
2019-03-18 06:07:11 -07:00
fabriziopandini
fcadf143a5 fix-kubeadm-init-output 2019-03-18 12:52:41 +01:00
Kubernetes Prow Robot
ebea037729
Merge pull request #75431 from fabriziopandini/fix-external-ca
fix kubeadm external CA Mode
2019-03-17 06:28:56 -07:00
fabriziopandini
ff072aa639 fix-external-ca 2019-03-17 13:03:40 +01:00
Kubernetes Prow Robot
fe8b1e24ee
Merge pull request #75425 from liggitt/kubeadm-insecure-port
Kubeadm insecure port
2019-03-16 17:24:55 -07:00
Jordan Liggitt
d4591ea324 Revert "Stop using API server's --insecure-port"
This reverts commit 5b64a98689.
2019-03-16 16:24:49 -04:00
Kubernetes Prow Robot
1a24040447
Merge pull request #74781 from liggitt/http2-watch
kubelet watch-manager test, restore watch-based manager default
2019-03-16 12:52:56 -07:00
Rafael Fernández López
bc26c69b61
kubeadm: Allow certain certs/keys to be missing on the secret.
Under certain circumstances, specially when using an insecure external
etcd cluster (no certificates), or when using external certificates (
no CA key), some keys inside the kubeadm-certs secret data can contain
the key with an empty value on the map.

When downloading certs just ignore those that are blank and inform the
user about it.
2019-03-15 23:34:17 +01:00
Ed Bartosh
2914171ed4 kubeadm: reimplement IPVS check
Used existing IPVS Proxier API CanUseIPVSProxier instead
of custom implementation.

Fixes kubernetes/kubeadm#975
2019-03-14 16:52:21 +02:00
RA489
8bcc82a9e4 Rename RunPullImagesCheck to PullControlPlaneImages 2019-03-14 15:37:38 +05:30
Jordan Liggitt
f2a0c0342c Revert "Revert kubelet to default to ttl cache secret/configmap behavior"
This reverts commit cd1c9f9018.
2019-03-13 15:12:26 -07:00
Amarnath
be8d1c24f1 kubeadm: refactored directory fetch code 2019-03-13 18:28:53 +05:30
ymlong
8be2a4c9f6 Correcting a spelling error 2019-03-13 11:15:50 +08:00
Kubernetes Prow Robot
50bf223a05
Merge pull request #75224 from neolit123/certs-print-key-on-phase
kubeadm: print key inside the upload-certs phase of init
2019-03-11 12:00:15 -07:00
Rafael Fernández López
8737720a7d
kubeadm: add integration tests for certs transfer
* Upload certificates: generate certificates and check that the kubeadm-certs
  secret is populated with the expected contents.

* Download certificates: given we have a kubeadm-certs secret, ensure that
  keys and certificates are copied on the expected target, and that depending
  on the secret nature they have the expected permissions.
2019-03-11 16:27:37 +01:00
Rostislav M. Georgiev
2c4a3ae24c kubeadm: Fix fuzzer test for NodeRegistrationOptions
The fuzzer test for NodeRegistrationOptions is defaulting the CRISocket member.
This is a left over from the times this member was statically defaulted in the
config. Now that the member is dynamically defaulted, setting CRISocket to foo
can cause issues to get undetected by the fuzzer test with this member.

The resolution is to stop setting CRISocket in the fuzzer test.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-03-11 14:09:53 +02:00
d-kuro
4f301cc97a
Fix typo 2019-03-11 13:12:46 +09:00
Lubomir I. Ivanov
c5c4cd2580 kubeadm: print key inside the upload-certs phase of init
The standalone execution of upload-certs phase does not print
the key that that user should use for the newly uploaded encrypted
secret. Print this key in the upload-certs phase in both
standalone mode or if executed in the standard init workflow.

Make it possible to omit the printing if the user passes
--skip-certificate-key-print.

Also:
- Uppercase string in Printf call in copycerts.go
- Don't use V(1) for the "Skipping phase" message in uploadcerts.go
instead always print a message that the user case use
--experimental-upload-certs. This solves a problem if the user tried
the standalone phase but didn't pass --experimental-upload-certs.
2019-03-10 19:13:06 +02:00
Rafael Fernández López
b57c8e2c45
kubeadm: fix join message if kubeadm-certs secret is not present
`kubeadm init phase upload-certs` requires --experimental-upload-certs
argument. Make this explicit in the error if the secret is missing.
2019-03-08 22:34:11 +01:00
Rostislav M. Georgiev
36783eb88b kubeadm: remove v1alpha3
Remove deprecated old v1alpha3 kubeadm config.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-03-08 14:54:51 +02:00
Rostislav M. Georgiev
4567e7e79e kubeadm: Cleanup CommonConfiguration
CommonConfiguration is an interface, that aims at abstracting common
configuration of InitConfiguration and JoinConfiguration. It was never widely
used and never got too much functionality attached to it. With recent
developments in the kubeadm config field, it got even more out of touch with
reality and where things are going.
Thus, the only viable solution is to remove it completely.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-03-08 14:45:30 +02:00
qingsenLi
55d34ac97e fix a typo 2019-03-08 04:05:49 +08:00
Kubernetes Prow Robot
f0418ac3c2
Merge pull request #75082 from neolit123/reset-clean-status
kubeadm-reset: add means to clear the ClusterStatus
2019-03-07 05:15:02 -08:00
Marek Counts
a9eea0a353 kubeadm-reset: add means to clear the ClusterStatus
Add ResetClusterStatusForNode() that clears a certain
control-plane node's APIEndpoint from the ClusterStatus
key in the kubeadm ConfigMap on "kubeadm reset".
2019-03-07 04:03:19 +02:00
Timothy St. Clair
ef31616e45 Revert "Merge pull request #74628 from hpandeycodeit/alpha_kubeconf"
This reverts commit 7053e43b2e, reversing
changes made to d58ff3bfc0.
2019-03-06 14:07:15 -06:00
Kubernetes Prow Robot
c360bac6e2
Merge pull request #75032 from rosti/win-test
kubeadm: Don't hardcode temp path in a test
2019-03-06 09:51:15 -08:00
Kubernetes Prow Robot
0e2c26829c
Merge pull request #75013 from neolit123/fix-join-flags
kubeadm: amend flags for join phases
2019-03-06 09:51:04 -08:00
Kubernetes Prow Robot
5ff303000a
Merge pull request #72685 from yagonobre/bump-minimum
Bump minimum kubeadm supported version to v1.13
2019-03-06 08:24:10 -08:00
Rostislav M. Georgiev
5a3b1a0c7c kubeadm: Don't hardcode temp path in a test
Hardcoding a temp path of /tmp/... is not portable and can potentially cause
other issues (such as flakyness) too.
Use TempFile instead.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-03-06 12:27:31 +02:00
Kubernetes Prow Robot
e15ebcd632
Merge pull request #74952 from ping035627/k8s-190305
Fix some typos
2019-03-06 02:08:02 -08:00
Kubernetes Prow Robot
d7971e24f3
Merge pull request #74870 from neolit123/fix-join-phase
kubeadm: update output of init, join reset commands
2019-03-06 00:44:38 -08:00
Kubernetes Prow Robot
2b63efcd3e
Merge pull request #74671 from yagonobre/certificate-key
Add certificate-key to kubeadm upload-certs phase, and improve init output
2019-03-05 21:42:32 -08:00
Lubomir I. Ivanov
3e151ab546 kubeadm: amend flags for join phases
Certain join phases have flags that are redundant:
- getControlPlanePreparePhaseFlags():
  - amend flags (use switch / case)
  - add example for the parent command
  - rename internal function and sub-phase "manifests"
    to "control-plane"
- getControlPlaneJoinPhaseFlags():
  - amend flags
  - remove MacroCommandLongDescription
2019-03-06 04:59:35 +02:00
Yago Nobre
59d2f13850
Bump minimum kubeadm supported version to v1.12 2019-03-05 23:45:17 -03:00
Lubomir I. Ivanov
6f6b364b9c kubeadm: update output of init, join reset commands
- move most unrelated to phases output to klog.V(1)
- rename some prefixes for consistency - e.g.
[kubelet] -> [kubelet-start]
- control-plane-prepare: print details for each generated CP
component manifest.
- uppercase the info text for all "[reset].." lines
- modify the text for one line in reset
2019-03-06 03:17:35 +02:00
Yago Nobre
b1936853c4
Add certificate-key to kubeadm init upload-certs phase, and improve init output 2019-03-05 14:35:52 -03:00
PingWang
55dac4804f Fix some typos
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-03-05 17:58:09 +08:00
Lubomir I. Ivanov
af9e3fcfaa kubeadm: add a flag to RunInitNodeChecks to indicate sec. control-plane
Add an extra flag isSecondaryControlPlane to RunInitNodeChecks
which can be used to indicate that the node we are checking is
a secondary control-plane. In such a case we skip some tests
that are already covered by  RunJoinNodeChecks and
RunOptionalJoinNodeChecks.
2019-03-05 02:44:30 +02:00
Lubomir I. Ivanov
269a07c077 kubeadm-reset: fetch init config only if client is non-nil 2019-03-04 04:14:51 +02:00
Kubernetes Prow Robot
37f0138278
Merge pull request #71874 from neolit123/fix-kubeconfig-path
kubeadm: use DefValue for the --kubeconfig flag
2019-03-03 17:28:44 -08:00
Kubernetes Prow Robot
1f6ea0455b
Merge pull request #74780 from pytimer/kubeadm-reduce
kubeadm: reduce some functions number of parameters
2019-03-03 04:23:24 -08:00
pytimer
f600348006 kubeadm: reduce some functions number of parameters 2019-03-03 15:16:19 +08:00
fabriziopandini
a3ed9f0c2c join-phases-texts 2019-03-02 21:52:04 +01:00
Kubernetes Prow Robot
e1b79abfec
Merge pull request #74831 from fabriziopandini/remove-discovery-flags
Remove discovery flags from kubeadm join phases (when possible)
2019-03-02 11:16:12 -08:00
fabriziopandini
5ecd74afbe remove-discovery-flags 2019-03-02 18:31:32 +01:00
Kubernetes Prow Robot
d8d260a09d
Merge pull request #74755 from liggitt/kubelet-watch
Revert kubelet to default to ttl cache secret/configmap behavior
2019-03-01 19:14:14 -08:00
Kubernetes Prow Robot
fc30b38021
Merge pull request #74756 from fabriziopandini/cleanup-join-phases
Cleanup join data struct
2019-03-01 14:08:58 -08:00
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
Kubernetes Prow Robot
9fd7a4c2dc
Merge pull request #74751 from fabriziopandini/cleanup-join-phases-flags
cleanup-join-phases-flags
2019-02-28 17:52:30 -08:00
Jordan Liggitt
cd1c9f9018 Revert kubelet to default to ttl cache secret/configmap behavior 2019-02-28 17:54:22 -05:00
fabriziopandini
4c27d6a213 cleanup-join-phases 2019-02-28 23:37:25 +01:00
fabriziopandini
d102dac411 cleanup-join-phases-flags 2019-02-28 22:25:35 +01:00
Dmitry Rozhkov
bb8f4ac84f kubeadm: use Infoln instead of Infof where appropriate 2019-02-28 16:12:34 +02:00
Kubernetes Prow Robot
83fc13e640
Merge pull request #74511 from rojkov/kubeadm-refactor-enforceRequirements
kubeadm: move duplicated code into enforceRequirements()
2019-02-28 03:06:57 -08:00
Kubernetes Prow Robot
7053e43b2e
Merge pull request #74628 from hpandeycodeit/alpha_kubeconf
Removed alpha kubeconfig command
2019-02-27 14:40:16 -08:00
Himanshu Pandey
94b5945d53 Removed alpha kubeconfig command 2019-02-27 10:08:42 -08:00
Kubernetes Prow Robot
86c274043a
Merge pull request #74630 from xichengliudui/fixleftoverproblem
Fix the legacy of #74479
2019-02-26 19:40:36 -08:00
Kubernetes Prow Robot
c6b2a87cdb
Merge pull request #74168 from ereslibre/join-download-certs
kubeadm: Join download certs
2019-02-26 16:50:24 -08:00
Kubernetes Prow Robot
e64336e94b
Merge pull request #74590 from vanduc95/cleanup-kubeadm-cont.6-20190226
kubeadm cleanup: master -> control-plane (cont.6)
2019-02-26 15:30:03 -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
d476f20d79
Merge pull request #74479 from ping035627/k8s-190223
Add port constants
2019-02-26 12:44:47 -08:00
Kubernetes Prow Robot
be8a9b9637
Merge pull request #74422 from liggitt/client-version-methods
Remove deprecated versionless client interface methods
2019-02-26 12:44:24 -08:00
Kubernetes Prow Robot
c487757e88
Merge pull request #74410 from pytimer/kubeadm-fix
kubeadm: reduce the number of fetch configuration when reset
2019-02-26 12:44:14 -08: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
Jordan Liggitt
d1e865ee34 Update client callers to use explicit versions 2019-02-26 08:36:30 -05:00
vanduc95
3759fcd4c8 kubeadm cleanup: master -> control-plane (cont.6) 2019-02-26 18:42:27 +07:00
pytimer
3306efd619 kubeadm: reduce the number of fetch configuration when reset 2019-02-26 19:40:42 +08:00
Kubernetes Prow Robot
465f7ebf43
Merge pull request #74557 from vanduc95/cleanup-kubeadm-cont.5-20190225
kubeadm cleanup: master -> control-plane (cont.5)
2019-02-26 03:10:20 -08:00
cqy0532
0a0fea60a0 fix typo kubeadm joiń -> kubeadm join 2019-02-26 17:26:41 +08:00
Kubernetes Prow Robot
4e8e3c2f02
Merge pull request #74559 from zhouxiaoninga/fixtypes
Fix typo joiń -> join
2019-02-25 23:12:11 -08:00
Kubernetes Prow Robot
8326ea71a3
Merge pull request #74403 from ping035627/k8s-190222
Code cleanup and refactoring
2019-02-25 20:28:09 -08:00
vanduc95
0296cfb2b8 kubeadm cleanup: master -> control-plane (cont.5) 2019-02-26 09:04:54 +07:00
PingWang
1a439cc646 Add port constants
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

use pkg/master/ports constants

Signed-off-by: PingWang <wang.ping5@zte.com.cn>

update-bazel

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-02-26 09:18:15 +08:00
zhouxiaoning
802c751053 纠正join 2019-02-26 09:10:00 +08:00
Lubomir I. Ivanov
de5e17e6c3 kubeadm/phases: use common interfaces for init and join phases
The custom sub-set interfaces in init/join phases as a pattern
have isolation benefits - e.g. when a consumer imports these
but we don't want them to be able to call all methods from
the original object that satisfies a complete interface.

On the other hand these sub-set interfaces under phases/init
and phases/join are private.

Expose a couple of new common interfaces:
- InitData from phases/init/data.go
- JoinData from phases/join/data.go

Use these interfaces in init/join phases accordingly instead
of the sub-set interfaces.

Use compile-time type assertion to verify that these
interfaces can be satisfied by init.go's initData and
join.go's joinData.

Add NO-OP objects called testInitData and joinInitData
that can be used for unit testing if embedded.
2019-02-26 02:23:50 +02:00
Kubernetes Prow Robot
4b8ecd68f3
Merge pull request #74509 from ping035627/k8s-190225-1
Fix typos
2019-02-25 15:15:51 -08:00
Kubernetes Prow Robot
b22da83307
Merge pull request #74473 from vanduc95/cleanup-kubeadm-cont.4-20190223
kubeadm cleanup: master -> control-plane (cont.4)
2019-02-25 15:15:30 -08:00
Dmitry Rozhkov
226843fe28 kubeadm: move duplicated code into enforceRequirements()
and to a new function getK8sVersionFromUserInput().

Also drop applyPlanFlags.ignorePreflightErrorsSet field which is not
a command line option.
2019-02-25 16:26:20 +02:00
PingWang
88d6e89279 Fix typos
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-02-25 17:12:44 +08:00
RA489
a0ee4b471d Refactor etcd client function have same signatures in etcd.go 2019-02-25 12:54:12 +05:30
ducnv
e11916da8e kubeadm cleanup: master -> control-plane (cont.4) 2019-02-25 08:29:19 +07:00
Kubernetes Prow Robot
5312ade3d1
Merge pull request #74457 from neolit123/fix-kubeproxy-winkernel
kubeadm: fix issue with missing kubeproxy fields in test data
2019-02-23 14:05:15 -08:00
Lubomir I. Ivanov
b2cc473388 kubeadm: fix issue with missing kubeproxy fields in test data 2019-02-23 19:13:16 +02: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
Kubernetes Prow Robot
8993fbc543
Merge pull request #74328 from daixiang0/delete-blank
delete all duplicate empty blanks
2019-02-23 01:43:58 -08:00
Kubernetes Prow Robot
b5566c7818
Merge pull request #71896 from awly/client-go-keyutil
client-go: extract new keyutil package from util/cert
2019-02-23 01:43:16 -08:00
Kubernetes Prow Robot
1d2d2d0ab2
Merge pull request #74390 from vanduc95/cleanup-kubeadm-cont.3-20190222
kubeadm cleanup: master -> control-plane (cont.3)
2019-02-22 23:27:40 -08:00
Kubernetes Prow Robot
e4302c96e1
Merge pull request #74428 from bart0sh/PR0063-kubeadm-remove-dead-code
kubeadm: remove dead code
2019-02-22 19:19:27 -08:00
vanduc95
57d04cafee kubeadm cleanup: master -> control-plane (cont.3) 2019-02-23 10:19:26 +07:00
Kubernetes Prow Robot
65cdd7e74a
Merge pull request #74400 from rojkov/kubeadm-refactor-etcdClient
kubeadm: simplify creating etcdClient
2019-02-22 19:19:16 -08:00
Xiang Dai
36065c6dd7 delete all duplicate empty blanks
Signed-off-by: Xiang Dai <764524258@qq.com>
2019-02-23 10:28:04 +08:00
Ed Bartosh
39871f565d kubeadm: remove dead code
Removed unused functions and variables from
the kubeadm codebase.
2019-02-22 23:01:14 +01:00
PingWang
8fef7221a1 Code cleanup and refactoring
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-02-22 16:48:00 +08:00
Kubernetes Prow Robot
9e53b85d28
Merge pull request #74112 from pytimer/kubeadm-reset
kubeadm: Remove etcd members from the etcd cluster when reset the nodes
2019-02-22 00:19:40 -08:00
Dmitry Rozhkov
926d9012a4 kubeadm: simplify creating etcdClient
There is no need to overshadow `client` with a transitive variable
used solely for transfering its value to `etcdClient`.
2019-02-22 09:41:46 +02:00
Kubernetes Prow Robot
9dbc8912d9
Merge pull request #74355 from brb/kubeadm-support-kernel-5
kubeadm: Support >= 5.0 Linux kernel
2019-02-21 17:47:40 -08:00
pytimer
83f5296a14 kubeadm: Remove etcd member from the etcd cluster when reset the control plane node 2019-02-22 09:13:01 +08:00
Kubernetes Prow Robot
739af85d7a
Merge pull request #74064 from vanduc95/cleanup-kubeadm-cont.2-20190214
kubeadm cleanup: master -> control-plane (cont.2)
2019-02-21 10:43:07 -08:00
Martynas Pumputis
148b222d97 kubeadm: Support >= 5.0 Linux Kernel
Signed-off-by: Martynas Pumputis <m@lambda.lt>
2019-02-21 17:31:15 +01:00
Kubernetes Prow Robot
62ba022249
Merge pull request #74329 from ping035627/k8s-190221
Delete unuse const and fix some typos
2019-02-21 08:04:10 -08:00
Kubernetes Prow Robot
2721ca28ee
Merge pull request #74256 from rojkov/kubeadm-refactor-drop-newK8sVersionStr
kubeadm: drop applyFlags.newK8sVersionStr field
2019-02-21 08:03:58 -08:00
PingWang
ac132aae60 Delete unuse const and fix some typos
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2019-02-21 11:09:09 +08:00
vanduc95
ae1ec8826a kubeadm cleanup: master -> control-plane (cont.2) 2019-02-21 10:02:24 +07:00
xichengliudui
fb7bc5c4ea Fix the legacy of #74479 2019-02-20 17:09:30 -05:00
Kubernetes Prow Robot
c06ca11b5d
Merge pull request #70896 from ksubrmnn/overlay_dsr
Adding Windows Overlay support to Kube Proxy
2019-02-20 12:53:13 -08:00
Kubernetes Prow Robot
b4a2b63561
Merge pull request #73907 from yagonobre/init-upload-certs
Add kubeadm init upload encrypted certs phase
2019-02-20 11:33:44 -08:00
Kubernetes Prow Robot
b0f6857f92
Merge pull request #74277 from neolit123/fix-join-phase
kubeadm/join: expose the KubeConfigPath() method to joinData
2019-02-20 07:44:57 -08:00
Lubomir I. Ivanov
5db0c61788 kubeadm/join: expose the KubeConfigPath() method to joinData
This fixes the following error:
"error execution phase control-plane-join/etcd:
control-plane-join phase invoked with an invalid data struct"

The problem here is that joinData cannot be type-asserted
to the interface type under controlplanejoin.go (controlPlaneJoinData)
because joinData lacks KubeConfigPath.

Given we use KubeConfigPath in more than one place for join
it makes sense to define define the method and make it return:
kubeadmconstants.GetAdminKubeConfigPath()
2019-02-20 14:17:53 +02:00
Kubernetes Prow Robot
7b203c6809
Merge pull request #74137 from rajansandeep/readinessprobe
Add readinessProbe to CoreDNS
2019-02-19 16:24:04 -08:00
Kubernetes Prow Robot
2911e86e0e
Merge pull request #73452 from RA489/graduate-control-plane-join-phase
kubeadm: graduate control plane join phase
2019-02-19 09:55:23 -08:00
Andrew Lytvynov
18458392ca Extract new keyutil package from client-go/util/cert
This package contains public/private key utilities copied directly from
client-go/util/cert. All imports were updated.

Future PRs will actually refactor the libraries.

Updates #71004
2019-02-19 09:48:59 -08:00
Kubernetes Prow Robot
cd07a336f1
Merge pull request #73775 from yagonobre/init-certs
Remove todos from init upload certs
2019-02-19 08:37:18 -08:00
Lubomir I. Ivanov
363c778d45 kubeadm: use DefValue for the --kubeconfig flag
- Rename FindExistingKubeConfig to GetKubeConfigPath

- Cobra supports a DefValue option which can be used
to differentiate between the cases where the user set a flag
and when a flag was unset, while still adding a default value.
Use this in options/generic.go for the kubeconfig flag.

- Remove the GetKubeConfigPath() logic from `reset` and `upgrade`
as these are node level kubeadm commands.

- Default kubeconfig values to "" everywhere where GetKubeConfigPath
is used. This allows to search for existing kubeconfig locations.
2019-02-19 17:35:37 +02:00
Sandeep Rajan
37c3d68a91 Add readinessProbe 2019-02-19 10:14:12 -05:00
Dmitry Rozhkov
45ed7ae051 kubeadm: drop applyFlags.newK8sVersionStr field
The structure `applyFlags` is meant to keep a user's
input from command line and as such should be immutable.

Use either a variable or the validated `InitConfig.KubernetesVersion`
field instead.
2019-02-19 15:42:32 +02:00
Rostislav M. Georgiev
f64baf755e kubeadm: Don't load deprecated configs
Currently kubeadm supports a couple of configuration versions - v1alpha3 and
v1beta1. The former is deprecated, but still supported.

To discourage users from using it and to speedup conversion to newer versions,
we disable the loading of deprecated configurations by all kubeadm
sub-commands, but "kubeadm config migrate".

v1alpha3 is still present and supported at source level, but cannot be used
directly with kubeadm and some of its internal APIs.

The added benefit to this is, that users won't need to lookup for an old
kubeadm binary after upgrade, just because they were stuck with a deprecated
config version for too long.

To achieve this, the following was done:

- ValidateSupportedVersion now has an allowDeprecated boolean parameter, that
  controls if the function should return an error upon detecting deprecated
  config version. Currently the only deprecated version is v1alpha3.

- ValidateSupportedVersion is made package private, because it's not used
  outside of the package anyway.

- BytesToInitConfiguration and LoadJoinConfigurationFromFile are modified to
  disallow loading of deprecated kubeadm config versions. An error message,
  that points users to kubeadm config migrate is returned.

- MigrateOldConfig is still allowed to load deprecated kubeadm config versions.

- A bunch of tests were fixed to not expect success if v1alpha3 config is
  supplied.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-02-19 12:27:39 +02:00
Yago Nobre
79fd5f25a7 Add kubeadm init upload encrypted certs phase 2019-02-19 02:52:21 -03:00
RA489
6bbed9fef0 kubeadm: graduate control plane join phase 2019-02-19 11:09:00 +05:30
Yago Nobre
3a6c80c372 Remove todos from init certs phase 2019-02-18 21:33:19 -03:00
Kubernetes Prow Robot
9891824352
Merge pull request #74212 from rojkov/kubeadm-drop-applyFlags-newK8sVersion
kubeadm: drop applyFlags.newK8sVersion field
2019-02-18 10:37:42 -08:00
Kubernetes Prow Robot
c923a68470
Merge pull request #74024 from rosti/optimize-config-migrate
kubeadm: Replace MigrateOldConfigFromFile
2019-02-18 10:37:32 -08:00
Dmitry Rozhkov
a49dc107a3 kubeadm: drop applyFlags.newK8sVersion field
since it's not a command line flag. Use a variable instead.
2019-02-18 17:04:30 +02:00
Dmitry Rozhkov
193d0f21c4 kubeadm: use non-formatting constructor for new error 2019-02-18 09:51:53 +02:00
Kubernetes Prow Robot
16e08f3e53
Merge pull request #73408 from Klaven/component-base-flags
Move flag util pkgs to k8s.io/component-base/cli
2019-02-15 16:46:08 -08:00
Kubernetes Prow Robot
f47fbbfd32
Merge pull request #74131 from rojkov/kubeadm-refactor-SessionIsInteractive
kubeadm: unhide the logic for non-interactiveness
2019-02-15 14:05:30 -08:00
Kubernetes Prow Robot
256106e5d1
Merge pull request #74053 from SataQiu/fix-golint-20190214
Fix golint failures on cmd/kubeadm/app/util/config
2019-02-15 12:43:45 -08:00
Kubernetes Prow Robot
07da603b59
Merge pull request #74054 from vanduc95/cleanup-kubeadm-20190214
kubeadm cleanup: master -> control-plane (cont.1)
2019-02-15 07:53:15 -08:00
Marek Counts
160ed26c20 autogen files to support new project structure. 2019-02-15 10:29:31 -05:00
Marek Counts
7744f90830 Moved flag and globalflag
Moved all flag code from `staging/src/k8s.io/apiserver/pkg/util/[flag|globalflag]` to `component-base/cli/[flag|globalflag]` except for the term function because of unwanted dependencies.
2019-02-15 10:28:13 -05:00
Dmitry Rozhkov
339a9c1c1b kubeadm: unhide the logic for non-interactiveness
Currently we maintain the state of the mode of interactiveness
by updating flags.nonInteractiveMode even if the flag hasn't been
set by the user.

Since the computation of the mode is done only once it's easier
and less error prone to calculate the mode in the function
sessionIsInteractive() without mutating any flags.
2019-02-15 14:37:27 +02:00
Kubernetes Prow Robot
b6ca168911
Merge pull request #74072 from bart0sh/PR0061-kubeadm-fix-failed-to-load-admin-kubeconfig
kubeadm: fix kubeadm reset logic
2019-02-14 17:05:41 -08:00
vanduc95
46247b2c93 kubeadm cleanup: master -> control-plane (cont.) 2019-02-15 06:49:31 +07:00
Kubernetes Prow Robot
08d0522730
Merge pull request #73844 from rojkov/kubeadm-restructure-upgradeVariables
kubeadm: restructure upgradeVariables
2019-02-14 07:25:36 -08:00
Ed Bartosh
7a8de82dfd kubeadm: fix kubeadm reset logic
If /etc/kubeadm/amdin.conf doesn't exist kubeadm reset fails
with the error:
    failed to load admin kubeconfig: open /root/.kube/config: no such file or directory

Fixed by properly checking if file exists before using it.
2019-02-14 12:57:25 +02:00
Rostislav M. Georgiev
f73ac0da3e kubeadm: Replace MigrateOldConfigFromFile
MigrateOldConfigFromFile is a function, whose purpose is to migrate one config
into another. It is working OK for now, but it has some issues:

- It is incredibly inefficient. It can reload and re-parse a single config file
  for up to 3 times.

- Because of the reloads, it has to take a file containing the configuration
  (not a byte slice as most of the rest config functions). However, it returns
  the migrated config in a byte slice (rather asymmetric from the input
  method).

- Due to the above points it's difficult to implement a proper interface for
  deprecated kubeadm config versions.

To fix the issues of MigrateOldConfigFromFile, the following is done:

- Re-implement the function by removing the calls to file loading package
  public APIs and replacing them with newly extracted package private APIs that
  do the job with pre-provided input data in the form of
  map[GroupVersionKind][]byte.

- Take a byte slice of the input configuration as an argument. This makes the
  function input symmetric to its output. Also, it's now renamed to
  MigrateOldConfig to represent the change from config file path as an input
  to byte slice.

- As a bonus (actually forgotten from a previous change) BytesToInternalConfig
  is renamed to the more descriptive BytesToInitConfiguration.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-02-14 11:52:33 +02:00
Kubernetes Prow Robot
30c7df5cd8
Merge pull request #73987 from vanduc95/cleanup-kubeadm-20190213
kubeadm cleanup: master -> control-plane
2019-02-13 23:07:11 -08:00
Kubernetes Prow Robot
d01b01beb2
Merge pull request #74032 from tedyu/master
Use Set to check whether flag name is allowed flag
2019-02-13 20:33:17 -08:00
Kubernetes Prow Robot
5b600c5ce3
Merge pull request #73988 from SataQiu/kubeadm-cleanup-20190213
kubeadm cleanup: master -> control-plane :)
2019-02-13 20:32:57 -08:00
SataQiu
19c7f4cb0b fix golint failures on cmd/kubeadm/app/util/config 2019-02-14 12:11:24 +08:00
vanduc95
0e8941f7ec kubeadm cleanup: master -> control-plane 2019-02-14 09:18:42 +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
Kubernetes Prow Robot
07428f7e5d
Merge pull request #73992 from SataQiu/golint-fix-20190213
Fix golint failures on cmd/kubeadm/app
2019-02-13 12:16:20 -08:00
Kubernetes Prow Robot
a20c186d80
Merge pull request #73942 from rumshenoy/cleanup_constants
Move all constants to a single `const (`
2019-02-13 10:59:53 -08:00
Kubernetes Prow Robot
2bfbbc3141
Merge pull request #73998 from yagonobre/fix-mixed-args
Allow the usage of --kubeconfig-dir and --config flags on kubeadm init
2019-02-13 09:45:28 -08:00
SataQiu
7edea2b77f kubeadm cleanup: master -> control-plane 2019-02-13 23:13:31 +08:00
Yago Nobre
277dfbbdeb Add --kubeconfig-dir to validate mixed arguments whitelist, and refactor ValidateMixedArguments 2019-02-13 04:06:26 -02:00
SataQiu
a957c83181 fix golint failures on cmd/kubeadm/app 2019-02-13 12:02:28 +08:00
Kubernetes Prow Robot
2981fb7a01
Merge pull request #73950 from SataQiu/cleanup-kubeadm-20190212
kubeadm cleanup: master -> control-plane
2019-02-12 12:40:11 -08:00
Kubernetes Prow Robot
51f5164f89
Merge pull request #73945 from neolit123/kubeadm-tests-non-linux
kubeadm: remove nodefs.inodesFree test defaulting on non-Linux
2019-02-12 12:40:01 -08:00
Ramya Shenoy
26392c0acd Move all constants to a single const (
[#1400]
2019-02-12 09:52:11 -08:00
Rafael Fernández López
30dc43ff86
kubeadm: set priority class name to system-cluster-critical for all master components
Remove the deprecated `scheduler.alpha.kubernetes.io/critical-pod` pod annotation and use
the `priorityClassName` first class attribute instead, setting all master components to
`system-cluster-critical`.
2019-02-12 17:50:36 +01:00
Lubomir I. Ivanov
19e89c32f5 kubeadm: remove nodefs.inodesFree test defaulting on non-Linux
Add test files that exclude the field in question
under KubeletConfiguration -> evictionHard for non-Linux.

Add runtime abstraction for the test files in initconfiguration_tests.go
2019-02-12 14:19:47 +02:00
SataQiu
ab9709ff70 kubeadm cleanup: master -> control-plane 2019-02-12 17:31:35 +08:00
Rostislav M. Georgiev
0dfc1d6ded kubeadm: Don't dump backtrace on reset
The current code logs an error and full blown backtrace if we fail to remove
the containers upon reset. This creates unneeded, huge and rather scary log
message. Fix that by leaving just the error message.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-02-12 11:24:11 +02:00
Kubernetes Prow Robot
aa00afe231
Merge pull request #73649 from ojmhetar/coredns-priorityclass
Add priority class to CoreDNS pods
2019-02-11 22:55:45 -08:00
Davanum Srinivas
1d430a4a73
Remove unnecessary prefixes from various .import-restrictions files
Found using script:
https://gist.github.com/dims/384dea60754042f61d79233603034038

Just run using:
`find . -name .import-restrictions | xargs python ~/junk/sanitize-import-boss.py`

The removed entries are either packages that got moved/renamed/deleted
but are still not cleaned up from .import-restrictions files.

Change-Id: I92c400f74e6f012cc75539311ed4de280e25e918
2019-02-11 16:47:28 -05:00
Rostislav M. Georgiev
51197e4393 kubeadm: Refactor InitConfiguration init APIs
Currently ConfigFileAndDefaultsToInternalConfig and
FetchConfigFromFileOrCluster are used to default and load InitConfiguration
from file or cluster. These two APIs do a couple of completely separate things
depending on how they were invoked. In the case of

ConfigFileAndDefaultsToInternalConfig, an InitConfiguration could be either
defaulted with external override parameters, or loaded from file.
With FetchConfigFromFileOrCluster an InitConfiguration is either loaded from
file or from the config map in the cluster.

The two share both some functionality, but not enough code. They are also quite
difficult to use and sometimes even error prone.

To solve the issues, the following steps were taken:

- Introduce DefaultedInitConfiguration which returns defaulted version agnostic
  InitConfiguration. The function takes InitConfiguration for overriding the
  defaults.

- Introduce LoadInitConfigurationFromFile, which loads, converts, validates and
  defaults an InitConfiguration from file.

- Introduce FetchInitConfigurationFromCluster that fetches InitConfiguration
  from the config map.

- Reduce, when possible, the usage of ConfigFileAndDefaultsToInternalConfig by
  replacing it with DefaultedInitConfiguration or LoadInitConfigurationFromFile
  invocations.

- Replace all usages of FetchConfigFromFileOrCluster with calls to
  LoadInitConfigurationFromFile or FetchInitConfigurationFromCluster.

- Delete FetchConfigFromFileOrCluster as it's no longer used.

- Rename ConfigFileAndDefaultsToInternalConfig to
  LoadOrDefaultInitConfiguration in order to better describe what the function
  is actually doing.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-02-11 14:45:34 +02:00
Kubernetes Prow Robot
a1cc48bf59
Merge pull request #73837 from neolit123/preflight-docker-cgroup
kubeadm: add a preflight check for Docker and cgroup driver
2019-02-09 08:45:11 -08:00
Lubomir I. Ivanov
3b3b79fe2c autogenerated bazel 2019-02-08 19:31:22 +02:00
Lubomir I. Ivanov
1d032c40d3 kubeadm: add a preflight check for Docker and cgroup driver
systemd is the recommended driver as per the setup of running
the kubelet using systemd as the init system. Add a preflight
check that throws a warning if this isn't the case.
2019-02-08 19:31:22 +02:00
Kubernetes Prow Robot
b50c643be0
Merge pull request #73540 from rlenferink/patch-5
Updated OWNERS files to include link to docs
2019-02-08 09:05:56 -08:00
Kubernetes Prow Robot
395e4c05ba
Merge pull request #73745 from rosti/refactor-JoinConfigFileAndDefaultsToInternalConfig
kubeadm: refactor JoinConfigFileAndDefaultsToInternalConfig
2019-02-08 06:54:16 -08:00
Rostislav M. Georgiev
09f753a94c kubeadm: refactor JoinConfigFileAndDefaultsToInternalConfig
Currently JoinConfigFileAndDefaultsToInternalConfig is doing a couple of
different things depending on its parameters. It:

- loads a versioned JoinConfiguration from an YAML file.
- returns defaulted JoinConfiguration allowing for some overrides.

In order to make code more manageable, the following steps are taken:

- Introduce LoadJoinConfigurationFromFile, which loads a versioned
  JoinConfiguration from an YAML file, defaults it (both dynamically and
  statically), converts it to internal JoinConfiguration and validates it.

- Introduce DefaultedJoinConfiguration, which returns defaulted (both
  dynamically and statically) and verified internal JoinConfiguration.
  The possibility of overwriting defaults via versioned JoinConfiguration is
  retained.

- Re-implement JoinConfigFileAndDefaultsToInternalConfig to use
  LoadJoinConfigurationFromFile and DefaultedJoinConfiguration.

- Replace some calls to JoinConfigFileAndDefaultsToInternalConfig with calls to
  either LoadJoinConfigurationFromFile or DefaultedJoinConfiguration where
  appropriate.

- Rename JoinConfigFileAndDefaultsToInternalConfig to the more appropriate name
  LoadOrDefaultJoinConfiguration.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-02-08 14:00:02 +02:00
Dmitry Rozhkov
6ac76f9859 kubeadm: restructure upgradeVariables 2019-02-08 11:45:33 +02:00
Kubernetes Prow Robot
eac19a3ab9
Merge pull request #73616 from dims/move-part-of-kubelet-apis-well-known-lables
move pkg/kubelet/apis/well_known_labels.go to staging/src/k8s.io/api/core/v1/
2019-02-07 19:44:34 -08:00
Kubernetes Prow Robot
7d1dc61920
Merge pull request #73678 from ereslibre/do-not-create-etcd-datadir-dryrun
kubeadm: do not create etcd datastore if we are in dryrun mode
2019-02-07 15:49:53 -08:00
Kubernetes Prow Robot
5b6a23f3af
Merge pull request #73798 from MalloZup/remove-wrong-string
kubeadm: improve ux on infoMsg kubeconfig
2019-02-07 10:20:34 -08:00
Ojas M
ebb5b9436f Add priorityClassName to kubeadm kubedns manifest 2019-02-07 09:21:05 -08:00
Ojas M
b41bafac7c Add priorityClassName to kubeadm coredns manifest 2019-02-06 15:23:37 -08:00
dmaiocchi
83b808b3b0 kubeadm: improve ux on infoMsg kubeconfig 2019-02-06 23:27:12 +01:00
Rafael Fernández López
981bf1930c
kubeadm: do not create etcd datastore if we are in dryrun mode
This allows for kubeadm tests to pass when run with an unprivileged
user.
2019-02-06 22:59:19 +01:00
Yago Nobre
e7a8ac1099
kubeadm: graduate kubelet start join phase 2019-02-06 01:35:28 -02:00
ksubrmnn
164f79e2d4 Update config tests 2019-02-05 10:39:23 -08:00
Davanum Srinivas
b975573385
move pkg/kubelet/apis/well_known_labels.go to staging/src/k8s.io/api/core/v1/
Co-Authored-By: Weibin Lin <linweibin1@huawei.com>

Change-Id: I163b2f2833e6b8767f72e2c815dcacd0f4e504ea
2019-02-05 13:39:07 -05:00
Kubernetes Prow Robot
667584cec0
Merge pull request #73728 from neolit123/kubeadm-remove-experimental-config
kubeadm: remove warning about config usage
2019-02-05 06:47:39 -08:00
Kubernetes Prow Robot
28fefba116
Merge pull request #73725 from fabriziopandini/kubeadm-organize-phases
kubeadm: organize phases cmd
2019-02-05 03:18:42 -08:00
Lubomir I. Ivanov
b9816b1231 kubeadm: remove warning about config usage 2019-02-05 03:06:25 +02:00
fabriziopandini
64a7c0c7a5 autogenerated 2019-02-05 00:36:24 +01:00
fabriziopandini
f38217c75b kubeadm-organize-phases 2019-02-05 00:36:12 +01:00
Roy Lenferink
b43c04452f Updated OWNERS files to include link to docs 2019-02-04 22:33:12 +01:00
fabriziopandini
7333cc79d6 remove-kubeadm-alpha-preflight 2019-02-04 21:57:55 +01:00
Kubernetes Prow Robot
9d6ebf6c78
Merge pull request #73467 from ashishranjan738/newpackage
Refactor to use k8s.io/utils/net/ package instead of kubernetes/pkg/util/net/sets
2019-02-04 11:43:14 -08:00
Rafael Fernández López
031ce12dbd
kubeadm: graduate control plane prepare phase 2019-02-04 09:58:06 +01:00
Ashish Ranjan
7be223e798 Refactor to use k8s.io/utils/net/ package instead of kubernetes/pkg/util/net/sets
Signed-off-by: Ashish Ranjan <ashishranjan738@gmail.com>
2019-02-04 10:34:53 +05:30
Kubernetes Prow Robot
0c2613c71a
Merge pull request #73474 from rosti/IsSupportedVersion
kubeadm: Introduce ValidateSupportedVersion
2019-02-02 01:59:37 -08:00
Rostislav M. Georgiev
e10dcf07d7 kubeadm: Introduce ValidateSupportedVersion in place of DetectUnsupportedVersion
DetectUnsupportedVersion is somewhat uncomfortable, complex and inefficient
function to use. It takes an entire YAML document as bytes, splits it up to
byte slices of the different YAML sub-documents and group-version-kinds and
searches through those to detect an unsupported kubeadm config. If such config
is detected, the function returns an error, if it is not (i.e. the normal
function operation) everything done so far is discarded.

This could have been acceptable, if not the fact, that in all cases that this
function is called, the YAML document bytes are split up and an iteration on
GVK map is performed yet again. Hence, we don't need DetectUnsupportedVersion
in its current form as it's inefficient, complex and takes only YAML document
bytes.

This change replaces DetectUnsupportedVersion with ValidateSupportedVersion,
which takes a GroupVersion argument and checks if it is on the list of
unsupported config versions. In that case an error is returned.
ValidateSupportedVersion relies on the caller to read and split the YAML
document and then iterate on its GVK map checking if the particular
GroupVersion is supported or not.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-02-01 19:35:39 +02:00
Kubernetes Prow Robot
b5b627d522
Merge pull request #73636 from bart0sh/PR0059-kubeadm-reset-fix-null-pointer-dereference
kubeadm: fix nil pointer dereference
2019-02-01 09:03:56 -08:00
Kubernetes Prow Robot
5dd46ad911
Merge pull request #73406 from MalloZup/02-refactor
Limit scope and refactor config functions
2019-02-01 07:44:37 -08:00
Ed Bartosh
ab655a29b8 kubeadm: fix nil pointer dereference
If configuration file doesn't exist client variable is not assigned
and causes kubeadm crash:

$ sudo ./_output/bin/kubeadm reset
[reset] Reading configuration from the cluster...
[reset] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0xf8 pc=0x108c9e7]

goroutine 1 [running]:
cmd/kubeadm/app/util/config.getInitConfigurationFromCluster(0x171109b, 0xf, 0x0, 0x0, 0xc0005b5a00, 0x3, 0x3, 0x69)
	cmd/kubeadm/app/util/config/cluster.go:93 +0x37
cmd/kubeadm/app/util/config.loadConfiguration(0x0, 0x0, 0x18d63a0, 0xc00000c018, 0x170620b, 0x5, 0x0, 0x0, 0x15d6000, 0x18d7601, ...)
	cmd/kubeadm/app/util/config/cluster.go:67 +0x374
k8s.io/kubernetes/cmd/kubeadm/app/util/config.FetchConfigFromFileOrCluster(0x0, 0x0, 0x18d63a0, 0xc00000c018, 0x170620b, 0x5, 0x0, 0x0, 0x497700, 0x18d63e0, ...)
	cmd/kubeadm/app/util/config/cluster.go:45 +0x9c
k8s.io/kubernetes/cmd/kubeadm/app/cmd.resetDetectCRISocket(0x0, 0x0, 0x1, 0x0, 0x18d63e0, 0xc0003f0630)
	cmd/kubeadm/app/cmd/reset.go:304 +0x73
k8s.io/kubernetes/cmd/kubeadm/app/cmd.NewCmdReset.func1(0xc0002a6780, 0x26dd548, 0x0, 0x0)
	cmd/kubeadm/app/cmd/reset.go:71 +0x267
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).execute(0xc0002a6780, 0x26dd548, 0x0, 0x0, 0xc0002a6780, 0x26dd548)
	vendor/github.com/spf13/cobra/command.go:760 +0x2cc
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc00019a000, 0xc000389180, 0xc00019a500, 0xc00057c1a0)
	vendor/github.com/spf13/cobra/command.go:846 +0x2fd
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).Execute(0xc00019a000, 0xc00000c010, 0x18d63a0)
	vendor/github.com/spf13/cobra/command.go:794 +0x2b
k8s.io/kubernetes/cmd/kubeadm/app.Run(0xc000086180, 0x18b)
	cmd/kubeadm/app/kubeadm.go:48 +0x202
main.main()
	cmd/kubeadm/kubeadm.go:29 +0x33

Removing check for configuration file existence should fix the issue.
2019-02-01 15:36:43 +02:00
Sandeep Rajan
aa11f6c298 Bump CoreDNS version to 1.3.1 2019-01-31 16:55:02 -05:00
dmaiocchi
fd708d173e refactor config functions 2019-01-31 16:48:18 +01:00
Kubernetes Prow Robot
92076f0d2e
Merge pull request #73501 from dlipovetsky/fix-kubelet-exec-error
kubeadm: Make exec error message more informative
2019-01-30 20:26:03 -08:00
Kubernetes Prow Robot
1f7e9fd9a2
Merge pull request #73488 from andrewsykim/replace-utils-file
Replace pkg/util/file with k8s.io/utils/path
2019-01-30 17:50:16 -08:00
Kubernetes Prow Robot
0f93328c7a
Merge pull request #73457 from xichengliudui/updatedockerversion
Update docker support for k8s
2019-01-30 16:39:01 -08:00
dmaiocchi
71494aa9ce add preflight-phase 2019-01-30 20:43:45 +01:00
xichengliudui
945889988b Update docker support for k8s
update pull request

update pull request

update pull request

update pull request
2019-01-30 03:25:05 -05:00
Kubernetes Prow Robot
d57d606275
Merge pull request #73495 from neolit123/phase-control-plane
kubeadm: fix missing 'all' in 'init phase control-plane'
2019-01-29 16:50:46 -08:00
Daniel Lipovetsky
4fe0d2107d kubeadm: Make exec error message more informative 2019-01-29 16:38:35 -08:00
Kubernetes Prow Robot
bb9a12d6f8
Merge pull request #73487 from ereslibre/phases-cleanup
kubeadm: cleanup of phases arguments
2019-01-29 15:34:30 -08:00
Lubomir I. Ivanov
52e62a73d8 kubeadm: fix missing 'all' in 'init phase control-plane' 2019-01-30 00:24:48 +02:00
Kubernetes Prow Robot
b8b689aae0
Merge pull request #72111 from rosti/reduce-initcfg
kubeadm: Reduce the usage of InitConfiguration
2019-01-29 14:01:07 -08:00
Rafael Fernández López
1bd15658f8
kubeadm: cleanup of phases arguments
* Return `nil` instead of a pointer to an empty struct when possible,
  before the pointer was introduced the empty struct was required.

* Explicitly accept only one argument maximum for `kubeadm join` as in
  `kubeadm join <master>`.

* Accept no arguments for `kubeadm init`.

* Make phases leafs accept arguments, whereas intermediate phases
  automatically gets set that they accept no arguments.
2019-01-29 22:11:59 +01:00
Andrew Kim
84191eb99b replace pkg/util/file with k8s.io/utils/path 2019-01-29 15:20:13 -05:00
Kubernetes Prow Robot
c501d464af
Merge pull request #73267 from rajansandeep/proxytoforward
Use forward plugin instead of proxy plugin in the default configuration of CoreDNS
2019-01-29 11:32:28 -08:00
Kubernetes Prow Robot
5262dba064
Merge pull request #73198 from mourya007/library
Re-Organize the pkutil library
2019-01-29 01:20:42 -08:00
Rostislav M. Georgiev
80e2a3cf07 kubeadm: reduce the usage of InitConfiguration
For historical reasons InitConfiguration is used almost everywhere in kubeadm
as a carrier of various configuration components such as ClusterConfiguration,
local API server endpoint, node registration settings, etc.

Since v1alpha2, InitConfiguration is meant to be used solely as a way to supply
the kubeadm init configuration from a config file. Its usage outside of this
context is caused by technical dept, it's clunky and requires hacks to fetch a
working InitConfiguration from the cluster (as it's not stored in the config
map in its entirety).

This change is a small step towards removing all unnecessary usages of
InitConfiguration. It reduces its usage by replacing it in some places with
some of the following:

- ClusterConfiguration only.
- APIEndpoint (as local API server endpoint).
- NodeRegistrationOptions only.
- Some combinations of the above types, or if single fields from them are used,
  only those field.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-01-28 12:21:01 +02:00
Lubomir I. Ivanov
1b0ba920fe kubeadm: fix a couple of problems related to initData/joinData
Fix a couple of problems related to data used by the phases runners
of `init` and `join`.

1) make `newInitData()` and `newJoinData()` return pointers.

Methods of the data objects returned by these functions should
be able to modify fields in the data objects - e.g.
`func (d initData) Client()`. This allows us to store a state and
not execute the same logic multiple times - e.g. obtaining a client.

A side effect of this change is that the `new...` functions must return
pointers, so that casting the data object in a phase, from
`workflow.RunData` to a locally defined interface, works.

2) Make it possible to pass arguments from a parent command
to a sub-phase with regards to data initialization.
2019-01-26 18:41:19 +02:00
mourya007
7c37e91a6d Re-Organize the pkutil library 2019-01-26 14:56:36 +05:30
Kubernetes Prow Robot
a5e424dc17
Merge pull request #72923 from saschagrunert/dedent-update
Update dedent to latest release
2019-01-25 18:32:23 -08:00
Kubernetes Prow Robot
5673506540
Merge pull request #73320 from liggitt/initializer-cleanup
Clean up initializer-related comments, test data
2019-01-25 15:28:18 -08:00
Kubernetes Prow Robot
d54716338a
Merge pull request #73302 from rajansandeep/prometheusport
Add metrics port to CoreDNS service
2019-01-25 12:04:37 -08:00
Kubernetes Prow Robot
c6a6c65e32
Merge pull request #73316 from rosti/fix-kubeadm-reset
kubeadm: Fix auto CRI detection in kubeadm reset
2019-01-25 10:05:22 -08:00
Jordan Liggitt
89b0b0b84b Clean up initializer-related comments, test data 2019-01-25 12:37:45 -05:00
Kubernetes Prow Robot
ce52bf1265
Merge pull request #73093 from ereslibre/verify-certificate-sans
kubeadm: verify that present certificates contain at least the required SANs
2019-01-25 08:53:08 -08:00
Rostislav M. Georgiev
873accd513 kubeadm: Fix auto CRI detection in kubeadm reset
Reversed if statement is turns off CRI detection in kubeadm reset. Trivial fix.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-01-25 17:04:43 +02:00
Sandeep Rajan
e9220dd408 add prometheus port 2019-01-25 11:29:03 +05:30
Andrew Kim
0bc5508aca replace client-go/util/integer with k8s.io/utils/integer 2019-01-24 15:34:21 -05:00
Kubernetes Prow Robot
20a11ac5cc
Merge pull request #73239 from mattkelly/bugfix/kubeadm-sa-cert-dir
Add back --cert-dir option for kubeadm init phase certs sa
2019-01-24 08:45:36 -08:00
Sandeep Rajan
c346ae1e49 Use forward plugin instead of proxy in the default configuration 2019-01-24 17:28:55 +05:30
Matt Kelly
35faaab570
Add back --cert-dir option for init phase certs sa 2019-01-23 19:37:08 -05:00
Akihito INOH
4a3b990bbe Change to [bootstrap-token] in kubeadm output
In output of "kubeadm init", there are two strings for meaning of
bootstrap token which are "bootstraptoken" and "bootstrap-token".
This changes `[bootstraptoken]` to `[bootstrap-token]`.
2019-01-24 08:40:58 +09:00
Kubernetes Prow Robot
baaaa15fdf
Merge pull request #69940 from MarcPow/master
Bind coredns containers to  linux nodes to avoid Windows scheduling
2019-01-23 12:19:53 -08:00
Kubernetes Prow Robot
b66e332d3c
Merge pull request #69366 from rosti/cri-auto-detect
kubeadm: Detect CRIs automatically
2019-01-23 09:49:17 -08:00
RA489
5b64a98689 Stop using API server's --insecure-port 2019-01-22 17:31:39 +05:30
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
Kubernetes Prow Robot
3ec18a5aed
Merge pull request #73029 from neolit123/join-phases
kubeadm: include a phase runner for `join`
2019-01-20 10:53:47 -08:00
Kubernetes Prow Robot
3fd7187b4c
Merge pull request #73059 from SataQiu/fix-20190118
Print more error details about CertSANs validation
2019-01-20 08:21:10 -08:00
Lubomir I. Ivanov
9744d40f37 kubeadm: include a phase runner for join
- add a phase runner
- expose more joinData fields and getter methods
- add TODOs
2019-01-20 16:31:13 +02:00
Rafael Fernández López
6dc6ce78d9
kubeadm: adapt timeout for new etcd member to join 2019-01-20 12:39:53 +01:00
Kubernetes Prow Robot
f2b133d7b4
Merge pull request #72984 from ereslibre/wait-for-etcd-when-growing
kubeadm: wait for the etcd cluster to be available when growing it
2019-01-19 23:57:46 -08:00
SataQiu
7bf6ff2ec1 print more error details about CertSANs validation 2019-01-20 08:42:09 +08:00
Rafael Fernández López
f22f594d34
kubeadm: verify that present certificates contain at least the required SANs
This avoids ending in a wrong cluster state by assuming that the
present certificates will work. It is specially important when we
are growing etcd from 1 member to 2, in which case in case of failure
upon joining etcd will be unavailable.
2019-01-19 16:00:19 +01:00
Rafael Fernández López
b4cb3fd37c
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-18 12:04:39 +01:00
Dmitry Rozhkov
9e25a00ec0 kubeadm: add final fallback to constants.CurrentKubernetesVersion
It may happen that both the git version and the remote version
are broken/inaccessible. In this case the broken remote version
would be used.

To overcome this situation fall back to the constant CurrentKubernetesVersion.

The alternative could be os.Exit(1).

Also this change fixes Bazel-based unit tests in air-gapped environment.
2019-01-17 17:33:03 +02:00
Sascha Grunert
ba7aaa911d
Update dedent to latest release
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-01-17 08:30:07 +01:00
Kubernetes Prow Robot
6d479af411
Merge pull request #72870 from MalloZup/fix-join-ha
Kubeadm/HA: pull images during join for control-plane
2019-01-16 04:03:20 -08:00
Kubernetes Prow Robot
69cb938a6a
Merge pull request #72909 from MalloZup/minor-print
Kubeadm: Use fmt.Println instead of fmt.Printf
2019-01-15 12:53:43 -08:00
Kubernetes Prow Robot
9c48ca4899
Merge pull request #72823 from dims/bump-version-of-docker-to-18.09
Bump Docker supported version to 18.09
2019-01-15 11:45:06 -08:00
dmaiocchi
86b6bbd1b9 Pre-pull images after preflight for HA setup.
If download fails continue with a warning only
2019-01-15 16:49:31 +01:00
dmaiocchi
a7225bc15c Kubeadm: Use fmt.Println instead of fmt.Printf 2019-01-15 09:22:24 +01:00
Dmitry Rozhkov
8c87ef51b8 kubeadm: reduce variables scope and hide private funcs
This is a minor cleanup which helps to make the code of kubeadm a bit
less error-prone by reducing the scope of local variables and
unexporting functions that are not meant to be used outside of their
respective modules.
2019-01-14 15:29:42 +02:00
Davanum Srinivas
62fc6df5c2
Bump Docker supported version to 18.09
For 1.14, let's switch to latest Docker 18.09

Change-Id: Ib8d4d9dd3cb51cf4780623389a4bcb101d3c8fa7
2019-01-13 21:41:33 -05:00
Kubernetes Prow Robot
ef70b1159d
Merge pull request #72442 from fabriziopandini/join-refactor
Refactor the kubeadm join command
2019-01-12 08:06:25 -08:00
Kubernetes Prow Robot
23315c8192
Merge pull request #72802 from foxyriver/dedent
format help text
2019-01-11 23:14:59 -08:00
Kubernetes Prow Robot
e44330dfab
Merge pull request #72455 from rojkov/test-e2e-node-gke
e2e-node-tests: fix path to system specs
2019-01-11 03:30:37 -08:00
foxyriver
b02e1e17ec format help text 2019-01-11 10:18:56 +08:00
Dmitry Rozhkov
43fce8d6e4 e2e-node-tests: fix path to system specs
e2e-node tests may use custom system specs for validating nodes to
conform the specs. The functionality is switched on when the tests
are run with this command:

    make SYSTEM_SPEC_NAME=gke test-e2e-node

Currently the command fails with the error:

    F1228 16:12:41.568836   34514 e2e_node_suite_test.go:106] Failed to load system spec: open /home/rojkov/go/src/k8s.io/kubernetes/k8s.io/kubernetes/cmd/kubeadm/app/util/system/specs/gke.yaml: no such file or directory

Move the spec file under `test/e2e_node/system/specs` and introduce a single
public constant referring the file to use instead of multiple private constants.
2019-01-10 10:37:55 +02:00
Ed Bartosh
d91861e883 kubeadm: add front-proxy CA certificate to selfhosting controller-manager
Selfhosting pivoting fails when using --store-certs-in-secrets
as controller-manager fails to start because of missing front-proxy CA
certificate:
    unable to load client CA file: unable to load client CA file: open
    /etc/kubernetes/pki/front-proxy-ca.crt: no such file or directory

Added required certificate to fix this.

This should fix kubernetes/kubeadm#1281
2019-01-09 17:01:18 +02:00
fabriziopandini
fd842480d1 Refactor the kubeadm join command 2019-01-09 12:46:53 +01:00
Ed Bartosh
8148d95ac9 kubeadm selfhosting: fix pod spec mutation for controller-manager
Modified command line options --authentication-kubeconfig and
--authorization-kubeconfig to point out to the correct location
of the controller-manager.conf

This should fix this controller-manager crash:
    failed to get delegated authentication kubeconfig: failed to get
    delegated authentication kubeconfig: stat
    /etc/kubernetes/controller-manager.conf: no such file or directory

Related issue: kubernetes/kubeadm#1281
2019-01-07 15:20:02 +02:00
Kubernetes Prow Robot
fdf381098b
Merge pull request #72622 from shavidissa/patch-1
Updated the term master to control plane
2019-01-07 04:55:48 -08:00
Kubernetes Prow Robot
b06462f040
Merge pull request #72513 from fabriziopandini/init-unit-test
Add kubeadm init unit test
2019-01-07 03:46:33 -08:00
shavidissa
2a6c5b9b9e
Updated the term master to control plane 2019-01-07 11:26:31 +05:30
Kubernetes Prow Robot
816dfab180
Merge pull request #72572 from fabriziopandini/cleanup-getControllerManagerCommand
kubeadm: cleanup getControllerManagerCommand
2019-01-04 09:02:35 -08:00
fabriziopandini
ada466dc67 cleanup-getControllerManagerCommand 2019-01-04 14:08:04 +01:00
Kubernetes Prow Robot
d8eba8817b
Merge pull request #72528 from bart0sh/PR0056-kubeadm-selfhosting-upgrade-use-t.Run
kubeadm: use t.Run in selfhosting and update phases
2019-01-04 04:11:33 -08:00
Kubernetes Prow Robot
8a60166fba
Merge pull request #72512 from AdamDang/patch-20
Typo fix in error message: kubadm->kubeadm
2019-01-03 21:58:57 -08:00
Ed Bartosh
442098bdec kubeadm: use t.Run in selfhosting and update phases
Used T.Run API for kubeadm tests in app/phases/selfhosting and
app/phases/update directories

This should improve testing output and make it more visible
which test is doing what.
2019-01-03 19:23:54 +02:00
Kubernetes Prow Robot
8252610f91
Merge pull request #72514 from fabriziopandini/cleanup-etcd-client
kubeadm: cleanup etcd client
2019-01-03 06:58:30 -08:00
fabriziopandini
c9302caf6c error-imports-cleanups 2019-01-03 13:25:18 +01:00
fabriziopandini
3fa36acaa7 autogenerated 2019-01-03 13:00:47 +01:00
fabriziopandini
684b80f8b8 cleanup kubeadm etcd client 2019-01-03 12:21:17 +01:00
fabriziopandini
699983645d add kubeadm init unit tests 2019-01-03 12:04:30 +01:00
AdamDang
8c13df8b6a
Typo fix in error message: kubadm->kubeadm
Typo fix: kubadm->kubeadm
2019-01-03 18:32:10 +08:00
Kubernetes Prow Robot
60561cddf1
Merge pull request #72484 from AdamDang/patch-19
Typo fix: control plan->control plane
2019-01-03 02:11:51 -08:00
Kubernetes Prow Robot
98b3e42127
Merge pull request #72483 from bart0sh/PR0055-kubeadm-rest-app-use-T.Run
kubeadm: use T.Run API in app/
2019-01-02 21:10:57 -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
da59a6da4a
Merge pull request #72478 from bart0sh/PR0054-kubeadm-selfhosting-pivot-kube-apiserver
kubeadm: add required etcd certs to selfhosting api-server
2019-01-02 07:43:30 -08:00
Ed Bartosh
215db4d46b kubeadm: use T.Run API in app/
Used T.Run API for kubeadm tests in app/

This should improve testing output and make it more visible
which test is doing what.
2019-01-02 17:14:02 +02:00
AdamDang
05e31068da
Typo fix: control plan->control plane
Typo fix: control plan->control plane
2019-01-02 22:10:57 +08:00
Ed Bartosh
7b058c4357 kubeadm: add required etcd certs to selfhosting api-server
Selfhosting pivoting fails when using --store-certs-in-secrets
as api-server fails to start because of missing etcd/ca and
apiserver-etcd-client certificates:
   F1227 16:01:52.237352 1 storage_decorator.go:57] Unable to create storage backend:
   config (&{ /registry [https://127.0.0.1:2379]
              /etc/kubernetes/pki/apiserver-etcd-client.key
              /etc/kubernetes/pki/apiserver-etcd-client.crt
              /etc/kubernetes/pki/etcd/ca.crt true 0xc000884120 <nil> 5m0s 1m0s}),
   err (open /etc/kubernetes/pki/apiserver-etcd-client.crt: no such file or directory)

Added required certificates to fix this.

Secret name for etc/ca certifcate has been converted to conform RFC-1123 subdomain
naming conventions to prevent this TLS secret creation failure:
    unable to create secret: Secret "etcd/ca" is invalid: metadata.name:
    Invalid value: "etcd/ca": a DNS-1123 subdomain must consist of lower
    case alphanumeric characters, '-' or '.', and must start and end with an
    alphanumeric character (e.g. 'example.com', regex used for validation is
    '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')

Related issue: kubernetes/kubeadm#1281
2019-01-02 13:40:04 +02:00
Alan
c28cf37c1f
fix typo: if -> it
fix typo: if -> it
2019-01-02 17:07:13 +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
Kubernetes Prow Robot
993c65634e
Merge pull request #71973 from MalloZup/fix-1234
Exclude by default address flag fix #1234
2019-01-01 05:36:18 -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
645c1fa1ab kubeadm: use T.Run API in app/cmd
Used T.Run API for kubeadm tests in app/cmd

This should improve testing output and make it more visible
which test is doing what.
2018-12-31 14:29:52 +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
Kubernetes Prow Robot
13e59ab9ad
Merge pull request #72433 from bart0sh/PR0050-kubeadm-app-util-use-T.Run
kubeadm: use T.Run API in app/util
2018-12-30 03:45:41 -08:00
Ed Bartosh
01c9e67c90 kubeadm: fix incorrect package name in idempotency_test.go 2018-12-29 18:30:30 +02:00
Ed Bartosh
47b4d8fc81 kubeadm: use T.Run API in app/util
Used T.Run API for kubeadm tests in app/util/
2018-12-29 18:27:38 +02:00
Kubernetes Prow Robot
7d8554643e
Merge pull request #72367 from rojkov/fix-golint-warnings
kubeadm: fix golint warnings for redundant ifs
2018-12-28 12:03:15 -08:00
Kubernetes Prow Robot
b89ab2c0c3
Merge pull request #72299 from bart0sh/PR0046-kubeadm-add-CurrentKubernetesVersion
kubeadm: add CurrentKubernetesVersion
2018-12-28 12:03:05 -08:00
Kubernetes Prow Robot
2cc92a09fd
Merge pull request #72399 from bart0sh/PR0049-kubeadm-app-util-system-fix-golint-warnings
kubeadm: fix golint warnings in package_validator
2018-12-28 09:44:31 -08:00
Ed Bartosh
60fc0bf75b kubeadm: fix golint warnings in package_validator
Fixed the following golint warnigns:
 - package_validator.go:68:1: receiver name should not be an underscore, omit the name if it is unused
 - package_validator.go:89:1: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self"
 - package_validator.go:96:1: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self"
 - package_validator.go:119:1: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self"
2018-12-28 13:38:10 +02:00
Ed Bartosh
e6c3ab013c kubeadm: use T.Run API in app/util/system
Used T.Run API for kubeadm tests in app/util/system
2018-12-28 13:09:07 +02:00
Dmitry Rozhkov
0bf0b3ef1a kubeadm: fix golint warnings for redundant ifs
When golint is run against kubeadm it reports severel warnings like

    redundant if ...; err != nil check, just return error instead.

Fix the warnings by just returning error.
2018-12-27 15:37:39 +02:00
Ed Bartosh
639101289c kubeadm: use T.Run API in test/cmd
Used T.Run API for kubeadm tests in cmd/kubeadm/test/cmd/

This should improve testing output and make it more visible
which test is doing what.
2018-12-27 15:22:32 +02:00
Ed Bartosh
e6937ec27f kubeadm: add CurrentKubernetesVersion
Replaced hardcoded "v0.13.0" strings with CurrentKubernetesVersion variable.

This should help with a regular release version bumps.
2018-12-27 11:29:59 +02:00
Kubernetes Prow Robot
197fc67693
Merge pull request #72215 from caesarxuchao/minor-test-fix
Fix the unit test patch to not modify the node name
2018-12-25 19:57:09 -08:00
Kubernetes Prow Robot
190f6d870e
Merge pull request #71946 from bart0sh/PR0045-kubeadm-1260-simplify-minimum-kubernetes-version-bumps
kubeadm: simplify minimum Kubernetes version bumps
2018-12-21 21:28:53 -08:00
dmaiocchi
6148992056 Replace address with bind-address 2018-12-20 22:14:16 +01:00
Kubernetes Prow Robot
4a21a774e9
Merge pull request #72059 from rojkov/kubeadm-check-remote-version-v2
kubeadm: refactor validateStableVersion()
2018-12-20 04:42:25 -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
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
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
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
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
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
Yago Nobre
05e5a3473d
Use kubeconfig flag instead of kubeconfig-dir in kubeadm init phase bootstrap-token 2018-12-06 14:42:45 -02: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
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
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
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
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
fabriziopandini
8a53031b4e Fix etcd connect for join --control-plane 2018-11-22 17:17:27 +01: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
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
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
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
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
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
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
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
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
fabriziopandini
1b9986b219 Kubeadm phases - add local flags 2018-11-14 20:29:52 +01:00
k8s-ci-robot
ba7d3c3ba8
Merge pull request #71009 from timothysc/phaseflow
Fixup language on help message to denote phases
2018-11-14 09:26:20 -08:00
Lubomir I. Ivanov
98f3fb5059 kubeadm: remove leftover DynamicKubeletConfig constant 2018-11-14 17:32:45 +02:00
Ruben Orduz
d5cd412ae0 reset helptext alignment
Signed-off-by: Ruben Orduz <rubenoz@gmail.com>
2018-11-14 09:59:48 -05:00
Timothy St. Clair
ef3380b42d Fixup language on help message to denote phases
Signed-off-by: Timothy St. Clair <timothysc@gmail.com>
2018-11-13 20:16:15 -06:00
k8s-ci-robot
90295640ef
Merge pull request #71010 from neolit123/revert-68890-dnspolicy
Revert "kubeadm: Create control plane with ClusterFirstWithHostNet dns policy"
2018-11-13 18:07:33 -08:00
k8s-ci-robot
8d27e5683c
Merge pull request #70874 from rdodev/reset-iptables
iptables reset text message
2018-11-13 16:14:04 -08:00
k8s-ci-robot
48d788de6f
Merge pull request #71001 from Deepomatic/recognize_docker_1809_version
Recognize newer docker versions without -ce/-ee suffix: 18.09.0
2018-11-13 14:59:36 -08:00
Lubomir I. Ivanov
24b4280e3f
Revert "kubeadm: Create control plane with ClusterFirstWithHostNet dns policy" 2018-11-14 00:18:32 +02:00
Lubomir I. Ivanov
865904d0e1 kubeadm: update notes and example config in v1beta1 godocs 2018-11-13 23:52:42 +02:00
k8s-ci-robot
bea07c0dc6
Merge pull request #70935 from neolit123/kubeadm-update-cmd-go
kubeadm: update the state in app/cmd.go
2018-11-13 13:45:41 -08:00
k8s-ci-robot
8b562218b7
Merge pull request #70876 from chuckha/idempotency
kubeadm: Adds tests to node patching
2018-11-13 13:45:31 -08:00
k8s-ci-robot
3cba75ea60
Merge pull request #70603 from chuckha/pod-infra-container-image
kubeadm: set pod-infra-container-image for the kubelet
2018-11-13 13:45:02 -08:00
Yago Nobre
7a9a8f5f35
kubeadm graduate addons phase 2018-11-13 16:33:59 -02:00
k8s-ci-robot
bfb95290b9
Merge pull request #70795 from yuexiao-wang/print-join-command
kubeadm: print the join command
2018-11-13 10:11:21 -08:00
Lubomir I. Ivanov
9a37f2d878
kubeadm: set pod-infra-container-image for the kubelet
The kubelet allows you to set `--pod-infra-container-image`
(also called `PodSandboxImage` in the kubelet config),
which can be a custom location to the "pause" image in the case
of Docker. Other CRIs are not supported.

Set the CLI flag for the Docker case in flags.go using
WriteKubeletDynamicEnvFile().
2018-11-13 13:10:22 -05:00
Thomas Riccardi
068cdaa56c Recognize newer docker versions without -ce/-ee suffix
Since docker 18.09, the ServerVersion field format changed: the `-ce`
or `-ee` suffix disappeared:

- docker 18.06: `18.06.1-ce`
- docker 18.09: `18.09.0`

This was not expected by the docker_validator version regexp, which
assumed newer docker versions ended with `-[a-z]{2}`.
This made the validator return an error, whereas we expect it to
return only a warning (by recognizing it as a newer but not yet
supported docker version).

This commit relax the version regexp to also recognize `18.09.0`.
The docker validator now returns a warning, as tested.
2018-11-13 18:55:29 +01:00
Chuck Ha
db3d636f91
updates license year
Signed-off-by: Chuck Ha <ha.chuck@gmail.com>
2018-11-13 12:49:42 -05:00
Chuck Ha
5792eeb137
kubeadm: Adds tests to node patching
Signed-off-by: Chuck Ha <ha.chuck@gmail.com>
2018-11-13 12:48:54 -05:00
Ruben Orduz
89a5d5cadd iptables reset text message
Signed-off-by: Ruben Orduz <rubenoz@gmail.com>
2018-11-13 10:36:43 -05:00
Yago Nobre
62c9303ecf
Remove DynamicKubeletConfig from init and join workflow, also remove DynamicKubeletConfig feature gate 2018-11-13 11:56:24 -02:00
yuexiao-wang
5851fd556b kubeadm: print the join command should happen after all the phases in init have finished
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2018-11-13 19:05:10 +08:00
fabriziopandini
7f1b2a62a7 fix kubeadm upgrade 2018-11-13 09:14:16 +01:00
k8s-ci-robot
bcef72bf06
Merge pull request #70877 from yagonobre/reset
Handler error when kubeconfig file not exist on kubeadm reset
2018-11-12 23:56:57 -08:00
Marek
064f74b2e8 fixes kubeadm 1221 to remove AuditPolicyConfiguration
Added conversion test and failure.
2018-11-12 14:33:26 -05:00
Yago Nobre
5e31a6bb74
Handler error when kubeconfig file not exist on kubeadm reset 2018-11-12 10:36:35 -02: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
k8s-ci-robot
5fb8229218
Merge pull request #70024 from fabriziopandini/kubeadm-addons-config
kubeadm - addon configuration in the kubeadm config API.
2018-11-12 00:52:59 -08:00
k8s-ci-robot
04bb2171a7
Merge pull request #70885 from neolit123/phase-mark-control-plane
kubeadm: graduate the mark-control-plane-phase
2018-11-11 19:07:10 -08:00
k8s-ci-robot
b99c8b994f
Merge pull request #70743 from bart0sh/PR0039-kubeadm-dont-prepull-etcd-if-not-required
kubeadm: prepull Etcd image only if required
2018-11-11 19:07:00 -08:00
Lubomir I. Ivanov
c46e949799 kubeadm: update the state in app/cmd.go
- BETA->GA
- master->control-plane
- exclude @ mentions as only members can use them
2018-11-12 04:04:56 +02:00
RA489
daae2a86ea kubeadm: graduate mark-control-plane phase
Co-authored-by: Lubomir I. Ivanov <lubomirivanov@vmware.com>
2018-11-11 04:56:55 +02: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
Davanum Srinivas
954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05: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
k8s-ci-robot
c3d05c816d
Merge pull request #70757 from ereslibre/remove-cluster-name-from-join-configuration
kubeadm: Remove cluster name from JoinConfiguration
2018-11-09 12:46:09 -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
k8s-ci-robot
8825843126
Merge pull request #70323 from qingsenLi/git181010
[kubeadm/app/..add other packages]Switch to github.com/pkg/errors
2018-11-09 01:02:06 -08:00
qingsenLi
e94dd19e03 [kubeadm/app/..add other packages]Switch to github.com/pkg/errors 2018-11-09 18:54:03 +08:00
k8s-ci-robot
34be549935
Merge pull request #70727 from yagonobre/bootstrap-token
kubeadm graduate bootstrap-token phase
2018-11-08 17:36:24 -08: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
k8s-ci-robot
91d6d75303
Merge pull request #70796 from detiber/revCoreDNS
[kubeadm] Update CoreDNS Version
2018-11-08 12:13:10 -08:00
k8s-ci-robot
f212b9db23
Merge pull request #70598 from dims/switch-from-sigs.k8s.io/yaml-to-ghodss/yaml
Switch to sigs.k8s.io/yaml from ghodss/yaml
2018-11-08 10:57:36 -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
Jason DeTiberus
30048e2e6a
[kubeadm] Update CoreDNS Version
Resolves an issue that has been seen with ExternalName services not resolving.
2018-11-08 08:55:48 -05:00
k8s-ci-robot
16d0992534
Merge pull request #69753 from wangzhen127/diff-node-status
Update kubelet node status report logic with node lease feature
2018-11-07 20:26:45 -08:00
Yago Nobre
e743f0e475
kubeadm graduate bootstrap-token phase 2018-11-08 01:01:21 -02:00
Lubomir I. Ivanov
8bc0447d8c kubeadm: use client-go's MakeCSRFromTemplate() in 'renew'
Create CSR using the mentioned function which also encodes the
type CertificateRequestBlockType.

Without that 'certs renew' is failing with:
'PEM block type must be CERTIFICATE REQUEST'
2018-11-08 01:16:33 +02:00
Zhen Wang
98fc4a107a Update kubelet node status report logic with node lease feature
When node lease feature is enabled, kubelet reports node status to api server
only if there is some change or it didn't report over last report interval.
2018-11-07 11:59:42 -08:00
Davanum Srinivas
43f523d405
Switch to sigs.k8s.io/yaml from ghodss/yaml
Change-Id: Ic72b5131bf441d159012d67a6a3d87088d0e6d31
2018-11-07 13:17:32 -05: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
Ed Bartosh
328c1825d4 kubeadm: prepull Etcd image only if required
Prepull Etcd image only if external Etcd is not used and
--etcd-upgrade=false is not specified.

Fixes: kubernetes/kubeadm#1214
2018-11-07 14:59:37 +02:00
Yago Nobre
79f1b66f4e
kubeadm graduate upload-config phase 2018-11-06 11:30:46 -02:00
k8s-ci-robot
c6c88f1bf1
Merge pull request #70666 from neolit123/phase-fix-hidden
kubeadm: make sure that commands are not added for hidden phases
2018-11-05 20:59:47 -08: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
k8s-ci-robot
faed5aa974
Merge pull request #70537 from yagonobre/validate-kubeconfig
Validate kubeconfig files in case of external CA mode
2018-11-05 14:20:10 -08:00
Lubomir I. Ivanov
4a098980d6 kubeadm: make sure that commands are not added for hidden phases 2018-11-05 22:15:31 +02:00
k8s-ci-robot
1059feddbc
Merge pull request #70584 from Songjoy/fix-typo
fix typo Kubernets to Kubernetes
2018-11-05 11:42:17 -08:00
k8s-ci-robot
b3441e1348
Merge pull request #69662 from ereslibre/conditional-ipvs-check
kubeadm: Perform IPVS check on join only if the cluster was set up with IPVS
2018-11-05 10:24:17 -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
k8s-ci-robot
f379f7b3e8
Merge pull request #70589 from fabriziopandini/kubeadm-phase-flags
Kubeadm phases - improve flags management
2018-11-04 19:19:07 -08:00
Yago Nobre
52ef8ebd97
Update bazel 2018-11-04 19:02:12 -02:00
Yago Nobre
e1320bba36
Validate kubeconfig files in case of external CA mode 2018-11-04 18:58:46 -02:00
fabriziopandini
3e5133e793 autogenerated 2018-11-04 19:47:04 +01:00
fabriziopandini
d63bae610f improve flags management in phases 2018-11-04 19:46:55 +01:00
k8s-ci-robot
14120dd44a
Merge pull request #70611 from yagonobre/rsa
Fix error wrap on pki_helpers
2018-11-03 11:05:14 -07:00
Yago Nobre
a80a573074
Fix error wrap on pki_helpers 2018-11-03 10:17:20 -03:00
k8s-ci-robot
474e27f914
Merge pull request #70495 from rosti/writable-to-readonly-volumes
kubeadm: Writable to ReadOnly in HostPathMount
2018-11-03 01:43:02 -07:00
k8s-ci-robot
ee94a56214
Merge pull request #70551 from liztio/fix-renew-overflow
Fix overflow issue on renewal
2018-11-02 16:44:39 -07:00
k8s-ci-robot
5e76248e23
Merge pull request #70512 from neolit123/phase-wait-control-plane
kubeadm: graduate wait-control-plane phase
2018-11-02 16:44:20 -07: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
liz
adf9d7a031
Fix overflow issue on renewal
Co-authored-by: Ruben Orduz <rubenoz@gmail.com>
2018-11-02 10:12:57 -04:00
Lubomir I. Ivanov
cbb448113d kubeadm: graduate wait-control-plane phase 2018-11-02 15:47:23 +02:00
k8s-ci-robot
7f32ad0287
Merge pull request #70529 from SataQiu/fix-2018110101
Fix the expression of some comments
2018-11-02 05:29:05 -07:00
Songjoy
e8a09871e0
fix typo Kubernets to Kubernetes
fix typo Kubernets to Kubernetes in line 239
2018-11-02 20:24:01 +08: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
k8s-ci-robot
400438a887
Merge pull request #70336 from yuexiao-wang/move-pkiutil
kubeadm: move certs/pkiutil to generic kubeadm utils
2018-11-01 22:16:45 -07:00
k8s-ci-robot
78b43cc631
Merge pull request #70388 from neolit123/phase-etcd
kubeadm: graduate etcd phase
2018-11-01 13:44:16 -07:00
k8s-ci-robot
8e9c376cb3
Merge pull request #70452 from neolit123/remove-token-test
kubeadm: remove the unit test TestRunListTokens
2018-11-01 09:53:14 -07:00
Lubomir I. Ivanov
31049f972a kubeadm: graduate the etcd phase 2018-11-01 18:29:17 +02:00
jiaxuanzhou
f253171dfe simplify logic for func BuildArgumentListFromMap 2018-11-01 23:15:48 +08:00
SataQiu
d32526fba4 improve the expression of some comments 2018-11-01 17:44:37 +08:00