Commit Graph

4072 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
d374c954de
Merge pull request #108027 from neolit123/1.24-update-unversioned-kubelet-cm-fg
kubeadm: switch UnversionedKubeletConfigMap to true
2022-02-14 10:59:52 -08:00
Lubomir I. Ivanov
f6fbf6c6e6 kubeadm: remove mentions of the x.yy versioned kubelet config CM
The legacy naming "kubelet-config-x.yy" is no longer the
default behavior. Rename instances in documentation and comments
of "kubelet-config-x.yy" to "kubelet-config".
2022-02-10 18:14:50 +02:00
Lubomir I. Ivanov
66a18df14c kubeadm: switch UnversionedKubeletConfigMap to true
- Graduate the feature gate to Beta and enable it by default.
- Pre-set the default value for UnversionedKubeletConfigMap
to "true" in test/e2e_kubeadm.
- Fix a couple of typos in "tolerate" introduced in the PR that
added the FG in 1.23.
2022-02-09 18:33:27 +02:00
SataQiu
2c5aef9036 kubeadm: fix the bug that 'kubeadm init --dry-run --upload-certs' command failed with 'secret not found' error 2022-02-09 12:58:02 +08:00
Kubernetes Prow Robot
eda02deda2
Merge pull request #107785 from chendave/warn
kubeadm: warn only when config value is different with default value
2022-02-08 08:18:55 -08:00
SataQiu
dcf959c782 kubeadm: fix the bug that 'kubeadm certs generate-csr' command does not remove duplicated SANs 2022-02-07 17:12:38 +08: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
Dave Chen
29a870da2e kubeadm: warn only when config value is different with default value
Compare with two pointers will always show that they are different value,
so it will always print the warning message.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-01-28 13:04:40 +08:00
calvin
fcfcdef8fd move well-known system constants to constants.go 2022-01-27 10:39:14 +08:00
Kubernetes Prow Robot
8a25964153
Merge pull request #107317 from neolit123/1.24-change-kubeadm-cr-auto-detection
kubeadm: adapt CRI detection and defaults after the dockershim removal
2022-01-17 11:00:50 -08:00
SataQiu
aed6f56257 kubeadm: make the phase prefix and capitalization consistent 2022-01-16 00:01:35 +08:00
SataQiu
e91c829836 kubeadm reset: add support for dry-run 2022-01-14 11:07:09 +08:00
Lubomir I. Ivanov
db6061f5a6 kubeadm: apply the new "control-plane" taint during upgrade
- During "upgrade apply" call a new function AddNewControlPlaneTaint()
that finds all nodes with the new "control-plane" node-role label
and adds the new "control-plane" taint to them.
- The function is called in "apply" and is separate from
the step to remove the old "master" label for better debugging
if errors occur.
2022-01-13 17:46:11 +02:00
Lubomir I. Ivanov
370031cada kubeadm: apply the new "control-plane" taint on CP nodes
- Apply "control-plane" taint during init/join by adding the
taint in SetNodeRegistrationDynamicDefaults(). The old
taint "master" is still applied.
- Clarify API docs (v1beta2 and v1beta3) for nodeRegistration.Taint
to not mention "master" taint and be more generic. Remove
example for taints that includes the word "master".
- Update unit tests.
2022-01-13 17:46:05 +02:00
Lubomir I. Ivanov
a3d5e55982 kubeadm: only apply the new "control-plane" label during init/join
- Update the markcontrolplane phase used by init and join to
only label the nodes with the new control plane label.
- Cleanup TODOs about the old label.
- Remove outdated comment about selfhosting in staticpod/utils.go.
Selfhosting has not been supported in kubeadm for a while
and the comment also mentions the "master" label.
- Update unit tests.
2022-01-13 17:45:54 +02:00
Lubomir I. Ivanov
c0871b4433 kubeadm: delete the old "master" label during upgrade
- Rename the function in postupgrade.go to better reflect
what is being done.
- During "upgrade apply" find all nodes with the old label
and remove it by calling PatchNode.
- Update health check for CP nodes to not track "master"
labeled nodes. At this point all CP nodes should have
"control-plane" and we can use that selector only.
2022-01-13 17:45:32 +02:00
Lubomir I. Ivanov
f3f1332223 kubeadm: update the CRI socket detection logic
- Throw an error if there is more than one known socket on the host.
- Remove the special handling for docker+containerd.
- Remove the local instances of constants for endpoints for
Windows / Unix and use the defaultKnownCRISockets variable
which is populated from OS specific constants.
- Update error message in detectCRISocketImpl to have more
details.
- Make detectCRISocketImpl accept a list of "known" sockets
- Update unit tests for detectCRISocketImpl and make them
use generic paths such as "unix:///foo/bar.sock".
2022-01-12 17:15:45 +02:00
Lubomir I. Ivanov
ea2c948799 kubeadm: change the default CRI socket to containerd
Change the default container runtime CRI socket endpoint to the
one of containerd. Previously it was the one for Docker

- Rename constants.DefaultDockerCRISocket to DefaultCRISocket
- Make the constants files include the endpoints for all supported
container runtimes for Unix/Windows.
- Update unit tests related to docker runtime testing.
- In kubelet/flags.go hardcode the legacy docker socket as a check
to allow kubeadm 1.24 to run against kubelet 1.23 if the user
explicitly sets the criSocket field to "npipe:////./pipe/dockershim"
on Windows or "unix:///var/run/dockershim.sock" on Linux.
2022-01-12 17:15:45 +02:00
Kubernetes Prow Robot
9c468ecf30
Merge pull request #107467 from SataQiu/kubeadm-cleanup-20220111
kubeadm: print warnings to stderr
2022-01-11 09:46:57 -08:00
SataQiu
218b4dea9f kubeadm: print warnings to stderr 2022-01-11 23:08:59 +08:00
Lubomir I. Ivanov
ad58393e19 kubeadm: remove the deprecated output/v1alpha1 API
The API was deprecated in 1.23 when output/v1alpha2 was
added. v1alpha1 is problematic since it embeds kubeadm/v1beta2
BootstrapToken related types directly. v1alpha2 imports
a new group dedicated to bootstrap tokens apis/bootstraptoken.
2022-01-11 12:51:46 +02:00
Ikko Ashimine
6debd53ff3 Fix typo in flags.go 2022-01-07 04:02:11 +09:00
Kubernetes Prow Robot
c15e24b128
Merge pull request #107327 from SataQiu/kubeadm-cert
kubeadm: remove the restriction that the ca.crt can only contain one certificate
2022-01-05 19:08:39 -08:00
Kubernetes Prow Robot
a1be132c0d
Merge pull request #107270 from SataQiu/refactor-20211231
kubeadm: use build tags and split the Windows releated logic into separate files for kubelet component config
2022-01-05 13:54:29 -08:00
Lubomir I. Ivanov
936e12c930 kubeadm: do not special case Docker as a container runtime
crictl already works with the current state of dockershim.
Using the docker CLI is not required and the DockerRuntime
can be removed from kubeadm. This means that crictl
can connect at the dockershim (or cri-dockerd) socket and
be used to list containers, pull images, remove containers, and
all actions that the kubelet can otherwise perform with the socket.

Ensure that crictl is now required for all supported container runtimes
in checks.go. In the help text in waitcontrolplane.go show only
the crictl example.

