I'm porting a tool that I originally developed for AWS to Kubernetes under Azure (AKS). It builds a cloud based application consisting of a number of microservices running in AWS Fargate. One of these microservices is the main UI and it is fronted by an application load balancer. During the install process, the tool makes a request to Amazon for a certificate and this certificate, once validated, is subsequently referenced in the application load balancer that it creates to provide https access to our UI.
The nice thing about the mechanism were using is that Amazon manages the certificate it creates for us. When the certificate's expiry date is reached Amazon automatically renews it, keeping the process completely handsfree--no manual intervention by any of our code is needed at all.
My question is whether this kind of thing is available for AKS? Specifically, we need:
- The ability to programmatically request a certificate.
- A mechanism to then validate that certificate. For example, in AWS we use the DNS validation mechanism that's provided with their certificate management API.
- A way to reference the certificate in our application load balancer.
- A means to have the certificate automatically renewed when its expiry date is reached.
We're currently using a GoDaddy generated certificate as a short term solution and are referencing that in our load balancer. This certificate will not auto-renew. Ideally we want the whole process to be automated, starting from requesting the certificate to having it automatically renewed when it expires. My impression is that nothing as seamless and well integrated as what is provided by Amazon is available for Azure but I'm hoping that there is some means to accomplish what we need. Any pointers would be appreciated.