Commit Graph

339 Commits

Author SHA1 Message Date
Davanum Srinivas
f7ad09c447
Switch to pause 3.7
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-03-29 15:36:38 -04:00
Kubernetes Prow Robot
f11dbaea2f
Merge pull request #106883 from calvin0327/move-well-know-systemConstant
kubeadm: move well-known system constants to constants.go
2022-02-01 17:28:21 -08:00
ahrtr
972dc46a1f replace deprecated io/ioutil with os and io for cmd 2022-02-01 13:59:41 +08:00
calvin
fcfcdef8fd move well-known system constants to constants.go 2022-01-27 10:39:14 +08:00
pacoxu
7594f0ef90 kubeadm: detect runtime socket as URL format
- Update defaults for v1beta2 and 3 to have URL scheme
- Raname DefaultUrlScheme to DefaultContainerRuntimeURLScheme
- Prepend a missing URL scheme to user sockets and warn them
that this might not be supported in the future
- Update socket validation to exclude IsAbs() testing
(This is broken on Windows). Assume the path is not empty and has
URL scheme at this point (validation happens after defaulting).
- Use net.Dial to open Unix sockets
- Update all related unit tests

Signed-off-by: pacoxu <paco.xu@daocloud.io>
Signed-off-by: Lubomir I. Ivanov <lubomirivanov@vmware.com>
2022-01-03 21:15:03 +02:00
Kubernetes Prow Robot
1c127d3682
Merge pull request #105706 from uthark/oatamanenko/upgrade-etcd-3.5.1
Upgrade etcd to 3.5.1
2021-11-15 10:04:59 -08:00
Kubernetes Prow Robot
5848dbaa80
Merge pull request #105741 from neolit123/1.23-kubeadm-kubelet-config-map-change
kubeadm: introduce the UnversionedKubeletConfigMap feature gate
2021-11-09 11:27:48 -08:00
Lubomir I. Ivanov
a6587f4ffb kubeadm: add the UnversionedKubeletConfigMap feature gate
Add the UnversionedKubeletConfigMap feature gate that can
be used to control legacy vs new behavior for naming the
default configmap used to store the KubeletConfiguration.

Update related unit tests.
2021-11-08 17:31:29 +02:00
Oleg Atamanenko
965f10f539 Upgrade etcd to 3.5.1 2021-10-18 23:09:27 -07:00
calvin0327
941c78f411 Update corefile-migration to v1.0.14 and update coredns to 1.8.6 2021-10-12 11:03:52 +08:00
Kubernetes Prow Robot
bf000e8770
Merge pull request #104770 from pacoxu/dual-stack-ga-kubeadm
cleanup: DualStack GA for kubeadm
2021-09-28 03:42:42 -07:00
Paco Xu
751ad37a05 kubeadm: cleanup remove some empty feature gate for dual-stack 2021-09-28 15:34:26 +08:00
Paco Xu
a0cc3f1c9a cleanup: DualStack GA for kubeadm 2021-09-04 22:38:14 +08:00
Claudiu Belu
18936d4785 updates pause image references
The pause:3.6 image has been published.

Also updates older / incorrect references.
2021-08-29 21:50:05 -07:00
Antonio Ojea
0cd75e8fec run hack/update-netparse-cve.sh 2021-08-20 10:42:09 +02:00
XinYang
72fd01095d
re-order imports for kubeadm
Signed-off-by: XinYang <xinydev@gmail.com>
2021-08-17 22:40:46 +08:00
Lubomir I. Ivanov
096c3e8f2d kubeadm: further improve the dynamic version population
Panicing if not running in a test and if the component-base/version
variables are empty is not ideal. At some point sections
of kubeadm could be exposed as a library and if these sections
import the constants package, they would panic on the library
users unless they set the version information in component-base
with ldflags.

