Commit Graph

3190 Commits

Author SHA1 Message Date
Davanum Srinivas
8fbfdf8267
Update default etcd server to 3.3.15 for kubernetes 1.16
Change-Id: I68f1a5e5339d83077a1a9f312c4e6e33848886c5
2019-08-30 21:29:45 -04:00
Kubernetes Prow Robot
235f3ab3d9
Merge pull request #82127 from rajansandeep/bumpto1.6.2
Bump CoreDNS version in Kubeadm to 1.6.2
2019-08-30 09:40:23 -07:00
Kubernetes Prow Robot
d3063c682b
Merge pull request #82103 from neolit123/1.16-kubeadm-fix-kubelet-rotate-certs-false
kubeadm: fix a bug where the kubelet cert rotation was turned off
2019-08-30 08:00:26 -07:00
Gyuho Lee
21f976bb78 cmd/kubeadm: remove "rpc/status" from import-restrictions
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-29 08:46:17 -07:00
Gyuho Lee
93b9545f48 vendor: update with "update-vendor.sh" script
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-29 08:46:02 -07:00
Gyuho Lee
eb1509a1d3 kubeadm/app/util/etcd: : block etcd client creation until connection is up
The new etcd balancer (>3.3.14, 3.4.0) uses an asynchronous resolver for
endpoints. Without "WithBlock", the client may return before the
connection is up.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-29 08:38:29 -07:00
Ted Yu
2167321adb Remove Client#ClusterAvailable from interface 2019-08-29 07:40:34 -07:00
Kubernetes Prow Robot
85602f26d7
Merge pull request #81990 from tedyu/bld-metadata
Correct func name WithBuildMetadata
2019-08-29 07:28:23 -07:00
Sandeep Rajan
dce97a142c bump coredns version in kubeadm to 1.6.2 2019-08-29 10:13:05 -04:00
Lubomir I. Ivanov
c9b11980ff kubeadm: fix a bug where the kubelet cert rotation was turned off
A recent commit added warnings for KubeletConfiguration and
KubeProxyConfiguration fields that kubeadm cares about and
does not recommend the user modifying them. Kubelet's
"rotateCertificates" cannot be handled using this function
as there is not way to figure out if the user has set it explicitly to
"false". Hardcode the value to "true" and add a comment about that.

Also apply the following changes to warnDefaultComponentConfigValue()
calls:
- use a local "kind" variable that defines the Kind we are warning about.
- fix wrong paths to fields.
2019-08-29 02:43:44 +03:00
Kubernetes Prow Robot
b3b4305be5
Merge pull request #81903 from jfbai/fix-kubeadm-kubelet-default
fix: make kubeadm set defaults to kubelet configuration only when no values are set.
2019-08-28 12:01:41 -07:00
Jianfei Bai
ccc45880a7 fix: prevent overriding of certain kubelet security configuration parameters if the user wished to modify them. 2019-08-28 21:01:49 +08:00
Kubernetes Prow Robot
b98f622852
Merge pull request #81910 from fabriziopandini/kubeadm-Json6902-Patches
kubeadm: add support for Json6902 Patches
2019-08-28 03:09:54 -07:00
fabriziopandini
0e447d797f kubeadm Json6902 Patches 2019-08-27 14:14:35 +02:00
Ted Yu
8efa1c2a8f Correct func name WithBuildMetadata 2019-08-26 21:10:56 -07:00
Kubernetes Prow Robot
533daf6624
Merge pull request #81836 from fabriziopandini/fix-upgrade-checks
kubeadm: fix upgrade checks
2019-08-26 20:55:37 -07:00
Kubernetes Prow Robot
90cf189152
Merge pull request #81791 from yastij/remove-ipvs-checks
remove the ipvs checks from the preflight checks
2019-08-26 20:55:22 -07:00
Kubernetes Prow Robot
2c64627871
Merge pull request #81918 from tedyu/pki-comment
Correct comment in CertOrKeyExist
2019-08-26 10:20:37 -07:00
Ted Yu
55cc0e2957 Correct comment in CertOrKeyExist 2019-08-25 19:30:20 -07:00
Kubernetes Prow Robot
9a5b87a58b
Merge pull request #81821 from hwdef/fix-typo-cmd/kubeadm/app/util/config/initconfiguration.go
fix-typo-cmd/kubeadm/app/util/config/initconfiguration.go
2019-08-23 17:59:30 -07:00
fabriziopandini
885f81dc51 fix upgrade checks 2019-08-23 15:12:29 +02:00
Kubernetes Prow Robot
2d649c347f
Merge pull request #81701 from tedyu/init-cfg-convert
Check error return from Scheme.Convert
2019-08-22 23:27:42 -07:00
Kubernetes Prow Robot
39d5fc7501
Merge pull request #81656 from SataQiu/fix-kubeadm-static-20190820
kubeadm: fix static check failures
2019-08-22 23:27:28 -07:00
Kubernetes Prow Robot
9873f0bfe8
Merge pull request #81696 from tedyu/kubeadm-ipv6
Remove check for addIPv6Checks which evaluates to true
2019-08-22 22:04:13 -07:00
SataQiu
7a4cf591ea kubeadm: fix static check failures 2019-08-23 10:51:12 +08:00
hwdef
86dd72f345 fix-typo-cmd/kubeadm/app/util/config/initconfiguration.go 2019-08-23 10:07:07 +08:00
Kubernetes Prow Robot
59f5b3ddc4
Merge pull request #80937 from neolit123/1.16-error-stack-trace
kubeadm: print the stack trace of an error for klog level v>=5
2019-08-22 15:09:18 -07:00
Kubernetes Prow Robot
ca3e86e662
Merge pull request #81623 from neolit123/kernel-validator
kubeadm: support any Linux kernel version newer than 3.10
2019-08-22 11:12:59 -07:00
Lubomir I. Ivanov
2fc19136c1 kubeadm: print the stack trace of an error for klog level v>=5
- replace all stray calls of os.Exit() to util.CheckError() instead
- CheckError() now checks if the klog verbosity level is >=5
and shows a stack trace of the error
- don't call klog.Fatal in version.go
2019-08-22 20:09:54 +03:00
Yassine TIJANI
05326f8489 remove the ipvs checks from the preflight checks
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-08-22 17:10:22 +01:00
Kubernetes Prow Robot
d54c5163e0
Merge pull request #81458 from fabriziopandini/kubeadm-kustomize-ux
kubeadm: kustomize-ux
2019-08-22 05:46:32 -07:00
Kubernetes Prow Robot
17a1859370
Merge pull request #81494 from Klaven/remove_awk
Removed awk from kubeadm reset
2019-08-21 10:37:14 -07:00
Kubernetes Prow Robot
e1c2c677f1
Merge pull request #78033 from rajansandeep/corednsmigration
Add the ability to migrate CoreDNS configmap in kubeadm
2019-08-20 20:39:16 -07:00
Ted Yu
185c0a16ee Check error return from Scheme.Convert 2019-08-20 20:17:14 -07:00
Ted Yu
4639ced630 Remove check for addIPv6Checks which evaluates to true 2019-08-20 19:02:29 -07:00
Lubomir I. Ivanov
bec9c3678b kubeadm: support any kernel version newer than 3.10
It seems undesirable that Kubernetes as a system should be
blocking a node if it's Linux kernel is way too new.

