Setup HTTPs for kubernetes

  1. Register a Domain Name
  2. Reserve an External IP address in VPC network->External IP addresses
  3. Setting up the managed certificate
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
    name: certificate-name
spec:
    domains:
        - domain-name1
        - domain-name2
  1. Create a DNS zone in Cloud DNS Add A record and CNAME
  2. Create ingress with HTTPs, select the certificate Or using config file:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-name
  annotations:
    kubernetes.io/ingress.global-static-ip-name: address-name
    networking.gke.io/managed-certificates: certificate-name
spec:
  backend:
    serviceName: service-name
    servicePort: service-port
  1. To verify DNS works, run
    dig +trace duomind.org
    Or
    nslookup duomind.org

References

🏷 note
🏷 backend
🏷 gcp