Instead:
- If the component-base version is empty, return a placeholder version
that should indicate to users that build kubeadm that something is not
right (e.g. they did not use 'make'). During library usage or unit
tests this version should not be relevant.
- Update unit tests to use hardcoded versions instead of the versions
from the constants package. Using the constants package for testing
is good but during unit tests these versions are already placeholders
since unit tests do not populate the actual component-base versions
(e.g. 1.23).
2021-08-12 19:54:06 +03:00
Kubernetes Prow Robot
40c9066054
Merge pull request #103027 from Haleygo/feature/add-kubeadm-join-dryrun
kubeadm: support kubeadm join --dry-run
2021-08-10 13:02:39 -07:00
Haleygo
95e000fd65 support kubeadm join dry-run 2021-08-10 23:43:54 +08:00
Kubernetes Prow Robot
e96652ea74
Merge pull request #104015 from neolit123/1.23-use-dynamic-versions
kubeadm: dynamically populate the current/minimum k8s versions
2021-08-09 21:59:17 -07:00
Lubomir I. Ivanov
207ffa7bdc kubeadm: dynamically populate the current/minimum k8s versions
Kubeadm requires manual version updates of its current supported k8s
control plane version and minimally supported k8s control plane and
kubelet versions every release cycle.

To avoid that, in constants.go:
- Add the helper function getSkewedKubernetesVersion() that can be
used to retrieve a MAJOR.(MINOR+n).0 version of k8s. It currently
uses the kubeadm version populated in "component-base/version" during
the kubeadm build process.
- Use the function to set existing version constants (variables).

Update util/config/common.go#NormalizeKubernetesVersion() to
tolerate the case where a k8s version in the ClusterConfiguration
is too old for the kubeadm binary to use during code freeze.

Include unit tests for the new utilities.
2021-08-09 19:42:08 +03:00
SataQiu
5be47eaf27 kubeadm: update references to legacy artifacts locations 2021-07-21 12:13:05 +08:00
Kubernetes Prow Robot
ac554af79b
Merge pull request #103142 from serathius/etcd-3.5.0
Upgrade etcd to 3.5.0
2021-07-07 12:40:22 -07:00
XinYang
c2a8cd359f
re-order the imports in kubeadm
Signed-off-by: XinYang <xinydev@gmail.com>

Update cmd/kubeadm/app/cmd/join.go

Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2021-07-04 16:41:27 +08:00
Marek Siarkowicz
ebe550bd48 Upgrade etcd to 3.5.0 2021-06-24 09:15:17 +02:00
pacoxu
188193e1c0 kubeadm: upgrade coredns 1.8.4 and corefile-migration to v1.0.12
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-06-15 13:03:42 +08:00
Marek Siarkowicz
12447bc803 Upgrade etcd server version to 3.5.0-rc.0 2021-06-09 17:00:05 +02:00
Kubernetes Prow Robot
7e2b5f3325
Merge pull request #102502 from ykakarap/kubeadm-coredns-path-change
kubeadm: use subpath for coredns only for default repository
2021-06-01 16:02:47 -07:00
Yuvaraj Kakaraparthi
97ba90cbfb use subpath for coredns only for default repository 2021-06-01 13:27:01 -07:00
Vinayak Goyal
39d45fccef Add user and group name constants for kubeadm rootless control-plane. 2021-06-01 09:52:33 -07:00
Lubomir I. Ivanov
8e5a982442 kubeadm: remove the cgroup driver detection code for Docker
Ideally this should be part of dockershim/CRI and not on the
side of kubeadm.

