<p>I have 6 Pods, Each Pod application listen from differnt port and Each Pod has it own IP address.</p>
<p>I have Kubernetes LoadBalancer service (Azure LoadBalancer) with defined static IP address.</p>
<p>I Can  access app1 application with LoadBalancer IP 10.1.1.100 with port number 9111 (app 1 listen from 9111 port)</p>
<p>Now I have app2 which listen from port 9112, is it possible, where I can access same Loader Balancer IP that is 10.1.1.100 with 9112. If Yes. How to implement the service</p>
<p>My current service maniest file</p>
<pre><code>apiVersion: v1
kind: Service
metadata:
  name: &quot;app1-service&quot;
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: &quot;true&quot;
spec:
  selector:
    app: app1
  type: LoadBalancer
  loadBalancerIP: 10.1.1.100
  ports:
    - port: 9111
</code></pre>
<p>app1 deployment file</p>
<pre><code>apiVersion: apps/v1
kind: Deployment
metadata:
  name: &quot;app1-deployment&quot;
  labels:
    app: app1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: app1
  template:
    metadata:
      labels:
        app: app1
    spec:
      imagePullSecrets:
        - name: image-secrets
      containers:
        - name: inaudiotools
          securityContext:
            {}
          image: myregitry.io/app1:latest
          imagePullPolicy: Always
          ports:
          - containerPort: 9111
</code></pre>
<p>app2 deployment file</p>
<pre><code>apiVersion: apps/v1
kind: Deployment
metadata:
  name: &quot;app2-deployment&quot;
  labels:
    app: app2
spec:
  replicas: 1
  selector:
    matchLabels:
      app: app2
  template:
    metadata:
      labels:
        app: app2
    spec:
      imagePullSecrets:
        - name: imqge-secrets
      containers:
        - name: inaudiotools
          securityContext:
            {}
          image: myregitry.io/app2:latest
          imagePullPolicy: Always
          ports:
          - containerPort: 9112
          
</code></pre>

Vidya 
<p>There are different ways to expose a service to external traffic</p>
<ul>
<li>Cluster IP service : Default service that K8 creates for accessing the pods. Service can be exposed using kube proxy . Good for starters but not suitable for production.</li>
<li>Node port: Exposes a service from a specific Node port. Good for demo purpose however will lead to scalability &amp; maintainability issues.</li>
<li>Load balancer type: Standard way to expose a service that creates a Network load balancer and exposes your service externally. This is what you have used too.</li>
<li>Ingress : Not actually a service but a reverse proxy that sits in middle of the Load balancer and multiple services in K8, for e.g nginx. The reverse proxy is capable of forwarding the requests to any service based on url pattern, host. Say in your case app1 uses <a href="https://host1.abc.com" rel="nofollow noreferrer">https://host1.abc.com</a> host name &amp; app2 uses <a href="https://host2.abc.com" rel="nofollow noreferrer">https://host2.abc.com</a> name, nginx will be able to route requests to app1 when incoming host name is host1.abc.com and to app2 when incoming host name is host2.abc.com. Most preferred way for production workloads.</li>
</ul>
<p>To answer your specific query, in case you want to proceed with a Load balancer type only , you need to create a new Load balancer type service that routes the traffic to app2.</p>
<pre><code>apiVersion: v1
kind: Service
metadata:
  name: &quot;app2-service&quot;
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: &quot;true&quot;
spec:
  selector:
    app: app2
  type: LoadBalancer
  loadBalancerIP: 10.1.2.100
  ports:
    - port: 9112
</code></pre>
<p>This will create a new LB with a new static public IP and will route the requests to app2.</p>
<p>The downside is</p>
<ul>
<li>Cost as in this case Azure will spin a new load balancer for each service.</li>
<li>Maintenance : New DNS record for every service instead of one per domain.</li>
</ul>
