Commit Graph

3387 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
218a2b078b Merge pull request #94765 from zhanw15/patch-1
kubeadm init phase upload-certs: add flag --kubeconfig
2020-09-16 19:20:44 -07:00
Kubernetes Prow Robot
3ba141173c Merge pull request #94668 from neolit123/1.20-kubeadm-remove-dkc
kubeadm: remove the "alpha kubelet config enable-dynamic" command
2020-09-16 14:05:21 -07:00
Kubernetes Prow Robot
5dd2676bf6 Merge pull request #94555 from SataQiu/fix-crisocket-warning-20200905
Fix the bug that kubeadm tries to call 'docker info' even if the CRI socket was for another CR
2020-09-14 09:41:12 -07:00
Kubernetes Prow Robot
7ffc46924f Merge pull request #94102 from neolit123/1.19-fix-etcd-700-perms
kubeadm: adjust the logic around etcd data directory creation
2020-09-14 09:40:59 -07:00
zhanwang
ae03350e30 kubeadm init phase upload-certs: add flag --kubeconfig 2020-09-14 17:48:20 +08:00
Michaël Lévesque-Dion
fbd62d55af avoid logging token in RunDeleteTokens 2020-09-11 13:28:52 -04:00
Lubomir I. Ivanov
daef96c3f2 kubeadm: remove stray "alpha phase" command
This command had a TODO to be removed once kubeadm init phases are
added. Remove the command as init phases are in place already.
2020-09-11 03:40:11 +03:00
Lubomir I. Ivanov
a5a29c54cc kubeadm: remove the "alpha kubelet config enable-dynamic" command
The command was deprecated in 1.19 and can be removed in 1.20.
2020-09-11 03:40:11 +03:00
SataQiu
c318973cec fix the bug that kubeadm tries to call 'docker info' even if the CRI socket was for another CR 2020-09-10 14:05:36 +08: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
Jordan Liggitt
c0ba2364b5 Run slow kubeadm upgrade tests in parallel 2020-09-04 13:36:45 -04:00
Jordan Liggitt
24481db023 Ensure kubeadm tests have unique names 2020-09-04 13:36:29 -04:00
Jordan Liggitt
7e01e38334 Avoid mutating global variables in kubeadm certs phases 2020-09-04 13:36:10 -04:00
Kubernetes Prow Robot
3cdfdfccc9 Merge pull request #94506 from neolit123/1.20-coredns-remove-supported-version-check
kubeadm: remove the CoreDNS check for supported image digests
2020-09-04 07:37:41 -07:00
Kubernetes Prow Robot
0edbf2554a Merge pull request #94479 from knight42/feat/kubeadm-etcd-pod-resource-requests
kubeadm: apply resource requests in the etcd pod spec
2020-09-04 06:25:41 -07:00
knight42
2ebd293780 feat(kubeadm): specify resource requests in etcd pod spec
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-09-04 11:54:21 +08:00
Lubomir I. Ivanov
4bb75a462f kubeadm: remove the CoreDNS check for supported image digests
The isCoreDNSVersionSupported() check assumes that
there is a running kubelet, that manages the CoreDNS containers.

If the containers are being created it is not possible to fetch
their image digest. To workaround that, a poll can be used in
isCoreDNSVersionSupported() and wait for the CoreDNS Pods
are expected to be running. Depending on timing and CNI
yet to be installed this can cause problems related to
addon idempotency of "kubeadm init", because if the CoreDNS
Pods are waiting for another step they will never get running.

Remove the function isCoreDNSVersionSupported() and assume that
the version is always supported. Rely on the Corefile migration
library to error out if it must.
2020-09-04 05:27:04 +03:00
Kubernetes Prow Robot
be1d43a097 Merge pull request #93992 from prabhu43/kubeadm-kubeconfig-clustername
Make clustername configurable in generation of kubeconfig using kubeadm command
2020-09-03 11:13:41 -07:00
Lubomir I. Ivanov
ebf163684a kubeadm: adjust the logic around etcd data directory creation
- Ensure the directory is created with 0700 via a new function
called CreateDataDirectory().
- Call this function in the init phases instead of the manual call
to MkdirAll.
- Call this function when joining control-plane nodes with local etcd.

If the directory creation is left to the kubelet via the
static Pod hostPath mounts, it will end up with 0755
which is not desired.
2020-09-03 18:38:54 +03:00
Kubernetes Prow Robot
c19e050aee Merge pull request #94299 from zouyee/pending
fix kubeadm update coredns with skip pending pod
2020-09-03 08:17:54 -07:00
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
Kubernetes Prow Robot
8e29d9563d Merge pull request #94385 from loopever/fix-typo
fix typos in cmd/kubeadm
2020-09-03 03:41:55 -07:00
zounengren
fc0bda5a3c fix kubeadm update coredns with skip pending pod 2020-09-03 10:42:59 +08:00
Kubernetes Prow Robot
0b92e8b16d Merge pull request #94421 from rosti/kubeadm-fix-upgrade-plan
kubeadm: Fix `upgrade plan` for air-gapped setups
2020-09-02 18:21:54 -07:00
Kubernetes Prow Robot
2c12a81cb7 Merge pull request #94398 from neolit123/1.20-pin-control-plane-to-local-endpoint
kubeadm: make the scheduler and KCM connect to the local API endpoint
2020-09-02 12:09:19 -07:00
Rostislav M. Georgiev
6e2a70eac7 kubeadm: Fix upgrade plan for air-gapped setups
A bug was discovered in the `enforceRequirements` func for `upgrade plan`.
If a command line argument that specifies the target Kubernetes version is
supplied, the returned `ClusterConfiguration` by `enforceRequirements` will
have its `KubernetesVersion` field set to the new version.
If no version was specified, the returned `KubernetesVersion` points to the
currently installed one.