Remove the detection during:
- During preflight
- During kubelet config defaulting
2021-05-25 22:05:42 +03:00
Sascha Grunert
b167fc24d7
Update pause image to v3.5
Update dependencies and the test images to use pause 3.5. We also
provide a changelog entry for the new container image version.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-05-25 09:04:46 +02:00
Kubernetes Prow Robot
64412d526e
Merge pull request #102133 from pacoxu/move-defaulting-kubeadm
kubeadm: move cgroupDriver defaulting to kubeconfig/kubelet.go Default()
2021-05-21 08:40:59 -07:00
pacoxu
2fdbfd8a27 kubeadm: move cgroupDriver defaulting to componentconfigs/kubelet.go#Default()
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-05-21 17:27:40 +08:00
Lubomir I. Ivanov
8b9d0dceb1 kubeadm: remove the ClusterStatus object from v1beta3
- Remove the object form v1beta3 and internal type
- Deprecate a couple of phases that were specifically designed / named to
modify the ClusterStatus object
- Adapt logic around annotation vs ClusterStatus retrieval
- Update unit tests
- Run generators
2021-05-17 19:27:36 +03:00
Lubomir I. Ivanov
0bdfe05cf2 kubeadm: remove ClusterConfiguration.DNS.Type from v1beta3
Kubeadm no longer supports kube-dns and CoreDNS is the only
supported DNS server. Remove ClusterConfiguration.DNS.Type
from v1beta3 that is used to set the DNS server type.
2021-05-11 01:31:01 +03:00
Kubernetes Prow Robot
347730b6b4
Merge pull request #101537 from neolit123/1.22-remove-hyperkube
kubeadm: remove deprecated hyperkube image support in v1beta3
2021-05-10 10:49:48 -07:00
Lubomir I. Ivanov
81d5b18dfb kubeadm: remove deprecated hyperkube image support in v1beta3
The hyperkube image support was deprecated. Remove the field
ClusterConfiguration.UseHyperKubeImage from the new v1beta3 API.
2021-04-29 02:10:45 +03:00
pacoxu
9847579699 gcp/kubeadm: upgrade etcd to 3.4.13-3
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-04-15 11:19:41 +08:00
Niu Lechuan
520d49d2f9 kubeadm: Bump minimum supported versions and add etcd version for 1.22 and placeholder for 1.23
Signed-off-by: Niu Lechuan <lechuan.niu@daocloud.io>
2021-04-14 19:00:35 +08:00
Kubernetes Prow Robot
a6bfc7d7a9
Merge pull request #99646 from rajansandeep/remove-kube-dns
[kubeadm]: Remove the deprecated kube-dns as an option in kubeadm
2021-03-04 14:41:12 -08:00
Sandeep Rajan
b8a1bd6a6c remove the deprecated kube-dns as an option in kubeadm 2021-03-04 12:12:54 -05:00
Kubernetes Prow Robot
0d8aae99f9
Merge pull request #98269 from neolit123/1.21-kubeadm-add-lb-label
kubeadm: exclude control plane nodes from external LBs
2021-03-04 00:27:59 -08:00
pacoxu
8946f26769 update pause to 3.4.1 for kubelet/kubeadm
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-02-05 21:33:01 +08:00
Lubomir I. Ivanov
01ea75e36d kubeadm: exclude control plane nodes from external LBs
Apply the label:
"node.kubernetes.io/exclude-from-external-load-balancers"

