Commit Graph

1428 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
36d95c33b1 Merge pull request #122181 from SataQiu/clean-certs-20231205
kubeadm: cleanup unused CreateCSR and associated functions
2023-12-14 07:26:27 +01:00
Kubernetes Prow Robot
6e7f503e1a Merge pull request #122144 from Jerry-yz/master
kubeadm: update func CreateJoinControlPlaneKubeConfigFiles variable name
2023-12-14 06:18:52 +01:00
Kubernetes Prow Robot
5852244b89 Merge pull request #121727 from my-git9/versiongetterut
kubeadm: increase ut coverage app/upgrade/versiongetter
2023-12-13 22:35:27 +01:00
SataQiu
56262ca56a kubeadm: cleanup unused CreateCSR and associated functions 2023-12-05 18:17:14 +08:00
Jerry-yz
0c33ada850 update func CreateJoinControlPlaneKubeConfigFiles variable name 2023-12-01 17:08:36 +08:00
Kubernetes Prow Robot
930022cf26 Merge pull request #121841 from SataQiu/fix-renew-20231110
kubeadm: support updating certificate organization during 'kubeadm certs renew'
2023-11-11 09:49:36 +01:00
SataQiu
bda722bb68 kubeadm: support updating certificate organization during 'kubeadm certs renew' 2023-11-11 14:57:50 +08:00
Lubomir I. Ivanov
2780060a78 kubeadm: change SystemPrivilegedGroup in apiserve-kubelet-client.crt
The component connection between kube-apiserver and kubelet does not
require the "O" field on the Subject to be set to the
"system:masters" privileged group. It can be a less
privileged group like "kubeadm:cluster-admins".

Change the group in the apiserve-kubelet-client
certificate specification. This cert is passed to
--kubelet-client-certificate.
2023-11-10 15:05:14 +02:00
xin.li
29335763fe kubeadm: increase ut coverage app/upgrade/versiongetter
Signed-off-by: xin.li <xin.li@daocloud.io>
2023-11-08 09:45:42 +08:00
Kubernetes Prow Robot
bfd67c4454 Merge pull request #121648 from neolit123/1.29-super-admin-conf
kubeadm: do not poll in TestEnsureAdminClusterRoleBindingImpl
2023-11-01 01:51:26 +01:00
Lubomir I. Ivanov
c2a365c6a7 kubeadm: do not poll in TestEnsureAdminClusterRoleBindingImpl
In EnsureAdminClusterRoleBindingImpl() there are a couple of
polls around CRB create calls. When testing the function
a short retry and a timeout are used. These introduce around
2x20 fake client "connections" / poll iterations under a couple
of test cases with 2 seconds overall test increase.

