AWS ELB not created from kubectl create LoadBalancer service yml command

I am following along with a Udemy Kubernetes course. In it the presenter creates a LoadBalancer Service on his Kubernetes stack which in turn automatically creates an AWS LoadBalancer. I did the same as him on my Rancher Kubernetes cluster but the ELB is not created.

I ran the command:

kubectl create service -f first-app/helloworld-service.yml

Using the following yml file:

apiVersion: v1
kind: Service
name: helloworld-service

  • port: 80
    targetPort: nodejs-port
    protocol: TCP
    app: helloworld
    type: LoadBalancer

After running this if I then run the command:

kubectl describe service helloworld-service

I get:

Name: helloworld-service
Namespace: default
Selector: app=helloworld
Type: LoadBalancer
LoadBalancer Ingress:
Port: 80/TCP
NodePort: 31915/TCP
Session Affinity: None
FirstSeen LastSeen Count From SubObjectPath Type Reason Message

28m 28m 1 {service-controller } Normal CreatingLoadBalancer Creating load balancer
28m 28m 1 {service-controller } Normal CreatedLoadBalancer Created load balancer

Any idea what is going on? I am not sure how to resolve this.

Actually If I hit then I get the response I am looking for. I think I need to read up on how Rancher does it’s Load Balancing.

If you launch k8s with cloud provider = rancher (which is default), then it would use rancher’s load balancer, not creating AWS ELB.