To control plane nodes to preserve backwards compatibility
with the legacy mode where "master" nodes were excluded from
LBs.
2021-01-26 20:42:58 +02:00
Kubernetes Prow Robot
7791bbe978
Merge pull request #98008 from RA489/min_support_ver
kubeadm: Update versions for 1.21
2021-01-15 14:50:04 -08:00
Kubernetes Prow Robot
d067c2e95d
Merge pull request #97087 from SataQiu/change-ci-image-repo
kubeadm: change the default image repository for CI images from gcr.io/kubernetes-ci-images to gcr.io/k8s-staging-ci-images
2021-01-14 08:55:04 -08:00
RA489
546b0a704d kubeadm: Update versions for 1.21 2021-01-13 18:03:34 +05:30
pacoxu
bd3a74fece use default unkown sock for kubeadm cmd if cri detect is not needed
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-01-05 22:30:42 +08:00
Jian Zeng
57d563403b refactor(kubeadm): remove deprecated command "alpha selfhosting pivot" 2020-12-31 13:47:15 +08:00
Kubernetes Prow Robot
80be1d6c72
Merge pull request #96429 from rajansandeep/coredns180-kubeadm
[kubeadm]: Bump CoreDNS version to 1.8.0
2020-12-29 13:19:48 -08:00
pacoxu
920dc25531 etcd version for 1.19 is 3.4.13 for cve fixes
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2020-12-11 23:37:38 +08:00
SataQiu
fa04c55ee6 kubeadm: change the default image repository for CI images from gcr.io/kubernetes-ci-images to gcr.io/k8s-staging-ci-images
Signed-off-by: SataQiu <1527062125@qq.com>
2020-12-06 14:59:12 +08:00
Sandeep Rajan
40862c3b60 bump coredns to 1.8.0 2020-11-16 15:22:05 -05:00
Lubomir I. Ivanov
fb7ddf88e9 kubeadm: mark the "master" label/taint as deprecated
- Mark the "node-role.kubernetes.io/master" key for labels
and taints as deprecated.
- During "kubeadm init/join" apply the label
"node-role.kubernetes.io/control-plane" to new control-plane nodes,
next to the existing "node-role.kubernetes.io/master" label.
- During "kubeadm upgrade apply", find all Nodes with the "master"
label and also apply the "control-plane" label to them
(if they don't have it).
- During upgrade health-checks collect Nodes labeled both "master"
and "control-plane".
- Rename the constants.ControlPlane{Taint|Toleraton} to
constants.OldControlPlane{Taint|Toleraton} to manage the transition.
- Mark constants.OldControlPlane{{Taint|Toleraton} as deprecated.
- Use constants.OldControlPlane{{Taint|Toleraton} instead of
constants.ControlPlane{Taint|Toleraton} everywhere.
- Introduce constants.ControlPlane{Taint|Toleraton}.
- Add constants.ControlPlaneToleraton to the kube-dns / CoreDNS
Deployments to make them anticipate the introduction
of the "node-role.kubernetes.io/control-plane:NoSchedule"
taint (constants.ControlPlaneTaint) on kubeadm control-plane Nodes.
2020-11-10 22:10:13 +02:00
Antonio Ojea
7fc6b4157b kubeadm validate maximum service subnet size
Validate that the maximum service subnet size doesn't exceed the
limits.

Co-authored-by: Arvinderpal Wander <awander@gmail.com>
2020-10-22 17:30:59 +02:00
Antonio Ojea
8b52995d32 kubeadm: validate podSubnet against node-cidr-mask
the controller manager should validate the podSubnet against the node-mask
because if they are incorrect can cause the controller-manager to fail.

We don't need to calculate the node-cidr-masks, because those should
be provided by the user, if they are wrong we fail in validation.
2020-10-22 16:24:13 +02:00
Akhilesh2412
1a0f69bca3 kubeadm: Update versions for 1.20
This PR specifies minimum control plane version,
kubelet version and current K8s version for v1.20.

Signed-off-by: Kommireddy Akhilesh <akhileshkommireddy2412@gmail.com>
2020-09-10 02:51:13 +05:30
Kubernetes Prow Robot
92ba3eb793
Merge pull request #93275 from xlgao-zju/check-mem
kubeadm: Add a preflight check that the control-plane node has at least 1700MB of RAM
2020-09-03 08:17:40 -07:00
jingyih
c96b93fbd4 Update default etcd server to 3.4.13 2020-08-28 21:19:24 +08:00
Xianglin Gao
c6975a7750 add test case for kubeadm memory check
Signed-off-by: Xianglin Gao <xianglin.gxl@alibaba-inc.com>
2020-07-24 10:57:22 +08:00
Xianglin Gao
e5bb66f899 Add a preflight check that the control-plane node has at least 2GB RAM
Signed-off-by: Xianglin Gao <xianglin.gxl@alibaba-inc.com>
2020-07-20 23:58:31 +08:00
Kubernetes Prow Robot
f9ad7db9a6
Merge pull request #92349 from jingyih/update_etcd_server_3p4p9
Update default etcd server to 3.4.9
2020-07-17 07:53:01 -07:00
Sandeep Rajan
04038fc791 update coredns version to 1.7.0 2020-07-09 11:01:45 -04:00
jingyih
e9bf1c3c90 Update default etcd server to 3.4.9 2020-07-08 14:16:40 +08:00
Xianglin Gao
052eb7d9a5 Add retries for CreateOrUpdateRole
Signed-off-by: Xianglin Gao <xianglin.gxl@alibaba-inc.com>
2020-06-10 00:12:25 +08:00
Kubernetes Prow Robot
b607c7cd52
Merge pull request #86070 from rosti/kubeadm-cc-user-configs-checksum-a
kubeadm: distinguish between generated and user supplied component configs
2020-06-03 05:44:18 -07:00
Rostislav M. Georgiev
5d6cf8ecd4 kubeadm: Distinguish between user supplied and generated component configs
Until now, users were always asked to manually convert a component config to a
version supported by kubeadm, if kubeadm is not supporting its version.
This is true even for configs generated with older kubeadm versions, hence
getting users to make manual conversions on kubeadm generated configs.
This is not appropriate and user friendly, although, it tends to be the most
common case. Hence, we sign kubeadm generated component configs stored in
config maps with a SHA256 checksum. If a configs is loaded by kubeadm from a
config map and has a valid signature it's considered "kubeadm generated" and if
a version migration is required, this config is automatically discarded and a
new one is generated.
If there is no checksum or the checksum is not matching, the config is
considered as "user supplied" and, if a version migration is required, kubeadm
will bail out with an error, requiring manual config migration (as it's today).
The behavior when supplying component configs on the kubeadm command line
does not change. Kubeadm would still bail out with an error requiring migration
if it can recognize their groups but not versions.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-06-01 17:57:53 +03:00
Rostislav M. Georgiev
def0db6a16 kubeadm: Remove unused constants
Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-05-22 17:10:27 +03:00
Xianglin Gao
6c6a702a99 kubeadm: delete prepull ds
Signed-off-by: Xianglin Gao <xianglin.gxl@alibaba-inc.com>
2020-05-06 15:52:19 +08:00
Lubomir I. Ivanov
83644dda30 kubeadm: update versions for 1.19 2020-04-14 23:27:35 +03:00
Kubernetes Prow Robot
ea2d784545
Merge pull request #89895 from jingyih/update_etcd_server_3p4p7
Update default etcd server to 3.4.7 in k8s v1.19
2020-04-14 12:34:06 -07:00
jingyih
394df132bd Update default etcd server to 3.4.7 2020-04-13 14:37:56 -07:00
Rostislav M. Georgiev
d2c4426e97 kubeadm join: Wait longer for TLS bootstrapping
The TLS bootstrapping timeout is increased to 5 minutes with a retry
once every 5 seconds. Failing fast if the kubelet is not healthy is also
preserved.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-04-02 16:44:39 +03:00
Kubernetes Prow Robot
c1fc466cdd
Merge pull request #88854 from bart0sh/PR0088-kubeadm-redesign-printAvailableUpgrades
kubeadm: redesign printAvailableUpgrades function
2020-03-27 05:14:23 -07:00
Ed Bartosh
0eac66d647 kubeadm: refactor printAvailableUpgrades
Split printAvailableUpgrades into 2 functions:

- genUpgradePlan that handles business logic
- printUpgradePlan that outputs upgrade plan
2020-03-24 12:47:52 +02:00
jingyih
f9e0e4c6b4 Update default etcd server to 3.4.4 2020-03-18 00:27:46 -07:00
Kubernetes Prow Robot
5c5faed39b
Merge pull request #88287 from gab-satchi/master
Windows specific kubelet flags in kubeadm-flags.env
2020-03-04 13:18:52 -08:00
Gab Satch
9fabafdbb1 Windows specific kubelet flags in kubeadm-flags.env
- Uses correct pause image for Windows
- Omits systemd specific flags
- Common build flags function to be used by Linux and Windows
- Uses user configured image repository for Windows pause image
2020-03-04 11:05:53 -05:00
Sandeep Rajan
a980cb7ead update coredns to 1.6.7 2020-02-24 15:00:55 -05:00
Kubernetes Prow Robot
20e3288277
Merge pull request #88373 from SataQiu/fix-kubeadm-20200220
kubeadm: fallback to a known etcd version if an unknown k8s version is passed
2020-02-24 05:14:47 -08:00
SataQiu
2e23f84745 kubeadm: fallback to a known etcd version if an unknown k8s version is passed 2020-02-24 10:46:39 +08:00
Kubernetes Prow Robot
31b8c0d23d
Merge pull request #87656 from ereslibre/do-not-depend-on-cluster-status
kubeadm: deprecate the `ClusterStatus` dependency
2020-02-22 22:30:47 -08:00
Rafael Fernández López
b140c5d64b
kubeadm: remove ClusterStatus dependency
While `ClusterStatus` will be maintained and uploaded, it won't be
used by the internal `kubeadm` logic in order to determine the etcd
endpoints anymore.

The only exception is during the first upgrade cycle (`kubeadm upgrade
apply`, `kubeadm upgrade node`), in which we will fallback to the
ClusterStatus to let the upgrade path add the required annotations to
the newly created static pods.
2020-02-20 12:18:56 +01:00
Lubomir I. Ivanov
22319019ab kubeadm: update constants for 1.18
- Include 1.19 as a supported etcd mapping.
- Update minimum and current versions.
2020-02-19 21:40:46 +02:00
Benjamin Elder
a00a1e39ef bump pause to 3.2 in kubeadm 2020-02-14 11:40:15 -08:00
SataQiu
c7234aa177 kubeadm: support automatic retry after failing to pull image 2020-01-11 15:10:56 +08:00
Sandeep Rajan
f931dad722 bump coredns version and update manifest 2019-11-12 13:05:09 -05:00
Lubomir I. Ivanov
23ba857b50 kubeadm: use the secure ports for kube-scheduler and kcm health checks
The insecure ports were deprecated in 1.12 and 1.13.
2019-11-09 23:21:39 +02:00
Jingyi Hu
706cde51c5 Update default etcd server to 3.4.3 2019-10-28 18:29:37 -07:00
Cristian Dima
da759609dc in pkg/controller/service rename service_controller.go to controller.go 2019-10-23 01:52:19 +03:00
Kubernetes Prow Robot
9fa1bc8003
Merge pull request #83422 from yastij/remove-ipallocator
remove ipallocator in favor of k/utils net package
2019-10-22 12:52:13 -07:00
Yassine TIJANI
f984b4c7a2 remove ipallocator in favor of k/utils net package
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-10-22 18:37:13 +02:00
Joe Betz
c92bd5e7b5 Upgrade to etcd server 3.3.17 2019-10-13 17:17:15 -07:00
Kubernetes Prow Robot
7f6d7afb8e
Merge pull request #83314 from fabriziopandini/add-etcd-version
kubeadm: add 1.18 entry in the etcd map
2019-10-04 08:50:18 -07:00
Kubernetes Prow Robot
f3981710db
Merge pull request #82473 from Nordix/kubeadm-dualstack-service-ip
Kubeadm DualStack Support for List of Service IPs
2019-10-02 11:26:08 -07:00
fabriziopandini
7c42fe77fe 1.18 entry in etcd map 2019-10-01 09:17:31 +02:00
fabriziopandini
b77b8bdb47 bump versions for v1.17 cycle 2019-09-30 11:08:03 +02:00
Arvinderpal Wander
bacc06d8fc kubeadm --service-cluster-ip-range supports a comma seperated list
of service subnets.

Update DNS, Cert, dry-run logic to support list of Service CIDRs.
Added unit tests for GetKubernetesServiceCIDR and updated
GetDNSIP() unit test to inclue dual-sack cases.
2019-09-16 09:33:43 -07:00
Joe Betz
4c2b0731cb Simplify etcd image version usage in kubeadm 2019-09-05 10:28:23 -07:00