<p>aws-load-balancer-scheme: internal does not create an NLB, no error, it just never creates the NLB</p>
<p>If I use the deprecated service.beta.kubernetes.io/aws-load-balancer-internal: &quot;true&quot;, it works fine.</p>
<p>However, the annotation documentation says to use scheme instead.</p>
<p>Here is my full code:</p>
<pre><code>apiVersion: v1
kind: Service
metadata:
  name: nlb-sample-service1
  namespace: test
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: instance
    service.beta.kubernetes.io/aws-load-balancer-scheme: internal
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
    service.beta.kubernetes.io/aws-load-balancer-type: nlb

spec:
  ports:
    - port: 80
      targetPort: 80
      protocol: TCP
  type: LoadBalancer
  selector:
    app: nginx
</code></pre>
<p>I've tried a number of different variations of that, nothing I tried works when scheme is used.</p>
<p>What am I missing here?</p>
<p>Is there any way to get an error?  kubectl create -f service-file.yaml runs without any errors to stdout.</p>
<p>Thanks in advance.</p>

<p>You need to use load balancer type <code>external</code> along with <code>internal</code> scheme as shown below:</p>
<pre><code>service.beta.kubernetes.io/aws-load-balancer-type: external
service.beta.kubernetes.io/aws-load-balancer-scheme: internal
</code></pre>
<p>For details, please refer to <a href="https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/service/nlb/" rel="nofollow noreferrer">kubernetes doc</a></p>
