-
Notifications
You must be signed in to change notification settings - Fork 28
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
Certificates v1beta1 will no longer be support on k8s release 1.22 #111
Comments
From API version certificates.k8s.io/v1 onwards signerName is a required key for CSR's(certificate signing requests) and also they have made multiple built in signers for specific purposes which are supposed to be used for only k8s internal services.
But all the above options have some disadvantages Option1: we would be using signer of kubelet Option2:Cert manager's support for k8s csr API is currently experimental and also this would add an additional dependency Option3:Is not normally used in production(but since it's all in cluster should this be ok?). |
some more info on the deprecation: https://kubernetes.io/docs/reference/using-api/deprecation-guide/#certificatesigningrequest-v122 https://kubernetes.io/blog/2021/07/14/upcoming-changes-in-kubernetes-1-22/#api-changes info on K8s CSR and Signers: https://kubernetes.io/docs/reference/access-authn-authz/certificate-signing-requests/#signers Additional info on webhook tls cert: https://kubernetes.io/blog/2019/03/21/a-guide-to-kubernetes-admission-controllers/#tls-certificates Naive question, in V1Beta who would issue the certificate ? (as signer name was not provided)
|
Summary from today's discussion about this issue Today, NRI supports either providing a signed certificate from an external source using The latter is no longer available in Kubernetes 1.22. see: https://kubernetes.io/blog/2021/07/14/upcoming-changes-in-kubernetes-1-22/#api-changes Kubernetes provides built-in signers however it seems that none of them fit the bill. Specifically the only candidate to be used as a signer is It is desirable to still have a way to generate a signed certificate without the need to create, sign and manage it out of band. The proposal is to create a self signed certificate and use it in later on, if there is a use-case for it, we can revisit support for certificates/v1 CertificateSigningRequest with a custom signer. If we move forward with this proposal, I suggest the old code which uses certificates/v1beta1 to be removed and self signed certificates to be used instead. @zshi-redhat do you see issues with this proposal ? IMHO this is a good path forward to have a good "out of the box" experience of NRI. |
This proposal sounds good to me, I don't see issues.
We use a dedicated operator to manage the certificate signing activities downstream: https://github.com/openshift/service-ca-operator.
Agreed |
K8s release 1.22 onwards, it looks like k8s.io/api/certificates/v1beta1 will not be supported.
NRI will have issues once this happens.
Should we begin upgrading from v1beta1 to v1 for the certificates?
Recently, admission was switched from v1beta1 to v1.
https://github.com/k8snetworkplumbingwg/network-resources-injector/pull/96/files
The text was updated successfully, but these errors were encountered: