Commit Graph

11818 Commits

Author SHA1 Message Date
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
Lubomir I. Ivanov
837090135f kubeadm: make super-admin.conf changes to app/cmd
- Update unit tests in certs_test.go related to the "renew" CLI command.
- In /init, (d *initData) Client(), make sure that the new logic
for bootstrapping an "admin.conf" user is performed, by calling
EnsureAdminClusterRoleBinding() from the phases backend. Add a
"adminKubeConfigBootstrapped" flag that helps call this logic only
once per "kubeadm init" binary execution.
- In /phases/init include a new subphase for generating
the "super-admin.conf" file.
- In /phases/reset make sure the file "super-admin.conf" is
cleaned if present. Update unit tests.
2023-10-26 07:36:03 +03: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
98bed52fdd kubeadm: make super-admin.conf changes in app/constants
- Add the new file name: super-admin.conf and a function
to return its default path GetSuperAdminKubeConfigPath()
- Add the ClusterAdminsGroupAndClusterRoleBinding object name.
2023-10-25 11:46:49 +03:00
Kubernetes Prow Robot
afc302c2d2 Merge pull request #121230 from SataQiu/fix-kubeadm-20231014
kubeadm: fill with the DefaultCRISocket when CRI socket detection is not required
2023-10-16 06:45:18 +02: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
c65b0b71e7 Merge pull request #120606 from f4nd0y/replace-hardcode-with-exists-variable
replace hardcode with exists variable
2023-10-15 05:55:50 +02:00
Kubernetes Prow Robot
4d8a51acac Merge pull request #121229 from aojea/remove_cluster_cidr
remove ClusterCIDR alpha API
2023-10-15 02:56:33 +02:00
Kubernetes Prow Robot
cf54acce5c Merge pull request #120274 from danwinship/kube-proxy-config-docs
kube-proxy config/CLI doc fixups
2023-10-15 02:56:24 +02:00
Antonio Ojea
c2d473f0d4 remove ClusterCIDR
KEP-2593 proposed to expand the existing node-ipam controller
to be configurable via a ClusterCIDR objects, however, there
were reasonable doubts on the SIG about the feature and after
several months of dicussions we decided to not move forward
with the KEP intree, hence, we are going to remove the existing
code, that is still in alpha.

https://groups.google.com/g/kubernetes-sig-network/c/nts1xEZ--gQ/m/2aTOUNFFAAAJ

Change-Id: Ieaf2007b0b23c296cde333247bfb672441fe6dfc
2023-10-14 19:06:22 +00:00
SataQiu
32d2afe42b kubeadm: fill with the DefaultCRISocket when CRI socket detection is not required 2023-10-14 16:21:38 +08:00
Kubernetes Prow Robot
c2db4d03dc Merge pull request #121136 from carlory/fix-kubeadm-2941
kubeadm: using struct option rather than a long list of parameters
2023-10-13 12:31:21 +02:00
carlory
db8e106e3f Code Refactor: using struct option rather than a long list of parameters
Co-authored-by: Shida Qiu <shidaqiu2018@gmail.com>
2023-10-13 17:17:03 +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
SataQiu
adae1e33ea kubeadm: remove AlphaDisclaimer for certs phases 2023-10-12 15:11:12 +08:00
Paco Xu
7b1d87383e add kubelet policy skew test for kubeadm 2023-10-12 11:17:05 +08:00
Kubernetes Prow Robot
b47aa1c20e Merge pull request #120808 from aroradaman/proxy-conntrack-udp-timeouts
Adding option to configure UDP timeouts for conntrack
2023-10-12 01:59:55 +02:00
Daman Arora
15ae6cc160 pkg/proxy: add flag to configure udp conntrack timeouts
Signed-off-by: Daman Arora <aroradaman@gmail.com>
2023-10-12 03:08:21 +05:30
Kubernetes Prow Robot
12458285b9 Merge pull request #120788 from chendave/componentCfg
kubeadm: Remove the support of configurable component configs
2023-10-11 04:42:53 +02:00
Kubernetes Prow Robot
87611b10db Merge pull request #121072 from danwinship/kube-proxy-unit-tests
Fix regression in cmd/kube-proxy/app unit test speed
2023-10-10 19:07:16 +02:00
Dan Winship
f3c786cbda Fix regression in cmd/kube-proxy/app unit test speed 2023-10-09 07:08:22 -04:00
SataQiu
c3bf541ede kubeadm: clean up unnecessary references to UnknownCRISocket 2023-10-08 16:57:45 +08:00
Kubernetes Prow Robot
10827a193a Merge pull request #121045 from my-git9/fixetcdutk
kubeadm: fix wrong ut for util/etcd
2023-10-08 07:03:01 +02:00
xin.li
20db4ef3d6 kubeadm: fix wrong ut for util/etcd
Signed-off-by: xin.li <xin.li@daocloud.io>
2023-10-07 21:57:20 +08:00
Kubernetes Prow Robot
0554675d78 Merge pull request #121020 from chendave/set_opt
kubeadm: Optimize the logic to override the arguments
2023-10-07 11:58:31 +02: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
Dave Chen
e8e22f645d kubeadm: Optimize the logic to override the arguments
Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-10-06 19:01:00 +08: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
Dan Winship
b2f0052d27 Make a certain ipv4-vs-ipv6 config error non-fatal, for backward compat 2023-10-05 12:57:29 -04:00
Dan Winship
9242cb1934 Rearrange kube-proxy config fields / CLI flags to make more sense. 2023-09-30 10:19:07 -04:00
Dan Winship
44cb330aa0 Improve kube-proxy config / CLI documentation 2023-09-30 10:18:16 -04: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
dc28eeaa3a Merge pull request #120565 from skitt/drop-deprecated-pointer-kube-proxy
kube-proxy: drop deprecated pointer package
2023-09-29 02:24:42 -07: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
Dave Chen
d8cf68e75f kubeadm: Nominate myself (chendave) as kubeadm approver
Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-09-21 15:00:53 +08:00
Dave Chen
0786fcc941 kubeadm: Remove the support of configurable component configs
`kubeadm upgrade plan` uses to support the configure of component
configs(kubeproxy and kubelet) in a config file and then check if
the version is supported or not, if it's not supported it will be
marked as a unsupported version and require to manually upgrade
the component.

This feature will make the upgrade config API much harder as this
violates the no-mutation principle for upgrade, and we have seen it's
quite problematic to do like this.

This change removes the support of configurable component configs for
`kubeadm upgrade plan`, along with the removal, the logic to parse
the config file to decide whether a manual upgrade for the component
configs is needed is removed as well.

NOTE that API is not changed, i.e. `ManualUpgradeRequired` is not removed
from `ComponentConfigVersionState` but it's no-op now.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-09-21 13:26:13 +08:00
Kubernetes Prow Robot
89b4153d4d Merge pull request #116884 from mengjiao-liu/contextual-logging-scheduler-plugin-nodevolumelimits
Change the scheduler plugins FactoryAdapter function to use context parameter to pass logger
2023-09-20 11:26:00 -07:00
Mengjiao Liu
a7466f44e0 Change the scheduler plugins PluginFactory function to use context parameter to pass logger
- Migrated pkg/scheduler/framework/plugins/nodevolumelimits to use contextual logging
- Fix golangci-lint validation failed
- Check for plugins creation err
2023-09-20 17:49:54 +08:00
Kubernetes Prow Robot
144baff189 Merge pull request #120598 from neolit123/1.29-kubeadm-ownders-cleanup
/cmd/kubeadm,/test/e2e*: update OWNERS for fabriziopandini & RA489
2023-09-19 21:39:59 -07:00
Kubernetes Prow Robot
0241da314e Merge pull request #120514 from fengxsong/patch-1
fix: check if initsystem service exists
2023-09-15 14:08:23 -07:00
Kubernetes Prow Robot
4fd8bd9975 Merge pull request #118568 from qiutongs/node-startup-latency
Create a node startup latency tracker
2023-09-15 13:00:12 -07:00
Kubernetes Prow Robot
d393d4e151 Merge pull request #120574 from logicalhan/cslis
promote component SLIs to GA; remove feature gates for component slis
2023-09-14 22:52:12 -07:00