Deploy Contour ingress with static ip on GKE

5/1/2020

I am trying to deploy an https site with a static ip using the contour ingress loadbalancer. Essentially, I am following

https://projectcontour.io/guides/cert-manager/

I have a global static ip named web-ip and ip-address:

35.35.35.35

Now, I am deploying the following ingress file:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: httpbin
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-staging
    ingress.kubernetes.io/force-ssl-redirect: "true"
    kubernetes.io/ingress.class: contour
    kubernetes.io/tls-acme: "true"
    # ADDED FOR STATIC IP
    kubernetes.io/ingress.global-static-ip-name: "web-ip"
spec:
  tls:
  - secretName: httpbin
    hosts:
    - beta.mydomain.com
  rules:
  - host: beta.mydomain.com
    http:
      paths:
      - backend:
          serviceName: httpbin
          servicePort: 8080

Then I am adding contour ingress with

kubectl apply -f https://projectcontour.io/quickstart/contour.yaml

Irrespective of whether I use

        kubernetes.io/ingress.global-static-ip-name: "web-ip"

in the ingress file, this just gives me a random ip address for the load balancer. The site beta.mydomain.com does get linked to the "web-ip" reserved static ip address. What am I missing here?

-- Mike
envoyproxy
google-kubernetes-engine
kubernetes-ingress

0 Answers