If such a problem even occurs we should exclude versions from
the list of supported versions instead of blocking users
from trying e.g. the latest 7.0.0-beta kernel because our
validators are not aware of this new version.
2019-08-21 01:23:53 +03:00
Kubernetes Prow Robot
f17b608157
Merge pull request #81622 from neolit123/kubeadm-remove-blang
kubeadm: do not use github.com/blang/semver in app/preflight
2019-08-20 10:47:28 -07:00
Sandeep Rajan
6bb9eeeb1c move the corefile backup into a single configmap with a corefile-backup data key 2019-08-20 13:20:18 -04:00
Marek Counts
6845c66efb removed awk from kubeadm reset
removed awk from kubeadm reset in favor of native go lang calls
that are not vulnerable to expantion.
2019-08-20 15:53:40 +00:00
Lubomir I. Ivanov
0a0f6f8eec kubeadm: do not use github.com/blang/semver in app/preflight
Usage of github.com/blang/semver is not needed and
k8s.io/apimachinery/pkg/util/version should be used instead
for semantic version parsing and version comparison.
2019-08-20 14:06:52 +03:00
Kubernetes Prow Robot
66b0a0c17d
Merge pull request #81604 from tedyu/kubeadm-close-err
Check the error return from listener close
2019-08-19 15:09:44 -07:00
Ted Yu
158cf5d61a Check the error return from listener close 2019-08-19 09:26:35 -07:00
Sadlil Rhythom
3e6d483dd9 Fix Test for kubeadm/app/util/net.GetHostname 2019-08-19 14:38:19 +02:00
Kubernetes Prow Robot
acc57be085
Merge pull request #81559 from tedyu/static-pod-rm-unused
Remove boolean waitForComponentRestart which is always true in upgradeComponent
2019-08-18 21:18:03 -07:00
Ted Yu
4f9d20e0f9 Remove boolean waitForComponentRestart which is always true in upgradeComponent 2019-08-17 18:50:55 -07:00
Kubernetes Prow Robot
2036ee5dde
Merge pull request #81465 from yanghaichao12/dev190815
remove defaultedInternalConfig from kubeadm
2019-08-16 17:03:06 -07:00
Kubernetes Prow Robot
3b85eeaa23
Merge pull request #81495 from Klaven/kubeadm_reset
updated kubeadm reset wording to be more clear
2019-08-16 14:06:18 -07:00
Kubernetes Prow Robot
9e60bedebe
Merge pull request #81385 from neolit123/etcd-probe
kubeadm: use etcd's /health endpoint for it's liveness probe
2019-08-16 14:06:09 -07:00
Kubernetes Prow Robot
e6d4273395
Merge pull request #79033 from Nordix/kubeadm-ds-pod-network-cidr
Dual-Stack Integration with Kubeadm
2019-08-16 05:06:31 -07:00
Lubomir I. Ivanov
99b64f1e8e kubeadm: use etcd's /health endpoint for it's liveness probe
Etcd v3.3.0 added the --listen-metrics-urls flag which allows specifying
addition URLs to the already present /health and /metrics endpoints.

While /health and /metrics are enabled for URLS defined with
--listen-client-urls (v3+ ?) they do require HTTPS.

Replace the present etcdctl based liveness probe with a standard HTTP
GET v1.Probe that connects to http://127.0.0.1:2381/health.

These endpoints are not reachable from the outside and only available
for localhost connections.
2019-08-16 01:06:49 +03:00
Marek Counts
e69feae028 updated kubeadm reset wording to be more clear
updated kubeadm reset to be clear that it was best effort.
2019-08-15 20:15:55 +00:00
Sandeep Rajan
6821d21260 add the ability to migrate coredns configmap 2019-08-15 10:09:32 -04:00
yanghaichao12
f54856952f remove defaultedInternalConfig fromr kubeadm
remove defaultedInternalConfig from kubeadm
2019-08-15 17:45:27 +08:00
fabriziopandini
a92e7975d2 kubeadm-kustomize-ux 2019-08-15 09:14:31 +02:00
tariqibrahim
6df4f62d1c [kubernetes/kubeadm] fix minor nil issues in kudeadm code 2019-08-14 21:49:39 -07:00
Lubomir I. Ivanov
3ecf3c6a44 kubeadm: add v1.17 to the list versions that map to etcd version 2019-08-14 01:49:25 +03:00
Kubernetes Prow Robot
f7473e78f2
Merge pull request #81275 from SataQiu/fix-kubeadm-20190812
kubeadm: cleanup unnecessary slice initialization statements
2019-08-13 07:56:21 -07:00
Kubernetes Prow Robot
c08ee9d51b
Merge pull request #80905 from fabriziopandini/kubeadm-kustomize-core
Kubeadm: kustomize core
2019-08-13 07:55:55 -07:00
SataQiu
36bb0b9a53 kubeadm: cleanup unnecessary slice initialization statements 2019-08-12 23:42:56 +08:00
Kubernetes Prow Robot
ca6290538b
Merge pull request #81217 from SataQiu/fix-kubeadm-20190809
kubeadm: change the permissions of generated CSR files from 0644 to 0600
2019-08-12 08:21:13 -07:00
fabriziopandini
5eca049557 placeholders for follow-up PR on kustomize UX 2019-08-12 14:17:19 +02:00
fabriziopandini
97181595f0 kubeadm-kustomize-core 2019-08-12 14:16:51 +02:00
Arvinderpal Wander
3ac7ae60cc kubeadm --pod-network-cidr supports a comma separated list of pod
CIDRs. This is a necesary change for dual-stack.
2019-08-09 07:20:51 -07:00
Arvinderpal Wander
ec77598906 Update kubeproxy config validation to support list of comma
separated pod CIDRs. Dual-stack feature must be enabled for the
validation to be done.
2019-08-09 07:20:39 -07:00
Kubernetes Prow Robot
63e27a02ed
Merge pull request #81031 from chuckha/kubeadm-docs
kubeadm: Fix some documentation errors
2019-08-09 04:31:25 -07:00
SataQiu
2e35c6b5bb kubeadm: the permissions of generated CSR files are changed from 0644 to 0600 2019-08-09 17:36:26 +08:00
Kubernetes Prow Robot
63179a7f26
Merge pull request #81156 from SataQiu/fix-kubeadm-20190808
Small fix for kubeadm version def.bzl
2019-08-08 19:35:51 -07:00
Kubernetes Prow Robot
ee04128b05
Merge pull request #81084 from bart0sh/PR0078-kubeadm-remove-pkg-kubeapiserver-authorizer-modes-dependency
kubeadm: remove dependency on pkg/kubeapiserver/authorizer/modes
2019-08-08 12:35:20 -07:00
Chuck Ha
309cd1684f
kubeadm: Fix some documnetation errors
Signed-off-by: Chuck Ha <chuckh@vmware.com>
2019-08-08 11:34:19 -04:00
Kubernetes Prow Robot
8923d4fd2d
Merge pull request #81059 from Songjoy/patch-7
modify the spelling errors
2019-08-08 07:59:33 -07:00
Ed Bartosh
b4300ec24e kubeadm: remove dependency on pkg/kubeapiserver/authorizer/modes
Moved 2 more constants from pkg/kubeapiserver/authorizer/modes
to kubeadm/app/constants module to remove dependency.
2019-08-08 12:08:23 +03:00
SataQiu
11c92d190e fix kubeadm version def.bzl 2019-08-08 17:04:36 +08:00
Kubernetes Prow Robot
34db8e08c1
Merge pull request #81002 from zgfh/patch-10
kubeadm:  fix name of CA spell error
2019-08-07 03:12:49 -07:00
Songjoy
eb30b3d41d
modify the spelling errors
fix escluding to excluding
2019-08-07 10:38:20 +08:00
Kubernetes Prow Robot
1220a8ae92
Merge pull request #80995 from zgfh/patch-8
cleanup: fix log message error in test case
2019-08-06 01:03:54 -07:00
Kubernetes Prow Robot
b29e187a45
Merge pull request #80992 from dzzg/patch-1
cleanup: fix typo "contstruct" -> "construct"
2019-08-05 23:44:07 -07:00
alan
cd2ecefb80 kubeadm: fix name of CA spell error 2019-08-06 12:01:28 +08:00
Kubernetes Prow Robot
da30406a9d
Merge pull request #80966 from neolit123/1.16-cleanup-file-discovery
kubeadm: use EnsureCertificateAuthorityIsEmbedded() for file discovery
2019-08-05 18:18:32 -07:00
Alan
11e333474e
cleanup: fix log message error in test case 2019-08-06 07:00:05 +08:00
dzzg
cd57039927
cleanup: fix typo "contstruct" -> "construct" 2019-08-06 06:22:46 +08:00
Kubernetes Prow Robot
74c0cc2790
Merge pull request #80951 from neolit123/1.16-sched-auth
kubeadm: enable secure serving for the kube-scheduler
2019-08-05 13:36:29 -07:00
Kubernetes Prow Robot
040ce52a43
Merge pull request #80820 from mattmelgard/defer-delete-kubelet-bootstrap
kubeadm: add a defer to kubelet bootstrap token deletion
2019-08-05 02:57:48 -07:00
Lubomir I. Ivanov
540c272f7b kubeadm: use EnsureCertificateAuthorityIsEmbedded() for file discovery
For file discovery, in case the user feeds a file for the CA
from the kubeconfig, make sure it's preloaded and embedded using
the new function EnsureCertificateAuthorityIsEmbedded().

