<p>Create an External Ingress for a service like the one below.</p>
<p>Everything gets created but without the behavior I expect.</p>
<ul>
<li>Global IP is not used, another one is used instead</li>
<li>HTTP is still enabled</li>
</ul>
<pre class="lang-yaml prettyprint-override"><code>apiVersion: &quot;extensions/v1beta1&quot;
kind: &quot;Ingress&quot;
metadata:
  annotations:
    kubernetes.io/ingress.allow-http: false
    kubernetes.io/ingress.global-static-ip-name: &quot;my-ingress-ip&quot;
  labels:
    app.kubernetes.io/instance: &quot;my-service-api&quot;
    app.kubernetes.io/managed-by: &quot;pulumi&quot;
    app.kubernetes.io/name: &quot;my-service-api&quot;
    app.kubernetes.io/version: &quot;1.0.0-service&quot;
    helm.sh/chart: &quot;service-0.1.0&quot;
  name: &quot;my-service-api-proxy&quot;
  namespace: &quot;load-test&quot;
spec:
  backend:
    serviceName: &quot;my-service-api-proxy&quot;
    servicePort: 80
  tls:
    - secretName: &quot;my-tls-secret-cert&quot;
</code></pre>
<p>As soon as I remove the kubernetes.io/ingress.allow-http annotation, the ingress picks up my global IP.</p>
<p>Has anyone ran into this issue when creating an Ingress with a global IP and HTTPS only access?</p>
<p>GKE version:  1.18.16-gke.2100</p>
<p>Node Config:</p>
<blockquote>
<p>Kernel version    5.4.89+</p>
<p>OS image    Container-Optimized OS from Google</p>
<p>Container runtime version    docker://19.3.14</p>
<p>kubelet version    v1.18.16-gke.2100</p>
<p>kube-proxy version    v1.18.16-gke.2100</p>
</blockquote>

anon_coward
<p>This works, remember to use quotes on all annotation values since they are strings.</p>
<pre class="lang-yaml prettyprint-override"><code>apiVersion: &quot;extensions/v1beta1&quot;
kind: &quot;Ingress&quot;
metadata:
  annotations:
    kubernetes.io/ingress.allow-http: &quot;false&quot;
    kubernetes.io/ingress.global-static-ip-name: &quot;my-ingress-ip&quot;
  labels:
    app.kubernetes.io/instance: &quot;my-service-api&quot;
    app.kubernetes.io/managed-by: &quot;pulumi&quot;
    app.kubernetes.io/name: &quot;my-service-api&quot;
    app.kubernetes.io/version: &quot;1.0.0-service&quot;
    helm.sh/chart: &quot;service-0.1.0&quot;
  name: &quot;my-service-api-proxy&quot;
  namespace: &quot;load-test&quot;
spec:
  backend:
    serviceName: &quot;my-service-api-proxy&quot;
    servicePort: 80
  tls:
    - secretName: &quot;my-tls-secret-cert&quot;

</code></pre>
<p>Also if you are updating an existing Ingress, give it a few minutes (like 10) for it to pick up the changes</p>
