Kubernetes – When to use Which ServiceTypes?

0

Kubernetes supports different kinds of service types such as following:

  • ClusterIP: The service of type, ClusterIP, can only be exposed to other services running within the same Kubernetes cluster. The default ServiceType is ClusterIP.
    kind: Service
    apiVersion: v1
    metadata:
      name: hello-service
    spec:
      selector:
        app: HelloApp
      ports:
      - protocol: TCP
        port: 80
        targetPort: 9376
        nodePort: 30061
    
  • NodePort: The service of type, NodePort, can be exposed externally at a static port. The service address would look like  NodeIP:NodePort. External APIs can invoke the NodePort services.
  • LoadBalancer: The service of type, LoadBalancer, can be exposed externally using cloud providers’ load balancer.
    kind: Service
    apiVersion: v1
    metadata:
      name: hello-service
    spec:
      selector:
        app: HelloApp
      ports:
      - protocol: TCP
        port: 80
        targetPort: 9376
        nodePort: 30061
      clusterIP: 10.0.171.239
      loadBalancerIP: 78.11.24.19
      type: LoadBalancer
    status:
      loadBalancer:
        ingress:
        - ip: 146.148.47.155
    
  • ExternalName: The service of type, ExternalName, is mapped to an external name, such as helloapp.vitalflux.com.
Ajitesh Kumar

Ajitesh Kumar

Ajitesh has been recently working in the area of AI and machine learning. Currently, his research area includes Safe & Quality AI. In addition, he is also passionate about various different technologies including programming languages such as Java/JEE, Javascript and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data etc.

He has also authored the book, Building Web Apps with Spring 5 and Angular.
Ajitesh Kumar

Leave A Reply

Time limit is exhausted. Please reload the CAPTCHA.