Remove the check for the docker service from checks.go.
Remove the DockerValidor check from checks.go.
These two checks were special casing Docker as CR and compensating
for the lack of the same checks in dockershim. With the
extraction of dockershim to cri-dockerd, ideally cri-dockerd
should perform the required checks whether it can support
a given Docker config / version running on a host.
2022-01-05 21:27:24 +02:00
SataQiu
2a113424fc kubeadm: use build tags and split the Windows releated logic into separate files for kubelet component config 2022-01-05 16:04:55 +08:00
SataQiu
83ef08336b kubeadm: remove the restriction that the ca.crt can only contain one certificate 2022-01-05 15:08:29 +08:00
Lubomir I. Ivanov
076b19f0eb kubeadm: fix panic in runKubeletConfigPhase
The "nro" struct must be initialized before passing it to
GetNodeRegistration().
2022-01-04 21:28:13 +02:00
Kubernetes Prow Robot
c7d57a01b7
Merge pull request #107295 from neolit123/1.24-kubeadm-add-scheme-to-cri-sockets
kubeadm: ensure CRI endpoints are managed with URL schemes
2022-01-03 23:02:59 -08:00
Lubomir I. Ivanov
39330c4278 kubeadm: ensure CRI URL scheme is present in the kubelet env file
During "upgrade node" and "upgrade apply" read the
kubelet env file from /var/lib/kubelet/kubeadm-flags.env
patch the --container-runtime-endpoint flag value to
have the appropriate URL scheme prefix (e.g. unix:// on Linux)
and write the file back to disk.

This is a temporary workaround that should be kept only for 1 release
cycle - i.e. remove this in 1.25.
2022-01-03 23:13:31 +02:00
Lubomir I. Ivanov
207556e057 kubeadm: make "upgrade node" include URL scheme in socket paths
The CRI socket that kubeadm writes as an annotation
on a particular Node object can include an endpoint that
does not have an URL scheme. This is undesired as long term
the kubelet can stop allowing endpoints without URL scheme.

For control plane nodes "kubeadm upgrade apply" takes
the locally defaulted / populated NodeRegistration and refreshes
the CRI socket in PerformPostUpgradeTasks. But for secondary
nodes "kubeadm upgrade node" does not.

Adapt "upgrade node" to fetch the NodeRegistration for this node
and fix the CRI socket missing URL scheme if needed in the Node
annotation.
2022-01-03 23:13:31 +02: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
Monokaix
eab74f15a5 Remove unused arg of kubeadm/WaitForKubeletAndFunc 2021-12-25 09:12:00 +08:00
Kubernetes Prow Robot
522c1be4c1
Merge pull request #106648 from calvin0327/remove-dualStack-featureGate
kubeadm: cleanup the feature gate of dual-stack.
2021-12-15 17:27:18 -08:00
Kubernetes Prow Robot
be5b9b4f8d
Merge pull request #107013 from pacoxu/kubeadm-v1beta2-depre
kubeadm: mark v1beta2 as deprecated
2021-12-14 19:48:18 -08:00
Paco Xu
703f2a7b86 kubeadm: mark v1beta2 as deprecated 2021-12-15 09:36:42 +08:00
Lubomir I. Ivanov
6c6c7e5f0c kubeadm: handle dockershim specific flags for 1.24
Currently when the dockershim socket is used, kubeadm only passes
the --network-plugin=cni to the kubelet and assumes the built-in
dockershim. This is valid for versions <1.24, but with dockershim
and related flags removed the kubelet will fail.

Use preflight.GetKubeletVersion() to find the version of the host
kubelet and if the version is <1.24 assume that it has built-in
dockershim. Newer versions should will be treated as "remote" even
if the socket is for dockershim, for example, provided by cri-dockerd.

Update related unit tests.
2021-12-11 02:16:06 +02:00
Davanum Srinivas
9405e9b55e
Check in OWNERS modified by update-yamlfmt.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-09 21:31:26 -05:00
Kubernetes Prow Robot
b5a610064c
Merge pull request #106920 from neolit123/1.24-update-kubeadm-owners
kubeadm: update OWNERS for 1.24
2021-12-09 18:01:22 -08:00
Kubernetes Prow Robot
481459d12d
Merge pull request #106872 from calvin0327/fix-kubeadm-kubelet-constant
kubeadm: amend constant to kubelet.
2021-12-09 16:29:22 -08:00
Lubomir I. Ivanov
0290eb63b6 kubeadm: update OWNERS for 1.24 2021-12-09 21:07:56 +02:00
Kubernetes Prow Robot
8cc7d14588
Merge pull request #106859 from knight42/refactor/remove-apiserver-insecure-port
refactor(apiserver): remove the insecure flags
2021-12-09 09:48:30 -08:00
haoyun
cd3bafc2ed cleanup: remove insecure flag
Signed-off-by: haoyun <yun.hao@daocloud.io>
2021-12-09 12:36:29 +08:00
Lubomir I. Ivanov
c78afc695b kubeadm: print the CA of kubeconfig files in "check expiration"
Apply a small fix to ensure the kubeconfig files
that kubeadm manages have a CA when printed in the table
of the "check expiration" command. "CAName" is the field used for that.

In practice kubeconfig files can contain multiple credentials
from different CAs, but this is not supported by kubeadm and there
is a single cluster CA that signs the single client cert/key
in kubeadm managed kubeconfigs.
2021-12-08 20:50:23 +02:00
Lubomir I. Ivanov
6603cf6357 kubeadm: validate local etcd certficates during expiration checks
In case stacked etcd is used, the code that does expiration checks
does not validate if the etcd CA is "external" (missing key)
and if the etcd CA signed certificates are valid.

Add a new function UsingExternalEtcdCA() similar to existing functions
for the cluster CA and front-proxy CA, that performs the checks for
missing etcd CA key and certificate validity.

This function only runs for stacked etcd, since if etcd is external
kubeadm does not track any certs signed by that etcd CA.

This fixes a bug where the etcd CA will be reported as local even
if the etcd/ca.key is missing during "certs check-expiration".
2021-12-08 20:39:14 +02:00
calvin
fdf33a27c4 amend constant to kubelet 2021-12-08 14:17:34 +08:00
Lubomir I. Ivanov
847b2e1085 kubeadm: avoid requiring a CA key during kubeconfig expiration checks
When the "kubeadm certs check-expiration" command is used and
if the ca.key is not present, regular on disk certificate reads
pass fine, but fail for kubeconfig files. The reason for the
failure is that reading of kubeconfig files currently
requires reading both the CA key and cert from disk. Reading the CA
is done to ensure that the CA cert in the kubeconfig is not out of date
during renewal.

Instead of requiring both a CA key and cert to be read, only read
the CA cert from disk, as only the cert is needed for kubeconfig files.

This fixes printing the cert expiration table even if the ca.key
is missing on a host (i.e. the CA is considered external).
2021-12-07 20:48:45 +02:00
calvin
d591b62b4a remove the kubeadm feature gate. 2021-11-29 18:11:02 +08:00
Hanna Lee
c862d7c0e9 Fix last remaining SA5011 error by removing unnecessary r != nil check 2021-11-17 08:56:01 +01: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
navist2020
bc4bbd88b2 kubeadm/certs/renew:remove deprecated flags csrOnly and csrPath 2021-11-12 17:44:35 +08:00
Kubernetes Prow Robot
35f9bcabf1
Merge pull request #105992 from hwdef/fix-kubeadm-2419
kubeadm: add mutation for Linux paths in KubeletConfiguration on Windows
2021-11-11 19:48:29 -08:00
hwdef
b985e094b0 kubeadm: fix absolute paths do not work properly in config files in windows 2021-11-12 10:42:46 +08:00
Lubomir I. Ivanov
e1571bf665 kubeadm: fix typo in KubeProxyClusterRoleBindingName constant
kubeam:node-proxier -> kubeadm:node-proxier
This causes e2e test failures:
"[area-kubeadm] proxy addon kube-proxy ServiceAccount should
be bound to the system:node-proxier cluster role"

in:
- kubeadm-kinder-latest
- kubeadm-kinder-latest-on-...
- other tests
2021-11-10 21:19:30 +02:00
Etienne Champetier
356d9e0626 kubeadm: fix inverted warning message
Before this commit when setting bindAddress to 1.2.3.4 the warning was:
The recommended value for "bindAddress" in "KubeProxyConfiguration" is: 1.2.3.4; the provided value is: 0.0.0.0

Signed-off-by: Etienne Champetier <e.champetier@ateme.com>
2021-11-09 20:54:57 -05:00
Kubernetes Prow Robot
e759c32129
Merge pull request #106243 from calvin0327/fix-kubeadm-init-constant
fix some kubeadm init phase constants
2021-11-09 11:28:24 -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
calvin
c5c9429d0e fix some kubeadm init phase constants 2021-11-09 10:30:01 +08:00
Lubomir I. Ivanov
68118d7319 kubeadm: remove unused / legacy function DownloadConfig
The function has been marked as deprecated for a long time
and has been unused in the code base.

Remove it.
2021-11-08 17:31:29 +02: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
Kubernetes Prow Robot
73f4064fff
Merge pull request #105295 from neolit123/1.23-add-output-v1alpha2
kubeadm: add a new output/v1alpha2 API; deprecate output/v1alpha1
2021-11-08 06:01:11 -08:00
Kubernetes Prow Robot
4ce435cc95
Merge pull request #105251 from calvin0327/issue-upgrade-coredns
Update corefile-migration to v1.0.14 and update coredns to 1.8.6
2021-11-05 14:48:39 -07:00
Kubernetes Prow Robot
6d30c96d4a
Merge pull request #106042 from chendave/aggregate
kubeadm: aggregate all the errors when the shared certs are validated
2021-11-04 10:06:15 -07:00
Dave Chen
c85fb0e6ac Aggregate all the errors when the shared certs are validated
Instead of the individual error and return, it's better to aggregate all
the errors so that we can fix them all at once.

Take the chance to fix some comments, since kubeadm are not checking that
the certs are equal across controlplane.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-11-04 10:12:00 +08:00
Lubomir I. Ivanov
d3e1f87fca kubeadm: remove TODO about moving SchemeBuilder to k8s.io/api
This TODO is no longer in scope, thus remove it from
all register.go files under /app/apis.
2021-11-03 19:11:43 +02:00
Lubomir I. Ivanov
f73894359d kubeadm: update converters after the output/v1alpha2 addition
The addition of output/v1alpha2 made the converter-gen require
an explicit converter for:
kubeadm/v1beta2.BootstrapToken -> bootstraptoken/v1.BootstrapToken.

Add this converter under kubeadm/v1beta.
Use the converter in output/v1alpha1.
2021-11-03 19:11:43 +02:00
Tim Hockin
11a25bfeb6
De-share the Handler struct in core API (#105979)
* De-share the Handler struct in core API

An upcoming PR adds a handler that only applies on one of these paths.
Having fields that don't work seems bad.

This never should have been shared.  Lifecycle hooks are like a "write"
while probes are more like a "read". HTTPGet and TCPSocket don't really
make sense as lifecycle hooks (but I can't take that back). When we add
gRPC, it is EXPLICITLY a health check (defined by gRPC) not an arbitrary
RPC - so a probe makes sense but a hook does not.

In the future I can also see adding lifecycle hooks that don't make
sense as probes.  E.g. 'sleep' is a common lifecycle request. The only
option is `exec`, which requires having a sleep binary in your image.

* Run update scripts
2021-10-29 13:15:11 -07:00
Lubomir I. Ivanov
b9171aee20 kubeadm: remove the reset/update-cluster-status phase
The phase has been deprecated and a NO-OP since 1.22.
Remove the phase related code.
2021-10-25 22:47:15 +03:00
Kubernetes Prow Robot
9251115fa1
Merge pull request #105807 from jonyhy96/fix-magic-number
kubeadm: make constant of the magic-number in bootstraptoken util
2021-10-22 04:46:37 -07:00
haoyun
9b5f28053c feat: make a const of magic-number
Signed-off-by: haoyun <yun.hao@daocloud.io>
Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2021-10-22 09:53:07 +08:00
Oleg Atamanenko
965f10f539 Upgrade etcd to 3.5.1 2021-10-18 23:09:27 -07:00
haoyun
a600e31c55 test: add test for PatchNode when error happend
Signed-off-by: haoyun <yun.hao@daocloud.io>
2021-10-19 11:01:01 +08:00
Kubernetes Prow Robot
9804a83d8f
Merge pull request #105343 from jonyhy96/fix-patch-node-once
kubeadm: fix some retry logic in PatchNodeOnce
2021-10-17 09:49:49 -07:00
haoyun
bd8f26c2d7 fix: patchNode retry logic
Signed-off-by: haoyun <yun.hao@daocloud.io>
2021-10-17 12:36:36 +08:00
navist2020
cc2802d9bb validate flag cfgPath to make sure it is not empty 2021-10-14 11:05:06 +08: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
Lubomir I. Ivanov
73d528dce9 kubeadm: make output/BootstrapToken use bootstraptoken/v1 2021-09-28 16:37:41 +03:00
Lubomir I. Ivanov
47af311ea4 kubeadm: mark output/v1alpha1 as deprecated 2021-09-28 16:37:40 +03:00
Lubomir I. Ivanov
473e781ccb kubeadm: set output/v1alpha2 as the priority version 2021-09-28 16:37:40 +03:00
Lubomir I. Ivanov
b92966aeac kubeadm: use output/v1alpha2 in kubeadm commands
Use the new API for "config images list" and
"token list".
2021-09-28 16:37:40 +03:00
Lubomir I. Ivanov
2d4fcedbcf kubeadm: add a new output/v1alpha2 API
The API is a copy of output/v1alpha1 with a minor difference
where output/v1alpha2.BootstrapToken embeds
bootstraptoken/v1.BootstrapToken instead of
kubeadm/v1beta2.BootstrapToken.

Embedding the later is an undesired binding between the "kubeadm"
and "output" groups, preventing the eventual deprecation and removal
of the kubeadm.v1beta2 API.

This new output API version, unlike v1alpha1, does not include
defaulting which is not needed.
2021-09-28 16:37:26 +03: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
Khaled Henidak (Kal)
a53e2eaeab
move IPv6DualStack feature to stable. (#104691)
* kube-proxy

* endpoints controller

* app: kube-controller-manager

* app: cloud-controller-manager

* kubelet

* app: api-server

* node utils + registry/strategy

* api: validation (comment removal)

* api:pod strategy (util pkg)

* api: docs

* core: integration testing

* kubeadm: change feature gate to GA

* service registry and rest stack

* move feature to GA

* generated
2021-09-24 16:30:22 -07:00
Kubernetes Prow Robot
91f820eee4
Merge pull request #104854 from pacoxu/kubeadm-swap-check
kubeadm: move swap on check error to warning since NodeSwap is beta
2021-09-17 04:57:13 -07:00
Kubernetes Prow Robot
8975906dfc
Merge pull request #104942 from SataQiu/kubeadm-20210912
kubeadm: do not check if the /etc/kubernetes/manifests folder is empty on joining worker nodes during preflight
2021-09-15 11:16:11 -07:00
Paco Xu
0b8433a3f5 kubeadm: remove --port from kube-scheduler manifest 2021-09-15 12:58:35 +08:00
Kubernetes Prow Robot
fa2657b8b2
Merge pull request #104624 from Haleygo/support-null-resolvConf-in-configFile
When resolvConf is "" in kubelet configuration, pod will be created with wrong dns policy
2021-09-14 14:18:59 -07:00
SataQiu
d57e442c62 kubeadm: do not check if the /etc/kubernetes/manifests folder is empty on joining worker nodes during preflight
Signed-off-by: SataQiu <shidaqiu2018@gmail.com>
2021-09-14 20:26:04 +08:00
Haleygo
46454ea9dc support null resolvConf in Kubelet Configuration 2021-09-14 16:12:52 +08:00
Paco Xu
1385bd3a06 kubeadm: fix ut failures of dualstack GA 2021-09-14 13:16:40 +08:00
Kubernetes Prow Robot
c79f7c1add
Merge pull request #104711 from claudiubelu/update-pause-3.6
update pause image references to use 3.6
2021-09-13 19:09:08 -07:00
Paco Xu
d57bad5fa9 Update cmd/kubeadm/app/preflight/checks.go
Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2021-09-14 09:33:12 +08:00
Paco Xu
7007b417e5 kubeadm: move swap on check error to warning since NodeSwap is beta in 1.23 2021-09-14 09:33:12 +08:00
RA489
2a96e22c0a remove the --csr* flags from "kubeadm certs renew" 2021-09-13 14:50:33 +05:30
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
la3mmchen
57f2af2834 FIX: just add a missing word in output 2021-08-25 21:53:49 +02:00
Stephen Augustus
481cf6fbe7
generated: Run hack/update-gofmt.sh
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2021-08-24 15:47:49 -04: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
746fea56ae
Merge pull request #104065 from pacoxu/kubeadm-patches
kubeadm: disallow the mixture of --config and --patches & remove deprecated --experimental-patches
2021-08-11 08:06:58 -07:00
Benjamin Elder
e6cb526f6b set umask on linux and darwin when testing kubeadm copycerts 2021-08-10 22:42:35 -07: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
e3538edc22 kubeadm: update unit tests to support dynamic version updates
Tests under /app and /test would fail if the current/minimum k8s version
is dynamically populated from the version in the kubeadm binary.
Adapt the tests to support that.
2021-08-09 19:42:08 +03: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
Kubernetes Prow Robot
5eeaafd2b4
Merge pull request #104157 from knight42/remove-port-from-kubeadm-manifest
refactor(kubeadm): remove the flag --port from KCM manifest
2021-08-05 16:37:10 -07:00
Kubernetes Prow Robot
de4e500673
Merge pull request #104134 from ihgann/topic/ganni/optimize-kubeadm-etcd-member-add-2
kubeadm: reduce the backoff time of AddMember for etcd
2021-08-05 16:37:03 -07:00
Kubernetes Prow Robot
8df554bafd
Merge pull request #103801 from gkarthiks/master
Remove purell package usage from kubeadm
2021-08-05 14:09:56 -07:00
Ian Gann
c8431f42d9 kubeadm: Reduce the backoff time of AddMember for etcd
This change optimizes the kubeadm/etcd `AddMember` client-side function
by stopping early in the backoff loop when a peer conflict is found
(indicating the member has already been added to the etcd cluster). In
this situation, the function will stop early and relay a call to
`ListMembers` to fetch the current list of members to return. With this
optimization, front-loading a `ListMembers` call is no longer necessary,
as this functionally returns the equivalent response.

This helps reduce the amount of time taken in situational cases where an
initial client request to add a member is accepted by the server, but
fails client-side.

This situation is possible situationally, such as if network latency
causes the request to timeout after it was sent and accepted by the
cluster. In this situation, the following loop would occur and fail with
an `ErrPeerURLExist` response, and would be stuck until the backoff
timeout was met (roughly ~2min30sec currently).

Testing Done:

* Manual testing with an etcd cluster. Initial "AddMember` call was
  successful, and the etcd manifest file was identical to prior version
  of these files. Subsequent calls to add the same member succeeded
  immediately (retaining idempotency), and the resulting manifest file
  remains identical to previous version as well. The difference, this
  time, is the call finished ~2min25sec faster in an identical test in
  the environment tested with.
2021-08-05 13:11:42 -07:00
Jian Zeng
c486b229d2 refactor(kubeadm): remove the flag --port from KCM manifest
Signed-off-by: Jian Zeng <zengjian.zj@bytedance.com>
2021-08-05 19:51:02 +08:00
Kubernetes Prow Robot
90ac41bd77
Merge pull request #103813 from SataQiu/update-kubeadm-ci-bucket
kubeadm: update references to legacy artifacts locations
2021-08-05 01:44:27 -07:00
paco
b7ea7a7766 kubeadm: disallow the mixture of --config and --patches 2021-08-02 10:20:31 +08:00
paco
375ef778c4 kubeadm: remove deprecated --experimental-patches 2021-08-02 10:10:20 +08:00
Kevin Delgado
ca90849724 add kube-openapi/pkg/schemaconv to kubeadm import-restrictions 2021-07-28 01:06:15 +00:00
SataQiu
5be47eaf27 kubeadm: update references to legacy artifacts locations 2021-07-21 12:13:05 +08:00
gkarthiks
019e8f71b6 refactor: normalizing URL string locally and move out from purell package
The purell package at github.com/PuerkitoBio/purell is no longer maintained and in k/k repo under kubeadm package its been used for normalizing the URL. This commit removes the dependency on this package and creates a local function for normalizing the URL within the preflight package under cmd/kubeadm.

Signed-off-by: gkarthiks <github.gkarthiks@gmail.com>

chore: add new line at end of the file

Signed-off-by: gkarthiks <github.gkarthiks@gmail.com>

fix: remove unused mod from vendor modules file

Signed-off-by: gkarthiks <github.gkarthiks@gmail.com>
2021-07-20 21:56:08 +05:30
Lubomir I. Ivanov
6cf3e36c37 kubeadm: statically default the "from cluster" InitConfiguration
During operations such as "upgrade", kubeadm fetches the
ClusterConfiguration object from the kubeadm ConfigMap.
However, due to requiring node specifics it wraps it in an
InitConfiguration object. The function responsible for that is:
  app/util/config#FetchInitConfigurationFromCluster().

A problem with this function (and sub-calls) is that it ignores
the static defaults applied from versioned types
(e.g. v1beta3/defaults.go) and only applies dynamic defaults for:
- API endpoints
- node registration
- etc...

The introduction of Init|JoinConfiguration.ImagePullPolicy now
has static defaulting of the NodeRegistration object with a default
policy of "PullIfNotPresent". Respect this defaulting by constructing
a defaulted internal InitConfiguration from
FetchInitConfigurationFromCluster() and only then apply the dynamic
defaults over it.

This fixes a bug where "kubeadm upgrade ..." fails when pulling images
due to an empty ("") ImagePullPolicy. We could assume that empty
string means default policy on runtime in:
cmd/kubeadm/app/preflight/checks.go#ImagePullCheck()

but that might actually not be the user intent during "init" and "join",
due to e.g. a typo. Similarly, we don't allow empty tokens
on runtime and error out.
2021-07-08 02:52:11 +03: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
Kubernetes Prow Robot
656d00e894
Merge pull request #103496 from neolit123/1.22-add-defaulting-v1beta3-imagepull
kubeadm: statically default ImagePullPolicy in v1beta3
2021-07-06 22:11:48 -07:00
Lubomir I. Ivanov
f01d251e38 kubeadm: statically default ImagePullPolicy in v1beta3
Instead of dynamically defaulting NodeRegistration.ImagePullPolicy,
which is common when doing defaulting depending on host state - e.g.
hostname, statically default it in v1beta3/defaults.go.

- Remove defaulting in checks.go
- Add one more unit test in checks_test.go
- Adapt v1beta2 conversion and fuzzer / round tripping tests

This also results in the default being visible when calling:
"kubeadm config print ...".
2021-07-05 21:48:06 +03:00
Lubomir I. Ivanov
94414bea47 kubeadm: fix godoc formatting for v1beta3
Fix indentation of entries in the changelog and the migration steps.
2021-07-05 20:52:18 +03:00
Kubernetes Prow Robot
120f6325a7
Merge pull request #103471 from pacoxu/patch-1
kubeadm: fix nil pointer in  Cfg() feature gate checking
2021-07-04 23:06:53 -07:00
Paco Xu
772344aef2
kubeadm: fix nil pointer in Cfg() feature gate checking 2021-07-05 09:59:57 +08: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
Kubernetes Prow Robot
5fe522c237
Merge pull request #101988 from vinayakankugoyal/kubeadm
Remove users and groups created as part of rootless control-plane in kubeadm.
2021-07-02 23:42:17 -07:00
Vinayak Goyal
1ae9b8f04d Update kernel components to run as non-root in kubeadm. 2021-07-02 17:37:55 -07:00
Kubernetes Prow Robot
1345a802de
Merge pull request #103187 from Haleygo/fix-dry-run-when-using-externalCA
Kubeadm init --dry-run should work when using an external ca
2021-07-02 07:58:25 -07:00
Haleygo
6d6d200c3a dry-run can work when using an external ca 2021-07-02 18:53:51 +08:00
Lubomir I. Ivanov
622f69bf8d kubeadm: update v1beta3's godoc changelog 2021-07-02 00:12:25 +03:00
Lubomir I. Ivanov
11d444b00e kubeadm: remove versioned copies of the bootstrap token API and utils
Given bootstraptoken/v1 is now a separate GV, there is no need
to duplicate the API and utilities inside v1beta3 and the internal
version.

v1beta2 must continue to use its internal copy due, since output/v1alpha1
embeds the v1beta2.BootstrapToken object. See issue 2427 in k/kubeadm.
2021-07-02 00:11:49 +03:00
Lubomir I. Ivanov
14fa296bb3 kubeadm: use the bootstraptoken/v1 API across the code base
- Make v1beta3 use bootstraptoken/v1 instead of local copies
- Make the internal API use bootstraptoken/v1
- Update validation, /cmd, /util and other packages
- Update v1beta2 conversion
2021-07-02 00:11:49 +03:00
Lubomir I. Ivanov
5b7bda90c0 kubeadm: introduce apis/bootstraptoken/v1
Package bootstraptoken contains an API and utilities wrapping the
"bootstrap.kubernetes.io/token" Secret type to ease its usage in kubeadm.

The API is released as v1, since these utilities have been part of a
GA workflow for 10+ releases.

The "bootstrap.kubernetes.io/token" Secret type is also GA.
2021-07-02 00:11:49 +03:00
Kubernetes Prow Robot
3f4c39bbd7
Merge pull request #103063 from neolit123/1.22-add-patches-to-v1beta3
kubeadm: add support for patches in v1beta3; deprecate --experimental-patches
2021-07-01 02:25:54 -07:00
Vinayak Goyal
1c39cf2365 Fix incorrect user and group for kube-scheduler when it is running as non-root. 2021-06-30 11:28:15 -07:00
Lubomir I. Ivanov
5c00024c70 kubeadm: fix wrong check for keys/certs during "download-certs"
During "join" of new control plane machines, kubeadm would
download shared certificates and keys from the cluster stored
in a Secret. Based on the contents of an entry in the Secret,
it would use helper functions from client-go to either write
it as public key, cert (mode 644) or as a private key (mode 600).

The existing logic is always writing both keys and certs with mode 600.
Allow detecting public readable data properly and writing some files
with mode 644.

First check the data with ParsePrivateKeyPEM(); if this passes
there must be at least one private key and the file should be written
with mode 600 as private. If that fails, validate if the data contains
public keys with ParsePublicKeysPEM() and write the file as public
(mode 644).

As a result of this new logic, and given the current set of managed
kubeadm files, .key files will end up with 600, while .crt and .pub
files will end up with 644.
2021-06-29 23:42:04 +03:00
wangyysde
39a373b162 correct example command of kubeadm help
Signed-off-by: wangyysde <net_use@bzhy.com>
2021-06-28 16:12:52 +08:00
navist2020
538e7777c3 kubeadm:remove deprecated flags CSROnly and CSRDir 2021-06-24 18:28:43 +08:00
Marek Siarkowicz
ebe550bd48 Upgrade etcd to 3.5.0 2021-06-24 09:15:17 +02:00
Lubomir I. Ivanov
70a524659a kubeadm: add {Init|Join}Configuration.Patches.Directory to v1beta3
Add {Init|Join}Configuration.Patches, which is a structure that
contains patch related options. Currently it only has the "Directory"
field which is the same option as the existing --experimental-patches
flag.

The flags --[experimental-]patches value override this value
if both a flag and config is passed during "init" or "join".
2021-06-23 22:24:10 +03:00
Lubomir I. Ivanov
a4402122b4 kubeadm: add the --patches flag and deprecate --experimental-patches
The feature of "patches" in kubeadm has been in Alpha for a few
releases. It has not received major bug reports from users.
Deprecate the --experimental-patches flag and add --patches.

Both flags are allowed to be mixed with --config.
2021-06-23 22:22:41 +03:00
Lubomir I. Ivanov
3b36e6bcea kubeadm: fix image pull policy integration
If the user has not specified a pull policy we must assume a default of
v1.PullIfNotPresent.

Add some extra verbose output to help users monitor what policy is
used and what images are skipped / pulled.

Use "fallthrough" and case handle "v1.PullAlways".

Update unit test.
2021-06-23 00:52:35 +03:00
Kubernetes Prow Robot
c864f2357d
Merge pull request #102901 from wangyysde/add-support-imagePullPolicy-fix524
kubeadm: add support of imagePullPolicy to kubeadm
2021-06-22 07:43:59 -07:00
Kubernetes Prow Robot
e78e692f33
Merge pull request #101449 from CaoDonghui123/fix5
kubeadm: allow passing the flag --log-file if --config is passed
2021-06-21 20:43:57 -07:00
caodonghui
25f479c2ac fix'--log-file only works if --logtostderr=false' 2021-06-22 09:32:26 +08:00
Kubernetes Prow Robot
cfa0130b9f
Merge pull request #102466 from pacoxu/dns-1.8.4
kubeadm: update coredns to 1.8.4
2021-06-21 18:14:10 -07:00
wangyysde
459fe7d08a add support of imagePullPolicy to kubeadm
Signed-off-by: wangyysde <net_use@bzhy.com>
2021-06-22 07:13:25 +08:00
navist2020
1f9d448283 Use errors.Errorf instead of errors.Wrapf when the err is nil 2021-06-21 16:17:32 +08:00
Kubernetes Prow Robot
ab7d8b5b5b
Merge pull request #102871 from rainrambler/patch-1
kubeadm: use defer to unlock mutex in certs.go
2021-06-18 09:52:30 -07:00
Kubernetes Prow Robot
f1d9db4381
Merge pull request #102940 from gy95/sche
when new manager failed should return err
2021-06-17 14:08:17 -07:00
Kubernetes Prow Robot
b41c8a2d49
Merge pull request #102862 from vinayakankugoyal/roochless2
Update etcd in kubeadm to run as non-root.
2021-06-17 13:00:05 -07:00
navist2020
1a4b0ee09b remove excess error handling 2021-06-17 17:34:57 +08:00
gy95
c789898f79 when new manager failed should return err 2021-06-17 16:02:31 +08:00
Vinayak Goyal
5a0756c5f4 Update etcd in kubeadm to run as non-root. 2021-06-16 17:30:46 -07:00
Kubernetes Prow Robot
3c1db414da
Merge pull request #102546 from lunhuijie/refactorCheckTest
refactor cmd/kubeadm/app/preflight/checks_test.go
2021-06-16 09:44:12 -07:00
刁浩 10284789
84112d3690 refactor cmd/kubeadm/app/preflight/checks_test.go()
Signed-off-by: 刁浩 10284789 <diao.hao@zte.com.cn>
2021-06-16 01:46:27 +00:00
Kubernetes Prow Robot
3a47ddccdf
Merge pull request #100488 from liggitt/protobuf
update etcd, grpc, protobuf dependencies
2021-06-15 14:49:42 -07:00
Kubernetes Prow Robot
d186b43639
Merge pull request #102828 from MikeSpreitzer/fix-kubeadm-api-dox
Fix some typos and omissions in kubeadm APIs
2021-06-15 11:31:43 -07:00
Jordan Liggitt
2979c3325e Switch to go.etcd.io/etcd/client/v3 2021-06-15 09:53:06 -04:00
rainrambler
5ea3dd531c
Update certs.go
Use defer feature for unlock
2021-06-15 15:34:26 +08:00
Antonio Ojea
74feb07594 kubeadm: CoreDNS permissions for endpointslices
Signed-off-by: Antonio Ojea <antonio.ojea.garcia@gmail.com>
Co-authored-by: pacoxu <paco.xu@daocloud.io>
2021-06-15 13:03:48 +08: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
Mike Spreitzer
a3e464490a Fix some typos and omissions in kubeadm APIs 2021-06-14 20:38:43 -04:00
Kubernetes Prow Robot
8a6a26714c
Merge pull request #102759 from vinayakankugoyal/roochless
Update kubeadm control-plane to run as non-root.
2021-06-14 15:52:01 -07:00
Vinayak Goyal
59b4b124df Update kubeadm control-plane to run as non-root. 2021-06-14 12:04:50 -07:00
Kubernetes Prow Robot
4aae71695a
Merge pull request #102366 from cndoit18/fix-time-format
fix(timezone): Change the time zone in the api data to UTC
2021-06-11 06:54:59 -07:00
Kubernetes Prow Robot
e52b7be7d7
Merge pull request #101600 from KofClubs/fix-cri-socket-kubeadm
kubeadm: disallow the mixture of --cri-socket and --config
2021-06-11 00:04:58 -07:00
Kubernetes Prow Robot
faa36554c5
Merge pull request #102770 from pacoxu/kubeadm-example
kubeadm: use a suggested example in v1beta2/3 docs
2021-06-10 08:23:47 -07:00
Kubernetes Prow Robot
f008ba0fed
Merge pull request #102062 from serathius/etcd-server
Update Etcd server image to 3.5.0-rc.0-0
2021-06-10 08:23:27 -07:00
pacoxu
654ec0866a kubeadm: use a suggested example in v1beta2/3 docs
Co-authored-by: SataQiu <shidaqiu2018@gmail.com>
2021-06-10 18:24:59 +08:00
Vinayak Goyal
e6bf19bcf6 Update CreateInitStaticPodManifestFiles, CreateStaticPodFiles and CreateLocalEtcdStaticPodManifestFile to take into account if the command was run as dry-run. 2021-06-09 15:01:42 -07: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
7696a48612
Merge pull request #102560 from navist2020/todo/checkManifest
kubeadm:Run preflight checks for diff to check that the manifests already exist
2021-06-08 23:03:47 -07:00
Kubernetes Prow Robot
d849d9d057
Merge pull request #102697 from mlevesquedion/update-levee-analyzer-version
Update version of go-flow-levee for verify-govet-levee check.
2021-06-08 18:37:46 -07:00
navist2020
897f8012fd kubeadm:Run preflight checks for diff to check that the manifests already exist 2021-06-09 09:09:00 +08:00
Kubernetes Prow Robot
d5685397e1
Merge pull request #102673 from jackfrancis/kubeadm-etcd-ephemeral-storage
kubeadm: remove ephemeral-storage etcd requirement
2021-06-08 12:26:36 -07:00
Michaël Lévesque-Dion
a94aa0ea9a Update version of go-flow-levee for verify-govet-levee check. 2021-06-08 12:02:46 -04:00
Jack Francis
ff164f9013 feat: remove ephemeral-storage etcd requirement 2021-06-07 16:03:10 -07:00
Kubernetes Prow Robot
a8a379d91e
Merge pull request #102604 from vinayakankugoyal/kubeadm-files2
Add utils to set file/directory owners and permissions.
2021-06-07 13:40:56 -07:00
Vinayak Goyal
bb6151906f Add utils to set file/directory owners and permissions. 2021-06-07 11:31:38 -07:00
Kubernetes Prow Robot
3b71dac6ac
Merge pull request #102593 from CaoDonghui123/fix7
remove redundant code
2021-06-04 09:44:38 -07:00
caodonghui
812a04539c remove redundant code 2021-06-04 17:56:46 +08:00
cndoit18
51717256f9
fix(timezone): the timezone is standardized to UTC
Signed-off-by: cndoit18 <cndoit18@outlook.com>
2021-06-03 23:55:39 +08:00
Lubomir I. Ivanov
f6d015be7a kubeadm: add utilities to manage users and groups
In the Alpha stage of the feature in kubeadm to support
a rootless control plane, the allocation and assignment of
UID/GIDs to containers in the static pods will be automated.
This automation will require management of users and groups
in /etc/passwd and /etc/group.

The tools on Linux for user/group management are inconsistent
and non-standardized. It also requires us to include a number of
more dependencies in the DEB/RPMs, while complicating the UX for
non-package manager users.

The format of /etc/passwd and /etc/group is standardized.
Add code for managing (adding and deleting) a set of managed
users and groups in these files.
2021-06-03 03:48:45 +03: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
Kubernetes Prow Robot
d6b408f748
Merge pull request #99647 from neolit123/1.21-remove-cgroup-driver-detection
kubeadm: remove the cgroup driver detection for docker
2021-05-31 06:30:27 -07:00
Kubernetes Prow Robot
e7d8fb2e16
Merge pull request #101925 from neolit123/1.22-kubeadm-add-optional-fields
kubeadm: add "+optional" to fields with "omitempty" in v1beta3
2021-05-28 10:16:24 -07:00
Kubernetes Prow Robot
bf2ece7ada
Merge pull request #101923 from neolit123/1.22-kubeadm-add-skip-phases-v1beta3
kubeadm: add support for skipping phases in v1beta3
2021-05-28 09:14:24 -07:00
Lubomir I. Ivanov
24a1f9d817 kubeadm: use "SkipPhases" from configuration for "init" and "join"
During Runner data initialization, if the value for the flag
"--skip-phases" was empty set the {init|join}Runner.Options.SkipPhases
to the {Init|Join}Configuration.SkipPhases value.
2021-05-28 18:12:06 +03:00
Lubomir I. Ivanov
ac161866aa kubeadm: add SkipPhases in {Init|Join}Configuration for v1beta3
- Add the field SkipPhases in the public v1beta3 as a []string (omitempty)
- Add the field in the internal type
- Run generators
- Adapt v1beta2 converter for JoinConfiguration
2021-05-28 18:12:06 +03:00
Zhang Zhanpeng
5c2841c8cd Forbid the use of --config and --cri-socket at the same time
Signed-off-by: Zhang Zhanpeng <zhanpeng.zhang@daocloud.io>
2021-05-27 12:54:13 +08:00
navist2020
d98a83bb01 kubeadm:return error info normally 2021-05-26 14:50:53 +08: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
Lubomir I. Ivanov
93f79103e5 kubeadm: add "+optional" to fields with "omitempty" in v1beta3
Add the "+optional" generator tag to all fields in v1beta3 structs
that have "omitempty" in JSON tags.
2021-05-25 20:05:43 +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
31a0f49c7c
Merge pull request #102174 from SataQiu/kubeadm-add-datapolicy
kubeadm: add datapolicy tags for v1beta3 token/key fields
2021-05-21 08:41:11 -07: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
SataQiu
7a3827e8e3 kubeadm: add datapolicy tags for v1beta3 token fields 2021-05-21 11:47:17 +08:00
Kubernetes Prow Robot
7705b300e2
Merge pull request #102158 from vinayakankugoyal/kubeadm-featuregate
Add a feature-gate to kubeadm to enable/disable rootless control-plane.
2021-05-20 14:16:36 -07:00
Kubernetes Prow Robot
3cd555e818
Merge pull request #102121 from pacoxu/remove-insecure-ports
kubeadm: remove --insecure-port flag from the kube-apiserver manifest
2021-05-19 19:47:16 -07:00
Vinayak Goyal
c426517ac0 Add a feature-gate to kubeadm to enable/disable Rootless control-plane. 2021-05-19 15:52:27 -07:00
Kubernetes Prow Robot
7f47a3aabb
Merge pull request #102108 from neolit123/1.22-kubeadm-remove-csr-flags
kubeadm: remove deprecated "--csr*" flags in "init phase certs"
2021-05-18 23:33:12 -07:00
pacoxu
a074ccfe36 remove --insecure-port in kubeadm 2021-05-19 11:48:07 +08:00
Kubernetes Prow Robot
04b7977ef6
Merge pull request #101915 from neolit123/1.22-remove-cluster-status
kubeadm: remove the ClusterStatus object from v1beta3
2021-05-18 17:28:51 -07:00
Kubernetes Prow Robot
22ec3b0edd
Merge pull request #102069 from neolit123/1.22-kubeadm-util-use-k8s.io-link
kubeadm: use git.k8s.io link in app/util/error.go
2021-05-18 13:17:17 -07:00
Lubomir I. Ivanov
92a57fc573 kubeadm: remove deprecated --csr* flags in "init phase certs"
- Remove the deprecated --csr* flags "init phase certs"
- Deprecate the same flags for "certs renew".

For both cases users should be using "certs generate-csr".
2021-05-18 22:35:06 +03:00
Kubernetes Prow Robot
c24f2f8225
Merge pull request #102093 from SataQiu/remove-image-pull-timeout
kubeadm: remove the deprecated flag '--image-pull-timeout' for 'kubeadm upgrade apply' command
2021-05-18 11:35:17 -07:00
SataQiu
15dcc83cec kubeadm: remove the deprecated flag '--image-pull-timeout' for 'kubeadm upgrade apply' command 2021-05-18 20:34:05 +08:00
Lubomir I. Ivanov
66d4e6e55d kubeadm: remove the deprecated "config view" command
The command "kubeadm config view" was deprecated in 1.19.
Remove it as scheduled in 1.22.

The replacement is to use kubectl:
kubectl get cm -n kube-system kubeadm-config -o=jsonpath="{.data.ClusterConfiguration}"
2021-05-17 21:10:43 +03:00
Lubomir I. Ivanov
1b4bf420b4 kubeadm: use git.k8s.io link in app/util/error.go
Adapt for the future transition of kubernetes/community to
have "main" as its development branch.

Use:
https://git.k8s.io/community/...
2021-05-17 19:54:08 +03: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
Kubernetes Prow Robot
a45aeb626c
Merge pull request #101918 from neolit123/1.22-add-more-static-rsa-keys
kubeadm: add more *rsa.key files in util/pkiutil/testing/testdata
2021-05-15 17:05:59 -07:00
Kubernetes Prow Robot
3f43b1ed84
Merge pull request #101547 from neolit123/1.22-remove-dns-type
kubeadm: remove ClusterConfiguration.DNS.Type from v1beta3
2021-05-15 00:27:58 -07:00
kcx2366425574
ad101cb650 remove unused params
Signed-off-by: kcx2366425574 <kuangcx@inspur.com>
Signed-off-by: kcx2366425574 <18279911430@163.com>
2021-05-14 11:31:30 +08:00
Kubernetes Prow Robot
9f0f14952c
Merge pull request #101966 from SataQiu/clean-kubeadm-20210513
kubeadm: remove redundant CriticalAddonsOnly toleration from kube-proxy DaemonSet
2021-05-13 19:52:04 -07:00
SataQiu
25d845c3b5 kubeadm: fix the bug that kubeadm only uses the first hash in caCertHashes to verify the root CA 2021-05-13 19:38:39 +08:00
SataQiu
c66a7bc42c kubeadm: remove redundant CriticalAddonsOnly toleration from kube-proxy DaemonSet 2021-05-13 14:51:57 +08:00
Jian Zeng
41c4cccc26
refactor(kubeadm): remove deprecated command alpha kubeconfig
Signed-off-by: Jian Zeng <zengjian.zj@bytedance.com>
2021-05-12 22:04:20 +08:00
Lubomir I. Ivanov
518fa1a412 kubeadm: add more *rsa.key files in util/pkiutil/testing/testdata
Running "go test ./cmd/kubeadm/app/..." results in these 3 files
being generated, since we have more callers to the functions
for generating unique private keys during pkiutil tests.

Add the files to ensure they are not generated locally all the time.
2021-05-11 22:58:38 +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
Kubernetes Prow Robot
365ed5c4ad
Merge pull request #100234 from vinayakankugoyal/seccomp
runtime/default Seccomp Profile in kubeadm control-plane components.
2021-05-10 10:49:36 -07:00
Kubernetes Prow Robot
d8b5669924
Merge pull request #101774 from KofClubs/delete-redundant-kubeadmconstants-initconfiguration.go
kubeadm: Deleted redundant `kubeadmconstants` from `initconfiguration.go`
2021-05-10 09:45:21 -07:00
Kubernetes Prow Robot
3dd0597843
Merge pull request #101598 from neolit123/1.22-kubeadm-remove-clusterconfiguration-defaulting
kubeadm: simplify fuzzing of ClusterConfiguration
2021-05-08 01:23:17 -07:00
Zhang Zhanpeng
b3714fa55f Deleted k8s.io/kubernetes/cmd/kubeadm/app/constants from the imported packages
Signed-off-by: Zhang Zhanpeng <zhanpeng.zhang@daocloud.io>
2021-05-07 10:56:12 +08:00
Vinayak Goyal
9ae671a5d4 Add seccomp profile runtime default to add control-plane components. 2021-05-06 18:27:56 -07:00
Kubernetes Prow Robot
7d176851f2
Merge pull request #100612 from pacoxu/patch-8
kubeadm: upgrade etcd to 3.4.13-3
2021-05-05 07:11:27 -07:00
Lubomir I. Ivanov
8eca7298b1 kubeadm: simplify fuzzing of ClusterConfiguration
- Pin the ClusterConfiguration when fuzzing
the internal InitConfiguration that embeds it. Kubeadm includes
separate constructs for this embedding in the internal type
and this round trip is not viable.
- Remove the artificial calls to SetDefaults_ClusterConfiguration()
in v1beta{2|3}'s converters from public to internal InitConfiguration.
- Make sure the internal InitConfiguration.ClusterConfiguration is
defaulted in initconfiguration.go instead.
2021-04-29 03:34:03 +03: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
maruiyan
8a2a304246 change marsheller to marchaler 2021-04-28 17:00:01 +08:00
wangyysde
d346f19308 Use kubeadmapiv1.SchemeGroupVersion.String() instead of kubeadm.k8s.io/v1beta3
Use kubeadmapiv1old instead of kubeadm.k8s.io/v1beta2

Signed-off-by: wangyysde <net_use@bzhy.com>
2021-04-26 18:12:50 +08:00
Kubernetes Prow Robot
89db31aade
Merge pull request #101129 from neolit123/1.22-kubeadm-v1beta3
kubeadm: add placeholder v1beta3; remove the deprecated v1beta1
2021-04-20 12:34:33 -07:00
Lubomir I. Ivanov
6b6ae146cd kubeadm: change API URL for "kubeadm config print"
There is a new API link for godoc. Also link to the anchor / list
of APIs instead of pinning to a specific version.
2021-04-20 03:47:27 +03:00
Lubomir I. Ivanov
4cba7dcc43 kubeadm: enable v1beta3 accross the code base
- scheme: switch to:
utilruntime.Must(scheme.SetVersionPriority(v1beta3.SchemeGroupVersion))
- change all imports in the code base from v1beta2 to v1beta3
- rename all import aliases for kubeadmapiv1beta2 to "kubeadmapiv".
this allows smaller diffs when changing the default public API.
2021-04-20 03:47:27 +03:00
Lubomir I. Ivanov
c2bddf3998 kubeadm: fix unit tests for v1beta1 removal 2021-04-20 03:47:27 +03:00
Lubomir I. Ivanov
02b455b565 kubeadm: add v1beta3 copied from v1beta2
Add a new versioned API v1beta3.
2021-04-20 03:47:27 +03:00
Hong Xu
fbdb065498 TestGetPatchSetsForPathMustBeDirectory: Ensure the error type is os.PathError
Ensure the tested error is an os.PathError instead of only non-nil.
2021-04-18 20:41:59 -07:00
Kubernetes Prow Robot
dd6ee99f62
Merge pull request #101110 from SataQiu/fix-kubeadm-20210414
kubeadm: fix inconsistent usage for --experimental-patches in join phases
2021-04-16 03:22:22 -07: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
SataQiu
cf656d5cf7 kubeadm: enable '--experimental-patches' flag for 'kubeadm join phase control-plane-join all' command 2021-04-15 10:48:33 +08:00
Lubomir I. Ivanov
66f0ce244c kubeadm: remove the deprecated v1beta1 API 2021-04-15 00:12:41 +03: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
61641a0640
Merge pull request #100907 from SataQiu/kubeadm-20210408
kubeadm: add --validity-period flag for 'kubeadm kubeconfig user' command
2021-04-12 23:40:49 -07:00
Kubernetes Prow Robot
bc703278dd
Merge pull request #100350 from jr0d/jr/kubeadm-etcd-upgrade-with-metadata
kubeadm: support semver metadata imagetags for etcd during upgrades
2021-04-12 15:56:49 -07:00
Kubernetes Prow Robot
be7d3aeb97
Merge pull request #100935 from lojies/kubeadmcodecleanup
code cleanup for cmd/kubeadm
2021-04-12 13:18:15 -07:00
Kubernetes Prow Robot
7a3430edcd
Merge pull request #100536 from neolit123/1.21-remove-cgroup-driver-example-in-godoc
kubeadm: remove mentions of cgroup-driver from godocs
2021-04-11 19:41:59 -07:00
Kubernetes Prow Robot
cf2c817c5a
Merge pull request #100942 from wangyysde/remove-exclude-from-external-load-balancers
kubeadm:the node.kubernetes.io/exclude-from-external-load-balancers label removed on upgrade
2021-04-11 14:37:59 -07:00
Kubernetes Prow Robot
43af6783ae
Merge pull request #100865 from RA489/update_owner
kubeadm: Add RA489 as reviewer
2021-04-10 19:04:03 -07:00
wangyysde
c02e4b5229 remove LabelControlPlaneNodesWithExcludeFromLB function as the statement call it has be removed 2021-04-10 14:30:35 +08:00
SataQiu
dc154e412e kubeadm: add --validity-period flag for 'kubeadm kubeconfig user' command 2021-04-09 14:40:12 +08:00
wangyysde
2afdffb879 the node.kubernetes.io/exclude-from-external-load-balancers label on upgrade 2021-04-09 14:17:19 +08:00
Kubernetes Prow Robot
9ac9c29f36
Merge pull request #100422 from su225/27145-kubeadm-typo
kubeadm: fix typo in help text; ca.cert should be ca.crt
2021-04-08 22:08:57 -07:00
卢振兴10069964
a1452b9115 code cleanup for cmd/kubeadm 2021-04-09 09:44:06 +08:00
RA489
67d30f32f6 kubeadm: Add RA489 as reviewer 2021-04-06 21:45:39 +05:30
Lubomir I. Ivanov
80bca50feb kubeadm: remove mentions of cgroup-driver from godocs
The v1beta1/2 API doc.go files include an example
flag for the kubelet binary "cgroup-driver" under
"kubeletExtraArgs".

This flag is deprecated and should not be in the examples.
Add "v" instead which is one of the flags we know will
not be deprecated soon.
2021-03-24 18:14:35 +02:00
su225
eaa25983e1 fix typo - it should be ca.crt instead of ca.cert 2021-03-20 19:41:21 +05:30
Jared Rodriguez
c68db41a7a
address PR comments
- make convertImageTagMetadataToSemver private
- s/the\ the/the/
2021-03-18 11:07:33 -05:00
Jared Rodriguez
5f9a44e1e6
support semver_metadata imagetags 2021-03-17 14:55:09 -05:00
Antonio Ojea
dbc6226e7f kubeadm unit test initalize global variables 2021-03-13 10:59:07 +01:00
Lubomir I. Ivanov
3e95f9d491 kubeadm: add missing taint for upgrade health check
This is part of the "master" -> "control-plane" rename
that we missed. It's not critical for 1.21 as the
"control-plane" taint is still not added to CP nodes,
but it would be best to add the toleration preemptively
like the KEP planned.
2021-03-06 23:14:11 +02: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
62542bb1ec add validation to indicate kube-dns is no longer supported 2021-03-04 14:57:52 -05:00
Kubernetes Prow Robot
504b86ced7
Merge pull request #99471 from neolit123/1.21-default-systemd-cgroup-driver
kubeadm: set the kubelet cgroup driver to "systemd" during "init"
2021-03-04 11:00:38 -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
15213128e1
Merge pull request #99687 from pacoxu/dual-stack/follow-up-1
cleanup: disable dual stack for some manifest UT
2021-03-04 00:29:23 -08: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
Kubernetes Prow Robot
b0ba6c0b76
Merge pull request #98984 from SataQiu/fix-kubeadm-20210211
kubeadm: skip validating pod subnet against node-cidr-mask when allocate-node-cidrs is set to be false
2021-03-03 01:53:20 -08:00
pacoxu
496deb6df9 cleanup: disable dual stack for some manifest UT 2021-03-03 16:00:20 +08:00
Lubomir I. Ivanov
b6ff320507 kubeadm: set the kubelet cgroup driver to "systemd" during "init"
The kubeadm documentation instructs users to set the container
runtime driver to "systemd", since kubeadm manages a kubelet via
the systemd init system. The kubelet default however is "cgroupfs".
For new clusters set the driver to "systemd" unless the user
is explicit about it. The same defaulting would not happen
during "upgrade".
2021-03-02 18:39:39 +02:00
pacoxu
3c33ceab04 log a warning if ipv6 site-local addresses is using as it shouldn't be deprecated
Signed-off-by: pacoxu <paco.xu@daocloud.io>
Co-authored-by: Antonio Ojea <antonio.ojea.garcia@gmail.com>
Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2021-03-02 21:51:28 +08:00
Kubernetes Prow Robot
33035a3fdf
Merge pull request #99586 from zgfh/update-kubeadm-upgrade-description
update kubeadm upgrade description
2021-03-01 18:19:41 -08:00
Alan Zhu
8ffdc674b2 update kubeadm upgrade description
Signed-off-by: Alan Zhu <zg.zhu@daocloud.io>
2021-03-01 20:42:57 +08:00
SataQiu
2ba178c92c kubeadm: skip validating pod subnet against node-cidr-mask when allocate-node-cidrs is set to be false 2021-03-01 11:19:47 +08:00
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
Kubernetes Prow Robot
4880b996b5
Merge pull request #99433 from navist2020/fix/kubeadm/out_info
Replace yml with yaml
2021-02-28 09:50:39 -08:00
Kubernetes Prow Robot
1ddc4afcf8
Merge pull request #99294 from pacoxu/kubeadm/dual-stack
kubeadm: promote DualStack feature gate to Beta
2021-02-25 20:16:15 -08:00
Lubomir I. Ivanov
108d1dc56a kubeadm: pass pod-infra-container-image for all CRs
Pass the flag --pod-infra-container-image to the kubelet not only
for Docker but for all CRs.

This flag tells the kubelet to special case the image and not garbage
collect it.
2021-02-26 02:47:00 +02:00
navist2020
c5d8da019a Replace yml with yaml 2021-02-25 11:52:34 +08:00
xiaofei.sun
fd62f32125 Scheduler: remove pkg/apis/core/field_constants.go 2021-02-24 18:06:29 +08:00
Lubomir I. Ivanov
e8f2d888a3 kubeadm: include appovers under reviewers in OWNERS
Looks like there is a bit of an issue in the Bluderbuss (Prow plugin)
where it prefers to pick reviewers from a parent OWNERS files,
instead of using an approver from a current OWNERS file as
an additional reviewer.
2021-02-22 20:02:09 +02:00
pacoxu
829b0cde81 kubeadm: promote DualStack feature gate to Beta 2021-02-22 16:03:49 +08:00
Kubernetes Prow Robot
972ae2f2c2
Merge pull request #99187 from CaoDonghui123/fixKubeadm-1
Delete duplicate logs for kubeadm upgrade versions
2021-02-21 15:19:41 -08:00
pacoxu
2c89fa4a59 add hostname check in kubeadm join: warning log only
Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2021-02-20 09:50:25 +08:00
caodonghui
f7469a0a31 Delete duplicate logs 2021-02-19 09:19:11 +08:00
Heng WU
ace6b47298
Update addons.go 2021-02-14 21:04:43 +08:00
Kubernetes Prow Robot
b2b8c1f18d
Merge pull request #98980 from syswu/missing_return_nil
catching errors for 'kubeadm join'
2021-02-11 21:32:47 -08:00
Heng WU
4b7f6d8750
Update joinconfiguration.go 2021-02-11 09:57:08 +08:00
Heng WU
0bb842637c
Update joinconfiguration.go 2021-02-11 09:08:11 +08:00
Kubernetes Prow Robot
fcb55645a9
Merge pull request #98547 from neolit123/1.21-update-kubeadm-owners
kubeadm: update OWNERS for 1.21
2021-02-09 00:45:16 -08:00
Kubernetes Prow Robot
2b7c61b1bb
Merge pull request #98205 from pacoxu/build/pauses
update pause image to 3.4.1 and also update the change log
2021-02-08 18:20:58 -08:00
Kubernetes Prow Robot
f266f60da9
Merge pull request #98839 from Mattias-/kubeadm-fix-config-print-placeholder
kubeadm: Fix placeholder in config print help text
2021-02-08 11:54:43 -08:00
Kubernetes Prow Robot
0867767d6e
Merge pull request #98882 from kvaps/flatten-adminconfig
kubeadm: flatten admin.conf for cluster-info generation
2021-02-08 09:26:28 -08:00
Andrei Kvapil
9de0b2bf46
kubeadm: flatten admin.conf for cluster-info 2021-02-08 17:22:01 +01:00
Mattias Appelgren
7e80d4d191 kubeadm: Fix placeholder in config print help text 2021-02-06 18:32:45 +01:00
hasheddan
8ae6a20485
kubeadm: drop explicit constant override in version test
The k8s release bucket constant is not longer overriden in network tests
because the fetcher is mocked rather than using httptest.NewServer. See
previous implementation in
https://github.com/kubernetes/kubernetes/pull/49119/files#diff-82f2b09991047d4a1884d53dedadd64a473d5c4dc75293514e71773ceedf08e2R128

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2021-02-06 11:03:00 -06:00
hasheddan
1d164d0747
kubeadm: get k8s CI version markers from k8s infra bucket
Updates kubeadm version resolution to use kubernetes community infra
bucket to fetch appropriate k8s ci versions. The images are already
being pulled from the kubernetes community infra bucket meaning that a
mismatch can occur when the ci version is fetched from the google infra
bucket and the image is not yet present on k8s infra.

Follow-up to kubernetes/kubernetes#97087

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2021-02-06 10:59:15 -06:00
pacoxu
f681edf58e kubeadm: improve error message about node subnet size validation
Co-authored-by: Antonio Ojea <antonio.ojea.garcia@gmail.com>
Co-authored-by: SataQiu <1527062125@qq.com>
Co-authored-by: driazati <david.riazati@gatech.edu>
Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2021-02-05 23:29:26 +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
Sean McGinnis
874ceb0fdf
Improve wording in kubeadm upgrade plan
Originally raised as an issue with invalid versions to plan, but it has
been determined with air gapped environments and development versions it
is not possible to fully address that issue.

But one thing that was identified was that we can do a better job in how
we output the upgrade plan information. Kubeadm outputs the requested
version as "Latest stable version", though that may not actually be the
case. For this instance, we want to change this to "Target version" to
be a little more accurate.

Then in the component upgrade table that is emitted, the last column of
AVAILABLE isn't quite right either. Also changing this to TARGET to
reflect that this is the version we are targetting to upgrade to,
regardless of its availability.

There could be some improvements in checking available versions,
particularly in air gapped environments, to make sure we actually have
access to the requested version. But this at least clarifies some of the
output a bit.

Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2021-02-03 09:44:15 -06:00
Kubernetes Prow Robot
645c40fcf6
Merge pull request #98638 from neolit123/1.21-optimize-unit-tests-certs
kubeadm: introduce static defaults for unit tests
2021-02-02 03:20:29 -08:00
Lubomir I. Ivanov
f27555b890 kubeadm: optimize tests in pki_helpers_tests.go
Reduce the number of calls to algorithm.GenerateKey()
but try not to reduce coverage.
2021-02-02 04:25:06 +02:00
Lubomir I. Ivanov
afea70f9ae kubeadm: update OWNERS for 1.21 2021-02-01 20:14:00 +02:00
Lubomir I. Ivanov
6578e0f6c5 kubeadm: introduce static defaults for unit tests
Add DefaultedStaticInitConfiguration() which can be
used instead of DefaultedInitConfiguration() during unit tests.

The later can be slow since it performs dynamic defaulting.
2021-02-01 19:43:57 +02:00
Jordan Liggitt
8761972f68 Use private key fixtures for kubeadm unit tests 2021-02-01 10:06:10 -05: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
chymy
081d78f635 kubeadm: APIEndpointFromString verifies ip
Signed-off-by: chymy <chang.min1@zte.com.cn>
2021-01-19 18:36:55 +08: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
e1c1fd9edf
Merge pull request #97880 from justinsb/spelling
Fix spelling typos: scheduable -> schedulable
2021-01-15 03:43:51 -08:00
RA489
fe91902d08 kubeadm: Update versions for 1.21 2021-01-15 16:36:34 +05:30
Kubernetes Prow Robot
4a595bd373
Merge pull request #97372 from ihgann/master
Fix bug in Member Exists Join for Kubeadm etcd join
2021-01-14 12:45:30 -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
Lubomir I. Ivanov
3b5e698cb2 kubeadm: trim leading "v" when running CoreDNS migration preflight
During upgrade the coredns migration library seems to require
that the input version doesn't have the "v" prefix".

Fixes a bug where the user cannot run commands such as
"kubeadm upgrade plan" if they have `v1.8.0` installed.

Assuming this is caused by the fact that previously the image didn't
have a "v" prefix.
2021-01-11 18:21:19 +02:00
Justin SB
8797738c02 Fix spelling typos: scheduable -> schedulable
Bulk fix of a common typo.
2021-01-09 12:59:33 -05:00
he.qingguo
6f1c8de85c Fix typo of BoostrapToken in kubeadmin-type.go]
Signed-off-by: he.qingguo <he.qingguo@zte.com.cn>
2021-01-09 16:16:29 +08:00
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
Kubernetes Prow Robot
17bb2fc050
Merge pull request #97706 from knight42/refactor/kubeadm-certs-to-stable
refactor(kubeadm): remove the "alpha certs" command
2021-01-05 04:50:10 -08:00
Kubernetes Prow Robot
42fe1d3405
Merge pull request #97620 from rajansandeep/patch-1
[kubeadm]: CoreDNS preflight: Parse correct version syntax
2021-01-05 04:49:58 -08:00
Kubernetes Prow Robot
242e07dc3c
Merge pull request #97290 from neolit123/1.21-kubeadm-improve-token-error-messages
kubeadm: improve the error messages when validating discovery CA hash
2021-01-04 22:55:59 -08:00
Jian Zeng
394fb5617f refactor(kubeadm): remove the "alpha certs" command 2021-01-05 11:18:36 +08:00
Sandeep Rajan
a9ba7b06f0 CoreDNS preflight: Remove "v" from version
Corrects the error: "CoreDNS will not be upgraded: cannot migrate up to 'v1.8.0' from '1.7.0'"
2021-01-04 20:26:03 -05:00
he.qingguo
5faa19ede8 Fix Spelling error about [workflow] for kubeadm
Signed-off-by: he.qingguo <he.qingguo@zte.com.cn>
2020-12-31 16:00:53 +08:00
Jian Zeng
57d563403b refactor(kubeadm): remove deprecated command "alpha selfhosting pivot" 2020-12-31 13:47:15 +08:00
Jian Zeng
5ae687ecc6 feat(kubeadm): graduate command "kubeconfig user" 2020-12-30 10:24:23 +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
Kubernetes Prow Robot
88a05df5ff
Merge pull request #97266 from robbiemcmichael/kubeadm-validate-cert-chains
kubeadm: support certificate chain validation
2020-12-24 11:32:26 -08:00
Robbie McMichael
9022f24aed kubeadm: tests for certificate chain validation 2020-12-24 23:49:04 +08:00
Robbie McMichael
de8821acd3 kubeadm: support certificate chain validation
Fixes an issue where some kubeadm phases fail if a certificate file
contains a certificate chain with one or more intermediate CA
certificates. The validation algorithm has been changed from requiring
that a certificate was signed directly by the root CA to requiring that
there is a valid certificate chain back to the root CA.
2020-12-24 23:41:10 +08:00
Kubernetes Prow Robot
9858bc2925
Merge pull request #97452 from 249043822/br-cleanup-kubctl111
remove unused funcs for kubeadm tests
2020-12-23 17:04:26 -08:00
Kubernetes Prow Robot
6d76ece4d6
Merge pull request #97413 from SataQiu/fix-kubeadm-join-command-20201221
kubeadm: clean redundant whitespace for join command template
2020-12-23 10:18:26 -08:00
KeZhang
0abed09a6a remove unused funcs for kubeadm tests 2020-12-22 19:37:30 +08:00
Abel Barrera Duran
52979da973 32bit > 4GB integer overflow edge case fix 2020-12-21 13:12:42 -05:00
SataQiu
3a2ffbf70a kubeadm: clean redundant whitespace for join command template 2020-12-21 11:27:22 +08:00
Ian Gann
dc70c79a00 Fix bug in Member Exists Join for Kubeadm etcd join
In kubeadm etcd join there is a a bug that exists where,
if a peer already exists in etcd, it attempts to mitigate
by continuing and generating the etcd manifest file. However,
this existing "member name" may actually be unset, causing
subsequent etcd consistency checks to fail.

This change checks if the member name is empty - if it is,
it sets the member name to the node name, and resumes.
2020-12-17 11:54:02 -08:00
Lubomir I. Ivanov
429b7e2272 kubeadm: improve the error messages when validating discovery CA hash
The error messages when the user feeds an invalid discovery token CA
hash are vague. Make sure to:
- Print the list of supported hash formats (currently only "sha256").
- Wrap the error from pubKeyPins.Allow() with a descriptive message.
2020-12-14 20:13:36 +02:00
Kubernetes Prow Robot
6fc51bc528
Merge pull request #97244 from pacoxu/fix/97234
etcd version for 1.19 is 3.4.13 for cve fixes
2020-12-14 02:17:29 -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
Kubernetes Prow Robot
03aba080a6
Merge pull request #96860 from pacoxu/fix/96833
fix kube-dns federations check in kubeadm upgrade dns check preflight
2020-12-08 20:04:07 -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
2eabd9d832 fix migration logic
modify addon test to cover the entire migration logic
2020-12-02 12:53:07 -05:00
Paco Xu
4525f3fef8 coredns dep.Severity is newdefault, not newDefault
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2020-11-27 18:17:02 +08:00
pacoxu
05f9e500ad fix kubeadm upgrade dns check preflight
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2020-11-25 21:07:25 +08:00
Sandeep Rajan
40862c3b60 bump coredns to 1.8.0 2020-11-16 15:22:05 -05:00