Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How enable google managed certificate on Google Kubernetes?

I'm new to GKE now am trying to creating a new cluster for RASA. I'm trying to create an ingress with HTTPS to point to a loadbalancer in this cluster. But I'm unable to select the option Create Google-managed certificate from the list. It seems to be disabled in this cluster. How enable this?

The help shows:

To create Google-managed certificates, your cluster needs to have ManagedCertificate Custom Resource Definition present.

enter image description here

like image 586
PRAJIN PRAKASH Avatar asked Jul 30 '20 13:07

PRAJIN PRAKASH


People also ask

How do I enable SSL in Kubernetes?

If you want full SSL, you can add the supported annotation by the ingress controller you are using. For example, In the Nginx ingress controller, to allow SSL traffic till the application, you can use the nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" annotation.

What is Google managed certificate?

Google-managed SSL certificates are Domain Validation (DV) certificates that Google Cloud obtains and manages for your domains. They support multiple hostnames in each certificate, and Google renews the certificates automatically.


1 Answers

Posting this community wiki answer to give more visibility on recently fixed issue of grayed out option to create Create a Google-managed certificate.

Feel free to edit and expand.


You can find the corresponding Issue on the GCP Issuetracker:

  • Issuetracker.google.com: Issues: Creation of Managed Certificate in GCP Cloud Console (Web UI) is grayed out

Citing the part of the message from the thread:

As I can see, this issue was already fixed. You shouldn't encounter it anymore.


Example

As stated above, this issue shouldn't show up anymore. After reproduction with the following steps:

  • Create a GKE cluster and wait for it's provisioning.
  • Create a sample workload and expose it with:
    • $ kubectl create deployment nginx --image=nginx
    • $ kubectl expose deployment nginx --port=80 --type=NodePort
  • Go to:
    • Cloud Console -> Kubernetes Engine -> Services & Ingress -> Create Ingress (after choosing nginx Service) -> Frontend configuration -> HTTPS -> Create a new certificate

The following option can be seen as available:

GOOGLE-MANAGED-CERT


Additional resources:

  • Cloud.google.com: Kubernetes Engine: Docs: How to: Managed certs
like image 146
Dawid Kruk Avatar answered Oct 06 '22 09:10

Dawid Kruk