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

CA certiticates auto renew schedule or playbook renew CA certificates #10486

Open
baohqtekup opened this issue Sep 28, 2023 · 6 comments
Open
Labels
kind/feature Categorizes issue or PR as related to a new feature. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@baohqtekup
Copy link

baohqtekup commented Sep 28, 2023

What would you like to be added:
Handle root CA rotation during upgrade as described in Kubernetes docs

Why is this needed:
Kubeadm does not handle the root ca rotation, and while they have a long duration by default (10 years), those would eventually expires.

#10486 (comment)

@baohqtekup baohqtekup added the kind/feature Categorizes issue or PR as related to a new feature. label Sep 28, 2023
@VannTen
Copy link
Contributor

VannTen commented Jan 22, 2024

This can probably be provided by things like cert-manager, or already exists for some certs in kubespray, depending on which ones you means.
If you have an actual more precise feature request we'll see about that.

@VannTen
Copy link
Contributor

VannTen commented Jan 22, 2024

/close

@k8s-ci-robot
Copy link
Contributor

@VannTen: Closing this issue.

In response to this:

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@zbialik
Copy link

zbialik commented Nov 15, 2024

I just came across this request and think it is a valid kubespray use-case, specifically for rotating the CA that is used for issuing all the other k8s certs (admin.conf, apiserver, apiserver-kubelet-client, controller-manager.conf, etc.)

For example, kubeadm shows my cert expirations as so:

[root@controlplane01:~]# kubeadm certs check-expiration 
CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED
admin.conf                 Oct 28, 2025 21:44 UTC   347d            ca                      no      
apiserver                  Oct 28, 2025 21:44 UTC   347d            ca                      no      
apiserver-kubelet-client   Oct 28, 2025 21:44 UTC   347d            ca                      no      
controller-manager.conf    Oct 28, 2025 21:44 UTC   347d            ca                      no      
front-proxy-client         Oct 28, 2025 21:44 UTC   347d            front-proxy-ca          no      
scheduler.conf             Oct 28, 2025 21:44 UTC   347d            ca                      no      

CERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
ca                      Oct 26, 2034 21:44 UTC   9y              no      
front-proxy-ca          Oct 26, 2034 21:44 UTC   9y              no 

We know every time we upgrade, kubespray will naturally rotate all the certs under the top section (as that is a feature provided by kubeadm out-the-box I believe). But it would be nice if kubespray could automatically handle the rotation of the CA itself. Kubernetes docs note how kubeadm doesn't support this and provide manual steps to rotate the CA, but I feel like automating this is within the kubespray feature-set, though I understand it may be a significant undertaking.

Thoughts? @VannTen

@VannTen
Copy link
Contributor

VannTen commented Nov 15, 2024 via email

@VannTen VannTen reopened this Nov 15, 2024
@VannTen
Copy link
Contributor

VannTen commented Nov 15, 2024 via email

@k8s-ci-robot k8s-ci-robot added the triage/accepted Indicates an issue or PR is ready to be actively worked on. label Nov 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

4 participants