This commit also applies cleanup:
- unroll validateKubeConfig() into ValidateConfigInfo() as this way
the default cluster can be re-used.
- in ValidateConfigInfo() reuse the variable config instead of creating
a new variable kubeconfig.
- make the Ensure* functions return descriptive errors instead of
wrapping the errors on the side of the callers.
2019-08-05 03:23:41 +03:00
Lubomir I. Ivanov
e142bf6203 kubeadm: enable secure serving for the kube-scheduler
Secure serving was already enabled for kube-controller-manager.
Do the same for kube-scheduler, by passing the flags
"authentication-kubeconfig" and "authorization-kubeconfig"
to the binary in the static Pod.

This change allows the scheduler to perform reviews on incoming
requests, such as:
- authentication.k8s.io/v1beta1 TokenReview
- authorization.k8s.io/v1 SubjectAccessReview

The authentication and authorization checks for "system:kube-scheduler"
users were previously enabled by PR 72491.
2019-08-03 19:15:32 +03:00
Kubernetes Prow Robot
44f3aafc1a
Merge pull request #80867 from fabriziopandini/fix-certs-generation-for-external-etcd
kubeadm: fix-certs-generation-for-external-etcd
2019-08-02 20:28:06 -07:00
Kubernetes Prow Robot
40178ccf7f
Merge pull request #80894 from bart0sh/PR0077-kubeadm-simplified-returns
kubeadm: simplified returns
2019-08-02 12:40:35 -07:00
mattmelgard
f03bbe1b6d Add a defer to kubelet boostrap token deletion 2019-08-02 09:57:00 -06:00
Kubernetes Prow Robot
f6bc0ea03e
Merge pull request #80891 from bart0sh/PR0076-kubeadm-handle-joinControPlaneDoneTemp.Execute-errors
handle joinControPlaneDoneTemp.Execute errors
2019-08-02 08:44:05 -07:00
Kubernetes Prow Robot
564eff757c
Merge pull request #80862 from drpaneas/return_warnings
kubeadm reset: replace Errorf with Warningf
2019-08-02 04:54:11 -07:00
Ed Bartosh
6b21af79c2 kubeadm: simplified returns 2019-08-02 13:01:02 +03:00
Ed Bartosh
d0506f5a50 handle joinControPlaneDoneTemp.Execute errors 2019-08-02 12:37:57 +03:00
Kubernetes Prow Robot
547617a523
Merge pull request #80804 from olivierlemasle/add-join-timeout
Make kubeadm join discovery wait for a finite time
2019-08-01 13:38:41 -07:00
Kubernetes Prow Robot
f5c9d38a3f
Merge pull request #80833 from neolit123/1.16-update-version
kubeadm: update the version constants for 1.16
2019-08-01 11:52:44 -07:00
fabriziopandini
59fb766b42 fix-certs-generation-for-external-etcd 2019-08-01 17:51:33 +02:00
Panagiotis Georgiadis
f946a2500b kubeadm reset: replace Errorf with Warningf 2019-08-01 16:40:47 +02:00
Olivier Lemasle
5c61056432 Make discovery wait for a finite time
Add a timeout to discovery in `kubeadm join`,
when using a discovery file.
2019-08-01 13:17:45 +02:00
Kubernetes Prow Robot
3758426884
Merge pull request #80798 from xlgao-zju/ignore-not-found
do not return error, when the ds is not found
2019-07-31 22:37:03 -07:00
Lubomir I. Ivanov
8aa69ea502 kubeadm: update the supported version for 1.16 2019-08-01 05:57:25 +03:00
Lubomir I. Ivanov
e379164bc7 kubeadm: apply a number of _test fixes
- common_test.go: use constants.CurrentKubernetesVersion
- diff_test.go: write temporary files instead of using testdata.
this allows us to not have to bump kubernetesVersions in the
testdata files (now removed)
- policy_test.go: apply fixes to tests that were previously passing,
but a bump in constants.go breaks them. these tests now work
for any version.
2019-08-01 05:57:24 +03:00
Xianglin Gao
1b6ec47a04 do not return error, when the ds is not found
Signed-off-by: Xianglin Gao <xianglin.gxl@alibaba-inc.com>
2019-08-01 09:12:14 +08:00
Kubernetes Prow Robot
82a252ad74
Merge pull request #80676 from fabriziopandini/delete-bootstrap-kubelet.conf
kubeadm: delete bootstrap-kubelet.conf after TLS bootstrap
2019-07-31 00:24:47 -07:00
Kubernetes Prow Robot
5bfa3664fb
Merge pull request #80531 from Nordix/kubeadm-ds-FG-propagate
Propagate kubeadm dual-stack feature-gate to all k8s components
2019-07-31 00:24:21 -07:00
Kubernetes Prow Robot
000932d584
Merge pull request #80675 from fabriziopandini/fix-file-discovery
Fix kubeadm file discovery
2019-07-30 22:44:33 -07:00
Arvinderpal Wander
585ef375bb Kubeadm FG for dual-stack was introduced in #80145. This PR
progagates the kubeadm FG to the individual k8scomponents
on the control-plane node.

* Note: Users who want to join worker nodes to the cluster
will have to specify the dual-stack FG to kubelet using the
nodeRegistration.kubeletExtraArgs option as part of their
join config. Alternatively, they can use KUBELET_EXTRA_ARGS.

kubeadm FG: kubernetes/kubeadm#1612
2019-07-30 07:27:51 -07:00
fabriziopandini
df08af0349 feedback 1 2019-07-29 10:48:23 +02:00
fabriziopandini
d63e778f6f fix-file-discovery 2019-07-27 19:19:29 +02:00
fabriziopandini
f4ad37d7ca delete-bootstrap-kubelet.conf 2019-07-27 15:36:24 +02:00
fabriziopandini
ada6b0ddf1 autogenerated 2019-07-27 15:21:24 +02:00
Kubernetes Prow Robot
9bae1bc568
Merge pull request #80648 from odinuge/kubeadm-upgrade-diff-err
Fix error handling issue in kubeadm upgrade diff
2019-07-26 20:16:48 -07:00
Kubernetes Prow Robot
8f1eeacb78
Merge pull request #80573 from bart0sh/PR0075-kubeadm-handle-ResetClusterStatusForNode-errors
kubeadm: handle ResetClusterStatusForNode errors
2019-07-26 09:56:25 -07:00
Kubernetes Prow Robot
688f567698
Merge pull request #80307 from bart0sh/PR0073-kubeadm-remove-pkg-kubeapiserver-authorizer-modes-dependency
kubeadm: remove dependency on pkg/kubeapiserver/authorizer/modes
2019-07-26 09:55:59 -07:00
Odin Ugedal
2522e782dd Fix error handling issue in kubeadm upgrade
The error was unintentionally set inside the scope of the if statement,
hiding possible errors.
2019-07-26 18:51:29 +02:00
Kubernetes Prow Robot
bf2dd03083
Merge pull request #80318 from davidxia/fix-err-caps
cleanup: fix some log and error capitalizations
2019-07-25 10:41:28 -07:00
Ed Bartosh
5dd9d6a19f kubeadm: handle ResetClusterStatusForNode errors
Handled errors returned by ResetClusterStatusForNode function when
resetting cluster status for a control-plane node.
2019-07-25 15:45:59 +03:00
Ed Bartosh
70f82f0dda kubeadm: add forgotten error check
'kubeadm config images pull' command ignores pulling errors due to
forgotten error check.

Added the check to correctly output errors if they occur.
2019-07-24 17:44:22 +03:00
alan
ca8d5759ff
add link of kubeadm config doc 2019-07-22 22:44:30 +08:00
David Xia
fabfd950b1
cleanup: fix some log and error capitalizations
Part of https://github.com/kubernetes/kubernetes/issues/15863
2019-07-20 18:26:16 -04:00
Kubernetes Prow Robot
cfabadb0eb
Merge pull request #80296 from bart0sh/PR0072-remove-util-procfs-dependency
kubeadm: remove dependency on pkg/util/procfs
2019-07-20 00:40:54 -07:00
Ed Bartosh
2adb09f0e1 kubeadm: remove dependency on pkg/util/procfs
Run pidof utility to determine if systemd-resolved is running
instead of calling procfs.PidOf.
2019-07-19 19:09:53 +03:00
Ed Bartosh
d60fdcc6ff kubeadm: remove dependency on pkg/kubeapiserver/authorizer/modes
moved constants from pkg/kubeapiserver/authorizer/modes
to kubeadm/app/constants module.
2019-07-19 11:50:18 +03:00
RainbowMango
a4ca944d53 kubeadm should always fall back to client version when there is any internet issue 2019-07-19 15:13:47 +08:00
Ed Bartosh
d221148121 kubeadm: get rid of dependency on pkg/util/node
Created local copy of GetHostname API to avoid
dependency to pkg/util/node.
2019-07-17 18:49:39 +03:00
Kubernetes Prow Robot
8e3a2f2a5b
Merge pull request #80165 from SataQiu/fix-kubeadm-20190715
kubeadm: fix the bug that bazel build does not respect hack/print-workspace-status.sh
2019-07-16 03:55:24 -07:00
Kubernetes Prow Robot
7e7bb5cf3a
Merge pull request #80050 from chuckha/jsontags
[kubeadm] Adds json struct tags to exposed API types
2019-07-16 02:39:23 -07:00
SataQiu
298909e20e kubeadm: use local copy of kubectl's version package 2019-07-16 09:51:10 +08:00
Kubernetes Prow Robot
ab8506fb9b
Merge pull request #80115 from gyuho/kubernetes-version
kubeadm/*/phases/init/certs,kubeconfig: add "kubernetes-version" flag
2019-07-15 16:33:37 -07:00
Kubernetes Prow Robot
768acf6009
Merge pull request #80145 from Nordix/kubeadm-ds-feature-gate
Adds kubeadm feature-gate for dual-stack (IPv6DualStack)
2019-07-15 14:54:14 -07:00
Chuck Ha
74ba11b0cd
[kubeadm] Adds json struct tags to exposed API types
Signed-off-by: Chuck Ha <chuckh@vmware.com>
2019-07-15 11:14:40 -04:00
Kubernetes Prow Robot
303509cdf5
Merge pull request #80103 from SataQiu/cleanup-kubeadm-20190712
kubeadm: cleanup unnecessary k8sVer parameter for GetStaticPodSpecs
2019-07-15 03:23:06 -07:00
Arvinderpal Wander
79e7a4c0da Adds kubeadm feature-gate for dual-stack (IPv6DualStack).
Issue: #1612
2019-07-14 19:44:48 -07:00
Gyuho Lee
bad7a3fbbd kubeadm/*/phases/init/certs,kubeconfig: add "kubernetes-version" flag
If empty "--kubernetes-version" is given (as it's not configurable now)
k8s.io/kubernetes/cmd/kubeadm/app/util/version.go.KubernetesReleaseVersion
will fetch the version from the internet.

But, this can fail:

% kubeadm init phase certs ca --cert-dir ...
unable to fetch file. URL: "https://dl.k8s.io/release/stable-1.txt", status: 502 Bad Gateway
failed to run commands: exit status 1

Can happen to other commands:

% kubeadm init phase kubeconfig controller-manager ...
% kubeadm init phase kubeconfig scheduler ...

This make "--kubernetes-version" configurable, so users can enable offline mode.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-12 11:05:43 -07:00
SataQiu
b23772df80 kubeadm: cleanup unnecessary k8sVer parameter for GetStaticPodSpecs 2019-07-13 00:26:07 +08:00
SataQiu
a49f62f786 kubeadm: support fetching configuration from the original cluster for 'upgrade diff' 2019-07-12 23:51:37 +08:00
SataQiu
b837f8d96f kubeadm: cleanup the code about cobra 2019-07-10 18:45:28 +08:00
Kubernetes Prow Robot
bd628bc792
Merge pull request #79128 from SataQiu/fix-kubeadm-20190618
Update caddy vendor dependency to v1.0.1
2019-07-10 00:12:37 -07:00
SataQiu
9657240197 update caddy vendor dependency to v1.0.1 2019-07-09 12:03:25 +08:00
SataQiu
7d5ece2e2c kubeadm: move klog.InitFlags into app/kubeadm.go 2019-07-09 10:42:22 +08:00
Kubernetes Prow Robot
2aacecb8d7
Merge pull request #79648 from tnqn/kubeadm
Fix descriptions of kubeadm
2019-07-04 09:38:38 -07:00
Kubernetes Prow Robot
7340b6341a
Merge pull request #79677 from neolit123/etcd-add-retry
kubeadm: run MemberAdd/Remove for etcd clients with exp-backoff retry
2019-07-04 05:44:28 -07:00
Quan Tian
0d732009cc Fix descriptions of kubeadm
* Remove the example iptables cmd that potentially kills rules that user
  may be relying on
* Fixed a typo in description of phase bootstrap-token
2019-07-04 04:43:32 -07:00
Benjamin Elder
13813bc560 cleanup bespoke ipv6 checking in kubeadm 2019-07-03 16:26:08 -07:00
Kubernetes Prow Robot
bbef01a202
Merge pull request #74411 from nolancon/topology-manager-flags-feature-gate
Add feature gate and kubelet flags for Topology Manager
2019-07-03 15:16:13 -07:00
Kubernetes Prow Robot
f87cc40b7f
Merge pull request #79728 from yastij/consolidate-coredns-versions
consolidate coreDNS version to ease dependency bump
2019-07-03 10:34:45 -07:00
Kubernetes Prow Robot
4c9fab5c40
Merge pull request #79270 from SataQiu/fix-kubeadm-2019062102
kubeadm: add --control-plane-endpoint flag
2019-07-03 07:50:33 -07:00
Yassine TIJANI
309ea4e802 consolidate coreDNS version to ease dependency bump
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-07-03 16:02:13 +02:00
Lubomir I. Ivanov
25668531f7 kubeadm: run MemberAdd/Remove for etcd clients with exp-backoff retry
When adding a new etcd member the etcd cluster can enter a state
of vote, where any new members added at the exact same time will
fail with an error right away.

Implement exponential backoff retry around the MemberAdd call.

This solves a kubeadm problem when concurrently joining
control-plane nodes with stacked etcd members.

From experiment, a few retries with milliseconds apart are
sufficient to achieve the concurrent join of a 3xCP cluster.

Apply the same backoff to MemberRemove in case the concurrent
removal of members fails for similar reasons.
2019-07-03 03:26:30 +03:00
Seth Jennings
0c7ce5a7d7 kubelet: add allowed sysctl to KubeletConfiguration 2019-07-02 12:19:47 -05:00
Kubernetes Prow Robot
003c4e5155
Merge pull request #77792 from neolit123/kubeadm-psp-upgrade-fix
kubeadm: prevent PSP blocking of upgrade image prepull
2019-07-02 04:01:08 -07:00
nolancon
705f97e171 Enable feature gate and kubelet flags for Topology Manager
Nit: remove capitalization of preferred
Remove line from kubelet and add to separate PR for easier merge

nit: dependency added to separate PR

Add check to ensure strict policy cannot be set without feature gate enabled

Topology Manager runs "none" policy by default.

Added constants for policies and updated documentation.
2019-07-02 06:50:17 +01:00
Kubernetes Prow Robot
6f73ab2219
Merge pull request #78908 from dcbw/cni-0.7.1-snapshot
vendor: bump CNI to v0.7.1 snapshot
2019-07-01 21:33:21 -07:00
Kubernetes Prow Robot
da0f51ffed
Merge pull request #78820 from haosdent/fix_typos
Fix typos.
2019-07-01 15:09:20 -07:00
Kubernetes Prow Robot
de8fb1c9f8
Merge pull request #79449 from neolit123/kubeadm-docker-validator
kubeadm: don't use the Docker SDK in util/system/docker_validator*
2019-07-01 11:07:32 -07:00
Dan Williams
8739ade3fa kubelet: add CNI cache dir option and plumb through to CNI and kubenet
libcni 0.7.0 caches ADD operation results and allows the runtime to
retrieve these from the cache. In case the user wants a different
cache directory than the defaul, plumb that through like we do
for --cni-bin-dir and --cni-conf-dir.
2019-07-01 12:14:07 -05:00
Kubernetes Prow Robot
c52df2a637
Merge pull request #79218 from neolit123/kubeadm-1.16-owners
kubeadm: update OWNERS for 1.16
2019-07-01 07:23:47 -07:00
Lubomir I. Ivanov
668d69799a kubeadm: prevent PSP blocking of upgrade image prepull
If the cluster has a PSP that blocks Pods from running as root
the DS that handles upgrade prepull will fail to create its Pods.

Workaround that by adding a PodSecurityContext with RunAsUser=999.
2019-07-01 16:15:54 +03:00
Kubernetes Prow Robot
7db459a11b
Merge pull request #79498 from SataQiu/fix-kubeadm-20190628
kubeadm: fix bug for --cri-socket flag processing logic
2019-07-01 06:09:20 -07:00
Lubomir I. Ivanov
cb56f91cc6 kubeadm: don't use the Docker SDK in util/system/docker_validator*
Instead of creating a Docker client and fetching an Info object
from the docker enpoint, call the "docker info" command
and populate a local dockerInfo struct from JSON output.

Also
- add unit tests.
- update import boss and bazel.

This change affects "test/e2e_node/e2e_node_suite_test.go"
as it consumes this Docker validator by calling
"system.ValidateSpec()".
2019-07-01 15:18:37 +03:00
Kubernetes Prow Robot
dd8a000a77
Merge pull request #79493 from odinuge/kube-cmd-double-print
Remove duplicate error messages from cli commands
2019-06-28 13:57:41 -07:00
SataQiu
62c7f4317f kubeadm: fix bug for --cri-socket flag processing logic 2019-06-28 10:42:37 +08:00
Odin Ugedal
7caf51daa4
Remove duplicate error messages from cli commands
Since we never use the cobras "SilenceErrors" or "SilenceUsage",
a command executed with "cmd.Execute()" will never return an error
without printing it.

The current behavior results in all error messages being printed twice:

Example:

$ kubectl abc
Error: unknown command "abc" for "kubectl"
Run 'kubectl --help' for usage.
unknown command "abc" for "kubectl"

This applies to all cli commands using Cobra. To verify, follow the code
path of the Execute function:

https://github.com/spf13/cobra/blob/c439c4fa0937/command.go#L793
Signed-off-by: Odin Ugedal <odin@ugedal.com>
2019-06-27 21:55:14 +02:00
Lubomir I. Ivanov
f87223fbf8 kubeadm: update OWNERS for 1.16
- comment out Liz and Chuck until further notice.
Feel free to come back to kubeadm!!
- Add SataQiu as reviewer. Welcome.
- Add ereslibre as approver. Congrats!
2019-06-27 00:01:05 +03:00
Benjamin Elder
c33ab5c78f fix KubeletConfiguration apiVersion 2019-06-25 23:59:32 -07:00
Yassine TIJANI
d3620dfa29 move jws to k8s.io/cluster-bootstrap
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-06-25 13:48:13 +02:00
SataQiu
33b980272b kubeadm: add --control-plane-endpoint flag 2019-06-25 11:27:40 +08:00
Kubernetes Prow Robot
896c901684
Merge pull request #78929 from SataQiu/fix-kubeadm-20190612
[kubeadm] cleanup deps on pkg/version
2019-06-24 19:28:35 -07:00
Kubernetes Prow Robot
6f0f62b2c4
Merge pull request #77211 from dixudx/bootstrap_token_refactor
Bootstrap token refactor
2019-06-24 13:36:36 -07:00
Kubernetes Prow Robot
a5c727e26f
Merge pull request #79327 from SataQiu/cleanup-experimental-1.16
kubeadm: cleanup ExperimentalControlPlane and ExperimentalUploadCerts
2019-06-24 11:24:40 -07:00
Kubernetes Prow Robot
ddc4ed0365
Merge pull request #79335 from rosti/kubeadm-nuke-normalizer
kubeadm: Stop using //pkg/util/normalizer
2019-06-24 08:02:11 -07:00
Kubernetes Prow Robot
d1f342fb59
Merge pull request #79220 from rosti/fix-MarshalClusterConfigurationToBytes
kubeadm: Retire MarshalClusterConfigurationToBytes
2019-06-24 08:01:58 -07:00
Kubernetes Prow Robot
bc8ea43277
Merge pull request #78026 from Klaven/norm_kube_version
seperation of network call in KubernetesReleaseVersion
2019-06-24 06:27:57 -07:00
Rostislav M. Georgiev
94c56c81ba kubeadm: Retire MarshalClusterConfigurationToBytes
MarshalClusterConfigurationToBytes has capabilities to output the component
configs, as separate YAML documents, besides the kubeadm ClusterConfiguration
kind. This is no longer necessary for the following reasons:

- All current use cases of this function require only the ClusterConfiguration.
- It will output component configs only if they are not the default ones. This
  can produce undeterministic output and, thus, cause potential problems.
- There are only hacky ways to dump the ClusterConfiguration only (without the
  component configs).

Hence, we simplify things by replacing the function with direct calls to the
underlaying MarshalToYamlForCodecs. Thus marshalling only ClusterConfiguration,
when needed.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-06-24 15:17:19 +03:00
Rostislav M. Georgiev
615e425d26 kubeadm: Stop using //pkg/util/normalizer
Stop using //pkg/util/normalizer. Use local versions of LongDesc and Examples,
that do not require any external dependencies (other than the Go standard
library).

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-06-24 14:40:55 +03:00
SataQiu
c794929d1d kubeadm: cleanup ExperimentalControlPlane and ExperimentalUploadCerts 2019-06-24 11:52:57 +08:00
Brad Beam
b646ac4a0e fix: Use correct function to remove etcd member
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-06-23 22:39:34 -05:00
Kubernetes Prow Robot
d9b5aa2ea9
Merge pull request #79267 from SataQiu/fix-kubeadm-20190621
kubeadm: cleanup command output
2019-06-23 09:27:53 -07:00
Cheikhrouhou ines
81800964d8 fix typo heathcheck 2019-06-22 11:37:34 +02:00
Kubernetes Prow Robot
eee3e976d8
Merge pull request #78294 from vllry/kp-remove-resource-container
Remove deprecated flag --resource-container from kube-proxy
2019-06-22 00:38:12 -07:00
Marek Counts
eb6eb11748 added comment 2019-06-21 09:42:34 -04:00
Marek Counts
b66c4e8d45 updates based off reviews 2019-06-21 09:42:34 -04:00
Marek Counts
bf376e863c update to remove unused test
commit will be squashed before merge
2019-06-21 09:42:33 -04:00
Marek Counts
c8045049f3 updated tests to prevent false positive
one test also proved it did not call the internet
but this was not fool proof as it did not return a string
and thus could be called with something expecting to fail.
2019-06-21 09:42:33 -04:00
Marek Counts
aad2b573c6 seperation of network calls when getting version
updated the network calls to be package local so tests could pass their
own implementation. A public interface was not provided as it would not
be likely this would ever be needed or wanted.
2019-06-21 09:42:33 -04:00
SataQiu
3b4dbe6e30 kubeadm: cleanup command output 2019-06-21 16:31:55 +08:00
Di Xu
5056161d4d auto-generated 2019-06-20 17:06:26 +08:00
Di Xu
af9ae4c11a refactor bootstrap token utils 2019-06-20 15:43:44 +08:00
Lubomir I. Ivanov
14408bec87 kubeadm: improve the kubeconfig file validation phase
When a kubeconfig file is read from disk it may lack the
propper mapping between contexts and clusters.

In such a case the kubeconfig phase backend will panic,
without throwing a sensible error.

Add nil checks for a couple of map operations in
validateKubeConfig().
2019-06-19 15:12:22 +03:00
SataQiu
10ddd7caf0 kubeadm: cleanup deps on pkg/version 2019-06-18 11:01:30 +08:00
Kubernetes Prow Robot
56066c820d
Merge pull request #79099 from SataQiu/fix-kubeadm-20190617
kubeadm: cleanup deps on pkg/master/ports
2019-06-17 09:42:28 -07:00
Kubernetes Prow Robot
d3bbe03b08
Merge pull request #79032 from yastij/move-initsystem
move initsystem to kubeadm
2019-06-17 09:42:15 -07:00
SataQiu
7e2e144f1b kubeadm: cleanup deps on pkg/master/ports 2019-06-17 21:27:02 +08:00
Kubernetes Prow Robot
1b6189ea68
Merge pull request #78695 from dims/sort-list-of-component-config-API-objects-in-cli
Sort kubeadm CLI default params for component config API objects
2019-06-17 05:54:23 -07:00
Yassine TIJANI
c3904bbce6 move initsystem to kubeadm
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-06-17 12:21:01 +02:00
Vallery Lancey
dc0f14312e Removed deprecated --resource-container flag from kube-proxy. 2019-06-16 08:36:42 -07:00
Kubernetes Prow Robot
a444f0fa1d
Merge pull request #79019 from rosti/kubeadm-nuke-ValidateDNS1123Subdomain
kubeadm: Replace ValidateDNS1123Subdomain with IsDNS1123Subdomain
2019-06-15 19:14:08 -07:00
Kubernetes Prow Robot
b2990bf796
Merge pull request #79025 from rosti/kubeadm-nuke-apiResource
kubeadm: Don't use "//pkg/apis/core".Resource helper
2019-06-15 12:56:34 -07:00
Kubernetes Prow Robot
30b1fbc809
Merge pull request #79021 from rosti/kubeadm-nuke-rbachelpers
kubeadm: Don't use RBAC helpers
2019-06-15 12:56:08 -07:00
Kubernetes Prow Robot
5e5394ae0d
Merge pull request #78803 from aerostitch/kubeadm_minor_typo
kubeadm: fix minor typo in a comment
2019-06-14 19:24:09 -07:00
Kubernetes Prow Robot
54f7e5269c
Merge pull request #78625 from Nordix/issue-1591-kubeadm-service-cidr
Fix kubeadm service-cidr mapping to service-cluster-ip-rage for kube-controller-manager.
2019-06-14 11:52:35 -07:00
Kubernetes Prow Robot
10fb09da4d
Merge pull request #78615 from mysunshine92/fix-kubeadm
kubeadm:fix typo in controlplane.go
2019-06-14 07:58:51 -07:00
Rostislav M. Georgiev
7ba7bdaa22 kubeadm: Don't use "//pkg/apis/core".Resource helper
This helper is used in tests and pulls in unnecessary dependency, which should
not be used if kubeadm is to move to staging.
Replace with direct use of the GroupResource type.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-06-14 16:14:43 +03:00
Kubernetes Prow Robot
8f57a7bb49
Merge pull request #78575 from SataQiu/fix-kubeadm-20190531
kubeadm: improve kubelet-config-x.y ConfigMap logic
2019-06-14 05:33:04 -07:00
Kubernetes Prow Robot
fadb63c7eb
Merge pull request #78556 from neolit123/kubeadm-certs-order
kubeadm: apply deterministic order to certificate phases
2019-06-14 05:32:24 -07:00
Rostislav M. Georgiev
4ac6d7f501 kubeadm: Replace ValidateDNS1123Subdomain
ValidateDNS1123Subdomain is a simple wrapper around IsDNS1123Subdomain, however
it's the only reason for us to pull k8s.io/kubernetes/pkg/apis/core/validation
as a dependency.
To avoid unnecessary dependencies, replace the use of ValidateDNS1123Subdomain
with IsDNS1123Subdomain.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-06-14 14:40:14 +03:00
Rostislav M. Georgiev
c394d0fd80 kubeadm: Don't use RBAC helpers
RBAC construction helpers are part of the Kubernetes internal APIs. As such,
we cannot use them once we move to staging.
Hence, replace their use with manual RBAC rule construction.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-06-14 14:08:31 +03:00
Kubernetes Prow Robot
c6bc1639c3
Merge pull request #72178 from dims/remove-ovirt-photon-cloudstack-cloud-providers
Remove ovirt/cloudstack/photon cloud providers
2019-06-13 19:12:19 -07:00
Kubernetes Prow Robot
4f29960cb2
Merge pull request #78915 from ereslibre/retry-configmap-get-on-unauthorized
kubeadm: Add ability to retry ConfigMap get if certain errors happen
2019-06-12 13:00:19 -07:00
Rafael Fernández López
26c9965a97
kubeadm: Add ability to retry ConfigMap get if certain errors happen
During the control plane joins, sometimes the control plane returns an
expected error when trying to download the `kubeadm-config` ConfigMap.
This is a workaround for this issue until the root cause is completely
identified and fixed.

Ideally, this commit should be reverted in the near future.
2019-06-12 17:49:27 +02:00
Sandeep Rajan
77466d4a65 [kubeadm] Add the upstream option in CoreDNS configmap 2019-06-11 21:19:43 -04:00
Haosdent Huang
7ce6e71891 Fix typos. 2019-06-11 01:52:14 +08:00
Davanum Srinivas
e0821ca3dd
Remove ovirt/cloudstack/photon cloud providers
Change-Id: Iddb80bdc2a9d75d444b8a3cfe0b142acb78e9097
2019-06-10 12:50:53 -04:00
Joseph Herlant
5ca6eaaba3
kubeadm: fix minor typo in a comment 2019-06-07 15:56:33 -07:00
Arvinderpal Wander
7634cc01c5 Fix kubeadm service-cidr mapping to service-cluster-ip-rage for
kube-controller-manager.

If a service CIDR that overlaps with the cluster CIDR is
specified to kube-controller-manager then kube-controller-
manager will incorrectly allocate node CIDRs that overlap
with the service CIDR. The fix ensure that kubeadm
maps the --service-cidr to --service-cluster-ip-range for use
by kube-controller-manager.

As per docs, --allocate-node-cidrs must be true for
--service-cluster-ip-range to be considered. It does not make
sense for --cluster-cidr to be unspecified but for
--service-cluster-ip-range and --allocate-node-cidrs to be
set, since the purpose of these options is to have the
controller-manager do the per node CIDR allocation. Also
note that --service-cluster-ip-range is passed to the
api-server, so the presence of *just*
--service-cluster-ip-range should not imply that
--allocate-node-cidrs should be true.

Resolves: kubernetes/kubeadm/issues/1591
2019-06-05 06:53:32 -07:00
Davanum Srinivas
401a30c73a
Sort kubeadm CLI default params for component config API objects
Change-Id: If4ba57d528f925de9d536b18c0e6d71fc6d63659
2019-06-04 09:55:45 -04:00
fabriziopandini
dbb82ba99a fix-kubeadm-upgrade-node 2019-06-04 14:57:30 +02:00
Kubernetes Prow Robot
16aeec2485
Merge pull request #78545 from neolit123/kubeadm-revert-coredns-1.3.1
kubeadm: revert CoreDNS to 1.3.1
2019-06-03 14:51:29 -07:00
Kubernetes Prow Robot
71fe27eff5
Merge pull request #78586 from rosti/fix-deprecation-msg
kubeadm: Fix deprecation message for a flag
2019-06-02 05:12:12 -07:00
Kubernetes Prow Robot
79dc1d4c49
Merge pull request #78585 from neolit123/kubeadm-fix-upgrade-node
kubeadm: fix conditional control-plane upgrade
2019-06-02 03:02:14 -07:00
Kubernetes Prow Robot
cc30c0d9a4
Merge pull request #78399 from rikatz/remove-deprecated-conntrack-max
Remove deprecated flag --conntrack-max from kube-proxy
2019-06-01 17:26:14 -07:00
Kubernetes Prow Robot
9c807d483e
Merge pull request #78611 from odinuge/kubeadm-err-check
Fix error handling for loading initCfg in kubeadm
2019-06-01 15:38:14 -07:00
Ricardo Pchevuzinske Katz
82c42bb6ee Remove deprecated flag --conntrack-max from kube-proxy 2019-06-01 18:10:28 -03:00
Kubernetes Prow Robot
c81ae93159
Merge pull request #78542 from neolit123/kubeadm-mixed-cert-key
kubeadm: disallow the mixture of --config and --certificate-key
2019-06-01 09:51:07 -07:00
yameiwang
5cad3f969c kubeadm:fix typo in controlplane.go 2019-06-01 20:26:08 +08:00
Kubernetes Prow Robot
5d1409a4bf
Merge pull request #78189 from ksubrmnn/initsystem
Use Service Control Manager as the Windows Initsystem
2019-05-31 22:02:34 -07:00
Odin Ugedal
2fc9b3a670
Fix error handling for loading initCfg in kubeadm
This fixes possible problems when kubeadm upgrade can't load the
InitConfig properly. Some new code introduced in
https://github.com/kubernetes/kubernetes/pull/75499 is placed between
the loading of the config and the error handling, hiding possible
errors.

This error cannot be ignored (as is the case now), since the cfg ptr.
returned from the configutil function will be nil in the case of an
error.

Signed-off-by: Odin Ugedal <odin@ugedal.com>
2019-06-01 02:08:46 +02:00
Rostislav M. Georgiev
a402610d37 kubeadm: Fix deprecation message for a flag
Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-05-31 17:07:21 +03:00
Lubomir I. Ivanov
aede153310 kubeadm: fix conditional control-plane upgrade
When a node is not a control-plane properly skip "control-plane"
upgrade phase.
2019-05-31 16:25:46 +03:00
SataQiu
d79a5181f8 kubeadm: improve kubelet-config-x.y ConfigMap logic 2019-05-31 18:26:39 +08:00
Lubomir I. Ivanov
2413713c4e kubeadm: apply deterministic order on certificate phases
The existing logic already creates a proper "tree"
where a CA is always generated before the certs that are signed
by this CA, however the tree is not deterministic.

Always use the default list of certs when generating the
"kubeadm init phase certs" phases. Add a unit test that
makes sure that CA always precede signed certs in the default
lists.

This solves the problem where the help screen for "kubeadm
init" cert sub-phases can have a random order.
2019-05-31 04:04:13 +03:00
Lubomir I. Ivanov
a49bc480b9 kubeadm: revert CoreDNS to 1.3.1 2019-05-30 23:31:54 +03:00
Lubomir I. Ivanov
d6f1dff1ce kubeadm: disallow the mixture of --config and --certificate-key
Similar to --token, do not allow the mixture of --config and
--certificate-key.

If the user has fed a config, it is expected that the certificate
key should also be provided in the config and not from
the command line.
2019-05-30 22:35:41 +03:00
Kubernetes Prow Robot
44a3bf4755
Merge pull request #78452 from fabriziopandini/rename-ha-flags
kubeadm: rename-ha-flags
2019-05-30 02:25:13 -07:00
Kubernetes Prow Robot
de81752082
Merge pull request #78408 from fabriziopandini/upgrade-node-ha
kubeadm: upgrade node for HA
2019-05-30 00:32:58 -07:00
Kubernetes Prow Robot
4eab931f15
Merge pull request #78403 from rosti/v1beta2-doc-updates
kubeadm: Update v1beta2 doc.go
2019-05-30 00:32:20 -07:00
ksubrmnn
4d7ee1cd5a Use system calls to manage Windows services 2019-05-29 17:33:47 -07:00
fabriziopandini
67d76c46c7 autogenerated 2019-05-29 22:06:52 +02:00
fabriziopandini
c2faa3bfd1 kubeadm upgrade node 2019-05-29 22:06:42 +02:00
Kubernetes Prow Robot
6a0db7b189
Merge pull request #77739 from rosti/initclustersplit-v1beta2
kubeadm: Remove ClusterConfiguration from InitConfiguration in v1beta2
2019-05-29 07:58:28 -07:00
Kubernetes Prow Robot
ddb0b017f8
Merge pull request #78081 from yagonobre/reset-preflight
Graduate kubeadm reset phases
2019-05-29 03:10:24 -07:00
Rostislav M. Georgiev
5671ea9cf1 kubeadm: Remove ClusterConfiguration from InitConfiguration in v1beta2
Ever since v1alpha3, InitConfiguration is containing ClusterConfiguration
embedded in it. This was done to mimic the internal InitConfiguration, which in
turn is used throughout the kubeadm code base as if it is the old
MasterConfiguration of v1alpha2.

This, however, is confusing to users who vendor in kubeadm as the embedded
ClusterConfiguration inside InitConfiguration is not marshalled to YAML.
For this to happen, special care must be taken for the ClusterConfiguration
field to marshalled separately.

Thus, to make things smooth for users and to reduce third party exposure to
technical debt, this change removes ClusterConfiguration embedding from
InitConfiguration.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-05-29 12:13:37 +03:00
Kubernetes Prow Robot
6118b8aa73
Merge pull request #77848 from yagonobre/certificate-key-command
Add kubeadm alpha certs certificate-key command
2019-05-28 22:20:48 -07:00
Yago Nobre
960083130b
kubeadm: graduate reset phases 2019-05-28 23:32:04 -03:00
fabriziopandini
f3b5cb2145 rename-ha-flags 2019-05-28 22:16:03 +02:00
Kubernetes Prow Robot
2f7eaa1ee3
Merge pull request #78053 from ksubrmnn/crisocket
Implement CRI detection for Windows
2019-05-28 07:17:58 -07:00
Rostislav M. Georgiev
de1bd55e96 kubeadm: Update v1beta2 doc.go
Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-05-27 18:02:17 +03:00
Yago Nobre
0a005e3dac
Add kubeadm certificate-key command 2019-05-27 11:29:31 -03:00
yameiwang
7e1badd7fd fix typo worklow->workflow 2019-05-25 07:05:37 +08:00
ksubrmnn
310bafe658 Implement CRI detection for Windows 2019-05-23 09:54:53 -07:00
Marc Carré
7e2b4aa562
kubeadm errors now ignorable via v1beta2 config files (generated diff)
This commit contains only changes generated by the build process.
Nothing here was manually changed.

Changes made to:
```
cmd/kubeadm/app/apis/kubeadm/validation/BUILD
cmd/kubeadm/app/cmd/BUILD
```
were generated by running:
````
./hack/update-bazel.sh
```
2019-05-23 16:22:18 +09:00
Marc Carré
e706d27262
kubeadm errors now ignorable via v1beta2 config files
Specifically, IgnorePreflightErrors in {Init,Join}Configuration's NodeRegistrationOptions can be used to achieve this.
See also: https://docs.google.com/document/d/1XnP67oO1i9VcDIpw42IzptnJsc5OQM-HTf8cVcjCR2w/edit
2019-05-23 16:22:17 +09:00
Kubernetes Prow Robot
81a61ae0e3
Merge pull request #77863 from fabriziopandini/certs-expiration
Kubeadm: Add check certificate expiration command
2019-05-19 12:47:10 -07:00
Kubernetes Prow Robot
c854f72dcb
Merge pull request #77507 from cuericlee/patch-1
unexpected deleting of contents of mount points due to symbolic link …
2019-05-19 09:23:10 -07:00
fabriziopandini
e4d87b0804 autogenerated 2019-05-18 16:28:44 +02:00
fabriziopandini
919826531c certs-expiration 2019-05-18 16:28:33 +02:00
Kubernetes Prow Robot
648cb98a44
Merge pull request #78030 from rajansandeep/bump1.5.0
Bump CoreDNS version to 1.5.0 and update manifest
2019-05-17 21:52:52 -07:00
Kubernetes Prow Robot
e4cfb55b71
Merge pull request #77989 from ksubrmnn/kubeadm
Use os package for Windows IsPrivilegedUserCheck
2019-05-17 10:12:34 -07:00
Sandeep Rajan
0b28419412 bump coredns version to 1.5.0 and update manifest 2019-05-17 10:03:02 -04:00
Kubernetes Prow Robot
628e0d8333
Merge pull request #77946 from Klaven/deprecate_from
Deprecation of the kubeadm config upload command
2019-05-17 00:26:44 -07:00
Kubernetes Prow Robot
a6b546eb72
Merge pull request #77936 from liggitt/shorten-cert-wait
Interrupt WaitForCertificate if desired kubelet serving cert changes
2019-05-17 00:26:19 -07:00
Kubernetes Prow Robot
afd928b8bc
Merge pull request #77931 from fabriziopandini/etcd-supportedversion-1.16
Kubeadm: Add etcd supported version for v1.16
2019-05-16 20:40:16 -07:00
ksubrmnn
aa8efc5b94 Check User SIDs via os package 2019-05-16 12:24:26 -07:00
Jordan Liggitt
739a75fc32 Interrupt WaitForCertificate if desired kubelet serving cert changes 2019-05-16 15:14:47 -04:00
Kubernetes Prow Robot
d823fa23c6
Merge pull request #77847 from yagonobre/reset-phase
Add phase runner to kubeadm reset
2019-05-16 06:05:56 -07:00
Kubernetes Prow Robot
e1770e698e
Merge pull request #77780 from fabriziopandini/refactor-renewal-package
Kubeadm: Refactor renewal package
2019-05-16 02:55:46 -07:00
Marek Counts
c55eaa9b5a Deprecation of the kubeamd config upload command
This also deprecated all the sub commands.
2019-05-15 14:03:40 -04:00
fabriziopandini
545e494c5c Add etcd supported version for v1.16 2019-05-15 16:29:47 +02:00
fabriziopandini
1c897874bf autogenerated 2019-05-15 10:26:00 +02:00
fabriziopandini
6db533dd5b refactor certs renewal 2019-05-15 10:25:50 +02:00
SataQiu
4fcfb97179 improve validation message for join command 2019-05-15 12:46:45 +08:00
Eric
56ce743f7b kubeadm: fix a bug related to volume unmount if the kubelet run directory is a symbolic link
unexpected deleting of contents of mount points due to symbolic link of KubeletRunDirectory
2019-05-14 20:33:34 +08:00
Yago Nobre
97e22fb9b1
Update bazel 2019-05-14 03:06:50 -03:00
Yago Nobre
d92b0e2147
Add phase runner to kubeadm reset 2019-05-14 01:21:36 -03:00
stgleb
79b46f47f6 Fix typo in IPVS acronym 2019-05-13 20:33:37 +03:00
Kubernetes Prow Robot
f5a1ceb1fc
Merge pull request #77768 from yagonobre/upload-certs
Improve error message when user provide invalid certificate key
2019-05-12 19:24:08 -07:00
Kubernetes Prow Robot
ce6d65fbb9
Merge pull request #77400 from Klaven/arg_validation
updated phase runner to enable custom arg validation
2019-05-12 16:48:08 -07:00
Yago Nobre
54a308bdd7
Improve error message when user provide invalid certificate key 2019-05-12 18:26:11 -03:00
Kubernetes Prow Robot
b03367bd88
Merge pull request #77188 from SataQiu/fix-kubeadm-20190428
Make KubernetesDir a true constant
2019-05-11 08:02:12 -07:00
Marek Counts
2b69699f67 updated phase runner to enable custom arg validation
currently sub phases cannot have custom arg validation and container commands can have args.
This removes phase container commands from taking args and enables custom args on the leaf phases
2019-05-10 09:19:47 -04:00
SataQiu
e28c7b1b59 skip cri detection for kubeadm token create 2019-05-09 23:44:17 +08:00
SataQiu
d46bd0dc7a make KubernetesDir a true constant 2019-05-09 17:16:59 +08:00
Kubernetes Prow Robot
eda5a296a8
Merge pull request #77513 from ereslibre/upload-cluster-configuration-after-upgrade
kubeadm: upload the `ClusterConfiguration` during the upgrade
2019-05-08 17:15:13 -07:00
Kubernetes Prow Robot
09c4e10333
Merge pull request #74021 from andrewsykim/move-features-component-base
Move feature gate package from k8s.io/apiserver to k8s.io/component-base
2019-05-08 13:06:34 -07:00
Daniel (Shijun) Qian
5268f69405 fix duplicated imports of k8s code (#77484)
* fix duplicated imports of api/core/v1

* fix duplicated imports of client-go/kubernetes

* fix duplicated imports of rest code

* change import name to more reasonable
2019-05-08 10:12:47 -07:00
Andrew Kim
c919139245 update import of generic featuregate code from k8s.io/apiserver/pkg/util/feature -> k8s.io/component-base/featuregate 2019-05-08 10:01:50 -04:00
Kubernetes Prow Robot
f9c9ecdbb6
Merge pull request #77180 from fabriziopandini/renew-embedded-certs
kubeadm: renew certificates embedded in kubeconfig files
2019-05-06 15:30:06 -07:00
Rafael Fernández López
b6f4bb349b
kubeadm: upload the ClusterConfiguration during the upgrade
During the upgrade process, `kubeadm` will take the current
`ClusterConfiguration`, update the `KubernetesVersion` to the latest
version, and call to `UploadConfiguration`.

This change makes sure that when the mutation happens, not only the
`ClusterStatus` is mutated, but the `ClusterConfiguration` object
inside the `kubeadm-config` ConfigMap as well; it will contain the
new `KubernetesVersion`.
2019-05-06 18:21:55 +02:00
fabriziopandini
3076644f0b autogenerated 2019-05-06 16:48:35 +02:00
fabriziopandini
cf7f8acae2 renew-embedded-certs 2019-05-06 16:48:24 +02:00
Kubernetes Prow Robot
0a83ed51b4
Merge pull request #77345 from rosti/omitempty-v1beta2
kubeadm: Fix omitempty in v1beta2
2019-05-04 12:13:37 -07:00
Kubernetes Prow Robot
f29138c372
Merge pull request #77012 from rosti/certkey-v1beta2
kubeadm: Add certificateKey field to v1beta2 config
2019-05-03 15:11:39 -07:00
Kubernetes Prow Robot
7defecbc2c
Merge pull request #76327 from neolit123/kubeproxy-node-selector
kubeadm: disable the kube-proxy DaemonSet on non-Linux nodes
2019-05-03 04:08:18 -07:00
Rostislav M. Georgiev
81e3adc53b kubeadm: Fix omitempty in v1beta2
There are a couple of problems with regards to the `omitempty` in v1beta1:

- It is not applied to certain fields. This makes emitting YAML configuration
  files in v1beta1 config format verbose by both kubeadm and third party Go
  lang tools. Certain fields, that were never given an explicit value would
  show up in the marshalled YAML document. This can cause confusion and even
  misconfiguration.

- It can be used in inappropriate places. In this case it's used for fields,
  that need to be always serialized. The only one such field at the moment is
  `NodeRegistrationOptions.Taints`. If the `Taints` field is nil, then it's
  defaulted to a slice containing a single control plane node taint. If it's
  an empty slice, no taints are applied, thus, the cluster behaves differently.
  With that in mind, a Go program, that uses v1beta1 with `omitempty` on the
  `Taints` field has no way to specify an explicit empty slice of taints, as
  this would get lost after marshalling to YAML.

To fix these issues the following is done in this change:

- A whole bunch of additional omitemptys are placed at many fields in v1beta2.
- `omitempty` is removed from `NodeRegistrationOptions.Taints`
- A test, that verifies the ability to specify empty slice value for `Taints`
  is included.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-05-03 12:59:41 +03:00
Rostislav M. Georgiev
1826e445fe kubeadm: Add certificateKey field to v1beta2 config
This change introduces config fields to the v1beta2 format, that allow
certificate key to be specified in the config file. This certificate key is a
hex encoded AES key, that is used to encrypt certificates and keys, needed for
secondary control plane nodes to join. The same key is used for the decryption
during control plane join.
It is important to note, that this key is never uploaded to the cluster. It can
only be specified on either command line or the config file.
The new fields can be used like so:

---
apiVersion: kubeadm.k8s.io/v1beta2
kind: InitConfiguration
certificateKey: "yourSecretHere"
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: JoinConfiguration
controlPlane:
  certificateKey: "yourSecretHere"
---

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2019-05-02 11:47:07 +03:00
Dmitry Rozhkov
a6d7920f44 kubeadm: do unit testing of actual public function
Even though CreateServiceAccountKeyAndPublicKeyFiles() function is
an interface function it's not unittested. Instead it wraps a couple
of internal functions which are used only inside CreateServiceAccountKeyAndPublicKeyFiles()
and those internal functions are tested.

Rewrite the function to do only what it's intended to do and add unit
tests for it.
2019-05-02 10:23:51 +03:00
Àbéjídé Àyodélé
a2b0cb62a1 Clean up kubeadm.
These are based on recommendation from
[staticcheck](http://staticcheck.io/).

- Remove unused struct fields
- Remove unused function
- Remove unused variables
- Remove unused constants.
- Miscellaneous cleanups
2019-05-01 22:16:06 +00:00
Kubernetes Prow Robot
a6558c6f10
Merge pull request #77257 from stgleb/remove_todo
Remove todo and change comment
2019-04-30 05:47:37 -07:00
stgleb
758d89c256 Remove todo and change comment 2019-04-30 13:34:25 +03:00
Kubernetes Prow Robot
b5d9aa58e3
Merge pull request #77218 from neolit123/chroot-fix-flakes
kubeadm: remove flaky unit tests for chroot
2019-04-29 14:36:26 -07:00
Kubernetes Prow Robot
ad645fbb13
Merge pull request #77191 from stgleb/fix_log
Change misleading log message
2019-04-29 14:36:13 -07:00
Kubernetes Prow Robot
35b278447c
Merge pull request #76920 from sempr/master
MOD: support wildcard DNS for apiserver certSANs
2019-04-29 14:36:01 -07:00
Lubomir I. Ivanov
96e907348a kubeadm: remove flaky unit tests for chroot
This unit test contains some hacks are causing the bazel-test
e2e job to flake very often. Instead of maintaining this
unit test remove it completely. It has little benefits
WRT testing app/util/chroot*.go.
2019-04-29 20:49:09 +03:00