Given the polls in EnsureAdminClusterRoleBindingImpl()
are of type PollUntilContextTimeout() with "immediate" set to "true",
the short retry / time out can be removed when testing,
because one poll iteration is guaranteed and the tested function
is at 100% coverage with reactors and test cases.
2023-10-31 17:37:10 +02:00
Kubernetes Prow Robot
5cb83d1cd2 Merge pull request #121609 from neolit123/1.29-super-admin-conf
kubeadm: poll additional CRB create calls for kubeadm:cluster-admins
2023-10-30 21:12:00 +01:00
Lubomir I. Ivanov
05076de57f kubeadm: poll additional CRB create calls for kubeadm:cluster-admins
Poll CRB create calls for kubeadm:cluster-admins when using the
super-admin.conf credential. The prior create call that uses the
credential admin.conf was already polled. Polling this subsequent
call seems advisable to ensure that momentary errors in between
cannot trip EnsureAdminClusterRoleBindingImpl().
2023-10-30 12:51:13 +02:00
Kubernetes Prow Robot
c8125c4029 Merge pull request #121305 from neolit123/1.29-super-admin-conf
kubeadm: add support for separate super-admin.conf kubeconfig file
2023-10-27 08:51:31 +02:00
Lubomir I. Ivanov
30ed50d32e kubeadm: make super-admin.conf changes in app/phases
- Register the new file in /certs/renewal, so that the
file is renewed if present. If not present the common message "MISSING"
is shown. Same for other certs/kubeconfig files.
- In /kubeconfig, update the spec for admin.conf to use
the "kubeadm:cluster-admins" Group. A new spec is added for
the "super-admin.conf" file that uses the "system:masters" Group.
- Add a new function EnsureAdminClusterRoleBinding() that includes
logic to ensure that admin.conf contains a User that is properly
bound on the "cluster-admin" built-in ClusterRole. This requires
bootstrapping using the "system:masters" containing "super-admin.conf".
Add detailed unit tests for this new logic.
- In /upgrade#PerformPostUpgradeTasks() add logic to create the
"admin.conf" and "super-admin.conf" with the new, updated specs.
Add detailed unit tests for this new logic.
- In /upgrade#StaticPodControlPlane() ensure that renewal of
"super-admin.conf" is performed if the file exists.
Update unit tests.
2023-10-26 07:36:03 +03:00
Lubomir I. Ivanov
c2a04fa1cf kubeadm: fix export comments to make golangci-lint happy 2023-10-25 19:35:10 +03:00
SataQiu
16b3acc27a cleanup UnknownCRISocket for unit tests 2023-10-24 16:46:51 +08:00
Paco Xu
fb0ffb07a7 kubeadm coredns use drop ALL instead of all 2023-10-20 17:59:39 +08:00
SataQiu
3da7802b7c kubeadm: cleanup UnknownCRISocket from staticpods test 2023-10-19 14:44:02 +08:00
xin.li
e312d93a66 kubeadm: increase ut coverage for bootstraptoken/node
Signed-off-by: xin.li <xin.li@daocloud.io>
2023-10-18 12:16:31 +08:00
xin.li
6732c4110f kubeadm: fix uninvalid namespace field for clusterrole
Signed-off-by: xin.li <xin.li@daocloud.io>
2023-10-15 18:49:52 +08:00
Kubernetes Prow Robot
801932c012 Merge pull request #120825 from pacoxu/kubeadm-skew-match
kubeadm: adjust kubeadm skew policy for upgrades
2023-10-12 16:00:02 +02:00
Paco Xu
7b1d87383e add kubelet policy skew test for kubeadm 2023-10-12 11:17:05 +08:00
Kubernetes Prow Robot
bb06804e52 Merge pull request #120828 from SataQiu/fix-kubeadm-cri-20230922
kubeadm: fix the bug that kubeadm always do CRI detection when --config is passed even if it is not required by the subcommand
2023-10-07 11:58:22 +02:00
Kubernetes Prow Robot
854d0e7fc8 Merge pull request #120956 from my-git9/clusterinfout
kubeadm: increase ut converage for bootstraptoken/clusterinfo
2023-10-06 13:43:22 +02:00
xin.li
8510057e2d kubeadm: increase ut converage for bootstraptoken/clusterinfo
Signed-off-by: xin.li <xin.li@daocloud.io>
2023-10-06 18:36:02 +08:00
Kubernetes Prow Robot
c54c6b2383 Merge pull request #120938 from ptsgr/fix-linter
Refactoring variable declaration and value setting
2023-09-29 10:56:43 -07:00
Kubernetes Prow Robot
afe4c041f3 Merge pull request #120530 from my-git9/node-ut
kubeadm: add unit test for phases/bootstraptoken/node/token.go
2023-09-29 07:08:43 -07:00
Egor Pats
5ebde41efb Refactoring variable declaration and value setting 2023-09-29 16:17:28 +03:00
Kubernetes Prow Robot
29ff98ff37 Merge pull request #120417 from neolit123/1.29-v1beta4-ecdsa
kubeadm: add v1beta4.ClusterConfiguration.EncryptionAlgorithm
2023-09-28 02:38:33 -07:00
xin.li
e320fadebe kubeadm: add unit test for phases/bootstraptoken/node/token.go
Signed-off-by: xin.li <xin.li@daocloud.io>
2023-09-28 16:42:29 +08:00
caoyingjunz
2172ea6083 Fix typos: update Enpoint to Endpoint 2023-09-26 21:23:44 +08:00
SataQiu
1a68195626 kubeadm: fix the bug that kubeadm always do CRI detection when --config is passed even if it is not required by subcommand 2023-09-25 16:35:47 +08:00
Paco Xu
534a0941e8 kubeadm: change kubelet skew to apiserver to n-3 2023-09-22 20:46:29 +08:00
Lubomir I. Ivanov
b5bffb6d97 kubeadm: add v1beta4.ClusterConfiguration.EncryptionAlgorithm
Add v1beta4.ClusterConfiguration.EncryptionAlgorithm field (string)
and allow the user to configure the cluster asymetric encryption
algorithm to be either "RSA" (default, 2048 pkey size) or "ECDSA" (P-256).
Add validation and fuzzing. Conversion from v1beta3 is not required
because an empty field value is accepted and defaulted to RSA if needed.

Leverage the existing configuration option (feature gate) PublicKeysECDSA
but rename the backend fields, arguments, function names to be more
generic - EncryptionAlgorithm instead of PublicKeyAlgorithm.
That is because once the feature gate is enabled the algorithm
configuration also applies to private keys. It also uses the kubeadm API
type (string) instead of the x509.PublicKeyAlgorithm enum (int).

Deprecate the PublicKeysECDSA feature gate with a message.
It should be removed with the release of v1beta4 or maximum one release
later (it is an alpha FG).
2023-09-21 11:48:48 +03:00
Kubernetes Prow Robot
e2b03d41c5 Merge pull request #120561 from chendave/dependency
kubeadm: remove reference of k8s.io/kubernetes/pkg/apis/core/v1
2023-09-12 03:44:12 -07:00
SataQiu
4e0c8a9752 kubeadm: remove reference of k8s.io/kubernetes/pkg/apis/core/v1
Co-authored-by: Dave Chen <dave.chen@arm.com>
2023-09-12 17:09:19 +08:00
Kubernetes Prow Robot
35199e42a4 Merge pull request #120549 from pacoxu/kubeadm-etcd-manifests
kubeadm: fix diff order and add tests for new default value manifest
2023-09-12 00:44:13 -07:00
Paco Xu
4d105eb1ce add TestUnmarshalJson for UniversalUnmarshal 2023-09-12 14:41:07 +08:00
Stephen Kitt
e2c1c0d34a kubeadm: drop deprecated pointer package
This replaces deprecated k8s.io/utils/pointer functions with their ptr
equivalent.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2023-09-11 16:41:12 +02:00
Paco Xu
678b958567 use universal decoder and add a check on default dns Policy of static pod for test 2023-09-11 22:31:35 +08:00
Paco Xu
2d86c333f5 add test case for generating etcd manifests 2023-09-11 10:35:50 +08:00
SataQiu
3e2bad02dc kubeadm: remove 'system:masters' organization from apiserver-etcd-client certificate 2023-09-08 15:01:00 +08:00
xin.li
6f55437472 kubeadm: increase ut coverage for addons/dns/dns.go
Signed-off-by: xin.li <xin.li@daocloud.io>
2023-09-03 11:07:59 +08:00
guangli.bao
78538bd303 update coredns to v1.11.0
update coredns to v1.11.1
update coredns-kubeadm to 1.11.1
bump up corefile-migration to v1.0.21 based on https://github.com/coredns/corefile-migration/releases/tag/v1.0.21
fix dns_test ut failure

Signed-off-by: guangli.bao <guangli.bao@daocloud.io>
2023-08-26 17:15:46 +08:00
Kubernetes Prow Robot
e043bc08d4 Merge pull request #119156 from neolit123/1.28-add-support-for-dup-extraargs
kubeadm add support for structured ExtraArgs
2023-08-21 02:49:22 -07:00
Kubernetes Prow Robot
595a57940a Merge pull request #120039 from chendave/move_testcases
kubeadm: Move the method used only in the test to `postupgrade_test.go`
2023-08-18 07:12:39 -07:00
Dave Chen
72af21e1a1 kubeadm: Cleanup the unused input parameters
Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-08-18 17:20:22 +08:00
Dave Chen
1eb6282016 kubeadm: Move the method used only in the test to postupgrade_test.go
Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-08-18 16:59:08 +08:00
Kubernetes Prow Robot
4f874a224a Merge pull request #119562 from my-git9/proxyut
kubeadm: increase ut for cmd/kubeadm/app/phases/addons/proxy
2023-08-16 19:44:21 -07:00