This remained undetected for a couple of reasons
- It's only `upgrade plan` that allows for the version command line argument to
  be optional (in `upgrade plan` it's mandatory)
- Prior to 1.19, the implementation of `upgrade plan` did not make use of the
  `KubernetesVersion` returned by `enforceRequirements`.

`upgrade plan` supports this optional command line argument to enable
air-gapped setups (as not specifying a version on the command line will end up
looking for the latest version over the Interned).

Hence, the only option is to make `enforceRequirements` consistent in the
`upgrade plan` case and always return the currently installed version in the
`KubernetesVersion` field.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-09-02 12:52:02 +03:00
Kubernetes Prow Robot
27df218c72 Merge pull request #93702 from thtanaka/feature/fix-kubeadm-reset
kubeadm: reset don't unmount /var/lib/kubelet if it is mounted
2020-09-01 23:13:08 -07:00
Kubernetes Prow Robot
d5e2db896e Merge pull request #94395 from rosti/kubeadm-ensure-etcd-upgrades
kubeadm: Ensure etcd manifests are regenerated upon upgrade
2020-09-01 18:44:38 -07:00
Kubernetes Prow Robot
b49724d5fc Merge pull request #94287 from jingyih/update_etcd_server_3p4p13
Update default etcd server to 3.4.13
2020-09-01 15:35:20 -07:00
Lubomir I. Ivanov
d9441906c4 kubeadm: make the scheduler and KCM connect to local endpoint
Pinning the kube-controller-manager and kube-scheduler kubeconfig files
to point to the control-plane-endpoint can be problematic during
immutable upgrades if one of these components ends up contacting an N-1
kube-apiserver:
https://kubernetes.io/docs/setup/release/version-skew-policy/#kube-controller-manager-kube-scheduler-and-cloud-controller-manager
For example, the components can send a request for a non-existing API
version.

Instead of using the CPE for these components, use the LocalAPIEndpoint.
This guarantees that the components would talk to the local
kube-apiserver, which should be the same version, unless the user
explicitly patched manifests.
2020-09-01 19:38:28 +03:00
Rostislav M. Georgiev
3bef5d2e0b kubeadm: Ensure etcd manifests are regenerated upon upgrade
A check that verifies that kubeadm does not "upgrade" to an older release was
overly optimized by skipping upgrade if the new version is the same as the old
one. This somewhat makes sense, but that way changes in any of the etcd fields
in the ClusterConfiguration won't be applied if the etcd version is not
changed.

Hence, this simple change ensures that the upgrade is done even when no version
change takes place.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-09-01 15:47:33 +03:00
loopever
847e59186a fix typos in cmd/kubeadm 2020-09-01 10:09:45 +08:00
Hu Shuai
2be66feb49 Improve the prompt message when kubeadm init is successful
Signed-off-by: Hu Shuai <hus.fnst@cn.fujitsu.com>
2020-08-31 15:27:20 +08:00
jingyih
c96b93fbd4 Update default etcd server to 3.4.13 2020-08-28 21:19:24 +08:00
Kubernetes Prow Robot
a39f9dfde7 Merge pull request #93626 from vikkyomkar/issue-2237
[Cleanup] Removes usage of the k8s-master label (version marker)
2020-08-27 11:52:09 -07:00
Kubernetes Prow Robot
8297d5f195 Merge pull request #93483 from ZhiFeng1993/remove-false-positive-warning
Remove false positive warning in kubeadm cmd
2020-08-27 11:51:54 -07:00
Kubernetes Prow Robot
f542e86779 Merge pull request #93834 from loopever/master
fix typos in cmd/kubeadm and cmd/kube-scheduler
2020-08-27 10:38:06 -07:00
Kubernetes Prow Robot
be69ccc287 Merge pull request #94016 from mrueg/oyaml
kubeadm: Separate argument key/value in log msg
2020-08-27 04:49:16 -07:00
Prabhu Jayakumar
bdd0ccaddb Allow to configure clustername in creation of kubeconfig using kubeadm command
Signed-off-by: Prabhu Jayakumar <j.prabhu91@gmail.com>
2020-08-20 22:59:23 +05:30
Manuel Rüger
f289a3d6a7 kubeadm: Separate argument key/value in log msg
Users might be more used to `-o yaml` instead of -oyaml and get
confused event if the command works.

Signed-off-by: Manuel Rüger <manuel@rueg.eu>
2020-08-14 23:49:07 +02:00
RobertKielty
737548a6b2 go fmt fix 2020-08-13 06:03:58 +01:00
RobertKielty
1eb1690a92 names unnamed testcases, adds name to t.Errorf msg 2020-08-12 00:22:38 +01:00
loopever
b645f3038e Fix some typo 2020-08-11 08:35:31 +08:00
ZhiFeng1993
b90228f52f Remove false positive warning in kubeadm cmd 2020-08-06 12:45:55 -07:00
Thomas Tanaka
2e2d0845cd kubeadm: reset don't unmount /var/lib/kubelet if it is mounted
Previous PR that fixes this
https://github.com/kubernetes/kubernetes/pull/71663

Signed-off-by: Thomas Tanaka <thomas.tanaka@gmail.com>
2020-08-05 13:15:56 -07:00
vikkyomkar
f505f10e94 removed k8s-master label 2020-08-01 15:52:18 +05:30
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
Kubernetes Prow Robot
19f0a54d6b Merge pull request #92183 from wallrj/2163-csr-only-external-ca-mode-2
kubeadm alpha certs generate-csr
2020-07-13 07:18:32 -07:00