Certificate signing in EKS

0

A customer needs to generate X509 certificates in Kubernetes for their extensions (validating/mutating/conversion webhooks). Standard way is to use CertificateSigningRequest for this purpose, but EKS does not have CertificateSigning admission controller installed, so the CSR is not getting signed.

Is there either a way to enable CertificateSigning admission controller on EKS or any other best practice for generating and renewing X509 certificates for EKS cluster internal usage (i.e. kube-apiserver <-> custom-developped-webhook)?

AWS
已提問 3 年前檢視次數 2821 次
1 個回答
0
已接受的答案

I have encountered a similar issue. Admission controllers(mutating/validating) and kube-apiserver only communicate over HTTPS. The admission controller needs TLS certs.

I have few solutions to this problem that don't come natively with EKS but you can use Open source solutions

  1. Use Cert-manager (X.509 certificate management for Kubernetes) ; cert-manager is a certificate management controller that can run on EKS. cert-manager will issue certificates from Let’s Encrypt, HashiCorp Vault, Venafi, a simple signing key pair, or self signed. Big benefit is it will ensure certificates are valid and up to date, and attempt to renew certificates at a configured time before expiry

  2. An open source tool called k8s-webhook-cert-manager can also be used in this scenario Link: https://github.com/newrelic/k8s-webhook-cert-manager

  3. Another open source tool is available which is based on the above tool called k8s-webhook-certificator Link: https://github.com/Trendyol/k8s-webhook-certificator

I would recommend using cert-manager on EKS which is a CNCF project. If not other 2 tools mentioned.

AWS
已回答 3 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南