Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility with K8s 1.29 #5792

Closed
5 tasks done
tnqn opened this issue Dec 13, 2023 · 9 comments
Closed
5 tasks done

Compatibility with K8s 1.29 #5792

tnqn opened this issue Dec 13, 2023 · 9 comments

Comments

@tnqn
Copy link
Member

tnqn commented Dec 13, 2023

Create the issue to track compatibility with impending K8s 1.29.

Changes that may matter now

  • Kube-controller-manager: The LegacyServiceAccountTokenCleanUp feature gate is now beta and enabled by default. When enabled, legacy auto-generated service account token secrets are auto-labeled with a kubernetes.io/legacy-token-invalid-since label if the credentials have not been used in the time specified by --legacy-service-account-token-clean-up-period (defaulting to one year), and are referenced from the .secrets list of a ServiceAccount object, and are not referenced from pods. This label causes the authentication layer to reject use of the credentials. After being labeled as invalid, if the time specified by --legacy-service-account-token-clean-up-period (defaulting to one year) passes without the credential being used, the secret is automatically deleted. Secrets labeled as invalid which have not been auto-deleted yet can be re-activated by removing the kubernetes.io/legacy-token-invalid-since label. (LegacyServiceAccountTokenCleanUp beta kubernetes/kubernetes#120682)

    • It may invalidate the manually created service account token antctl-service-account-token and antctl-service-account-token if they are classified as legacy auto-generated. If that's the case, we should consider stopping create such tokens and update docs.
    • @luolanzone is checking if this would affect the two tokens.
  • Allow specifying ExternalTrafficPolicy for Services with ExternalIPs. (Allow specifying ExternalTrafficPolicy for Services with ExternalIPs kubernetes/kubernetes#119150)

Changes that may matter in the future

Tests

Items

@luolanzone
Copy link
Contributor

Regarding the feature gate LegacyServiceAccountTokenCleanUp, I have went through the codes and verified in the Kind cluster with v1.29.0 images. A token will be treated as an auto-generated secret-based toke only when it's in the .secrets list of a ServiceAccount object. Our service account tokens antctl-service-account-token and antrea-agent-service-account-token are created manually by the manifest antrea.yaml and doesn't show up in the .secrets list of SA antctl and antrea-agent. These two tokens might be marked with a label kubernetes.io/legacy-token-last-used if they are used at least once. But they won't be cleaned up automatically by the legacy token cleaner controller since they are not referenced from the .secrets list of a ServiceAccount object

The conclusion is that the LegacyServiceAccountTokenCleanUp feature gate should have no impact to Antrea even it's enabled by default in v1.29.0.

@antoninbas
Copy link
Contributor

Not completely related to this issue, but it may be nice to update our k8s.io Go dependencies to 0.29. I think it's been a while since we bumped them up.

@tnqn
Copy link
Member Author

tnqn commented Dec 19, 2023

Not completely related to this issue, but it may be nice to update our k8s.io Go dependencies to 0.29. I think it's been a while since we bumped them up.

Sure, it's also a necessary step to access the new ServiceCIDR API and the ipMode field. Added it as one item of the issue.

@XinShuYang
Copy link
Contributor

XinShuYang commented Dec 28, 2023

Windows conformance test passed on 1.29 cluster.
windows_conformance_result_129.txt

@hjiajing
Copy link
Contributor

hjiajing commented Jan 3, 2024

Maybe I can take the taske Bump k8s.io Go dependencies to 0.29.

@luolanzone
Copy link
Contributor

@hjiajing Thanks for taking the sub-task, you can refer to this PR #4935 as a reference.

@prakrit55
Copy link
Contributor

hey @luolanzone, @antoninbas can I try to bump dependencies to 0.29, if @hjiajing is occupied

@antoninbas
Copy link
Contributor

hey @luolanzone, @antoninbas can I try to bump dependencies to 0.29, if @hjiajing is occupied

@hjiajing is still actively working on this in #5843

@antoninbas
Copy link
Contributor

All tasks completed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants