<p>I have an AKS cluster with default settings. I'm trying to create a very simple Deployment/Service. The Service is type LoadBlanacer. I see the service is created, however I cannot curl the service public IP. I don't even get an error, curl just hangs.</p>
<pre><code>$ kubectl get all --show-labels
NAME                         READY   STATUS    RESTARTS   AGE    LABELS
pod/myapp-79579b5b68-npb2g   1/1     Running   0          104m   app=myapp,pod-template-hash=79579b5b68

NAME                    TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)          AGE    LABELS
service/kubernetes      ClusterIP      10.0.0.1       &lt;none&gt;          443/TCP          26h    component=apiserver,provider=kubernetes
service/myapp-service   LoadBalancer   10.0.223.167   $PUBLIC_IP   8080:31000/TCP   104m   &lt;none&gt;

NAME                    READY   UP-TO-DATE   AVAILABLE   AGE    LABELS
deployment.apps/myapp   1/1     1            1           104m   app=myapp

NAME                               DESIRED   CURRENT   READY   AGE    LABELS
replicaset.apps/myapp-79579b5b68   1         1         1       104m   app=myapp,pod-template-hash=79579b5b68
</code></pre>
<pre><code>apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
  labels:
    app: myapp
spec:
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: nginx:latest
        resources:
          limits:
            memory: &quot;128Mi&quot;
            cpu: &quot;500m&quot;
        ports:
        - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: myapp-service
  labels:
    app: myapp
spec:
  selector:
    app: myapp
  type: LoadBalancer
  ports:
  - port: 8080
    targetPort: 8080 # container port of Deployment; kubectl describe pod &lt;podname&gt; | grep Port
    nodePort: 31000 # http://external-ip:nodePort
</code></pre>

Timothy Pulliam
<p>Depending on your requirements, you can create <a href="https://learn.microsoft.com/en-us/azure/aks/internal-lb" rel="nofollow noreferrer">internal</a> or <a href="https://learn.microsoft.com/en-us/azure/aks/load-balancer-standard" rel="nofollow noreferrer">public</a> load balancer attached to application service. Post that you can access the service from outside the k8s cluster.</p>
