digitalocean kubernetes loadbalancer












1















I have deployed my app on the limited available Kubernetes cluster on DigitalOcean.
I have a spring boot app with a service exposed on port 31744 for external using nodeport service config.



I created a Loadbalancer using the yaml config per DO link doc: https://www.digitalocean.com/docs/kubernetes/how-to/add-load-balancer/



However, I am not able to hook up to my service. Can you advise on how it can be done so I can access my service from the loadbalancer?



The following is my "kubectl get svc" output for my app service:



NAME                   TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)          AGE
my-springboot NodePort 10.245.6.216 <none> 8080:31744/TCP 2d18h
kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 3d20h
sample-load-balancer LoadBalancer 10.245.53.168 58.183.251.550 80:30495/TCP 2m6s


The following is my loadbalancer.yaml:



apiVersion: v1
kind: Service
metadata:
name: sample-load-balancer
spec:
type: LoadBalancer
ports:
- protocol: TCP
port: 80
targetPort: 31744
name: http


My service.yaml:



apiVersion: v1
kind: Service
metadata:
name: my-springboot
labels:
app: my-springboot
tier: backend
spec:
type: NodePort
ports:
# the port that this service should serve on
- port: 8080
selector:
app: my-springboot
tier: backend


Thanks










share|improve this question

























  • So what happens when you hit the External IP that is shown in Service command?

    – Vishal Biyani
    Dec 31 '18 at 6:04











  • @Sonam, Can you share service configuration?

    – mk_sta
    Dec 31 '18 at 13:01











  • There is no content output on that external ip at all.

    – Sonam
    Dec 31 '18 at 17:07
















1















I have deployed my app on the limited available Kubernetes cluster on DigitalOcean.
I have a spring boot app with a service exposed on port 31744 for external using nodeport service config.



I created a Loadbalancer using the yaml config per DO link doc: https://www.digitalocean.com/docs/kubernetes/how-to/add-load-balancer/



However, I am not able to hook up to my service. Can you advise on how it can be done so I can access my service from the loadbalancer?



The following is my "kubectl get svc" output for my app service:



NAME                   TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)          AGE
my-springboot NodePort 10.245.6.216 <none> 8080:31744/TCP 2d18h
kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 3d20h
sample-load-balancer LoadBalancer 10.245.53.168 58.183.251.550 80:30495/TCP 2m6s


The following is my loadbalancer.yaml:



apiVersion: v1
kind: Service
metadata:
name: sample-load-balancer
spec:
type: LoadBalancer
ports:
- protocol: TCP
port: 80
targetPort: 31744
name: http


My service.yaml:



apiVersion: v1
kind: Service
metadata:
name: my-springboot
labels:
app: my-springboot
tier: backend
spec:
type: NodePort
ports:
# the port that this service should serve on
- port: 8080
selector:
app: my-springboot
tier: backend


Thanks










share|improve this question

























  • So what happens when you hit the External IP that is shown in Service command?

    – Vishal Biyani
    Dec 31 '18 at 6:04











  • @Sonam, Can you share service configuration?

    – mk_sta
    Dec 31 '18 at 13:01











  • There is no content output on that external ip at all.

    – Sonam
    Dec 31 '18 at 17:07














1












1








1








I have deployed my app on the limited available Kubernetes cluster on DigitalOcean.
I have a spring boot app with a service exposed on port 31744 for external using nodeport service config.



I created a Loadbalancer using the yaml config per DO link doc: https://www.digitalocean.com/docs/kubernetes/how-to/add-load-balancer/



However, I am not able to hook up to my service. Can you advise on how it can be done so I can access my service from the loadbalancer?



The following is my "kubectl get svc" output for my app service:



NAME                   TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)          AGE
my-springboot NodePort 10.245.6.216 <none> 8080:31744/TCP 2d18h
kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 3d20h
sample-load-balancer LoadBalancer 10.245.53.168 58.183.251.550 80:30495/TCP 2m6s


The following is my loadbalancer.yaml:



apiVersion: v1
kind: Service
metadata:
name: sample-load-balancer
spec:
type: LoadBalancer
ports:
- protocol: TCP
port: 80
targetPort: 31744
name: http


My service.yaml:



apiVersion: v1
kind: Service
metadata:
name: my-springboot
labels:
app: my-springboot
tier: backend
spec:
type: NodePort
ports:
# the port that this service should serve on
- port: 8080
selector:
app: my-springboot
tier: backend


Thanks










share|improve this question
















I have deployed my app on the limited available Kubernetes cluster on DigitalOcean.
I have a spring boot app with a service exposed on port 31744 for external using nodeport service config.



I created a Loadbalancer using the yaml config per DO link doc: https://www.digitalocean.com/docs/kubernetes/how-to/add-load-balancer/



However, I am not able to hook up to my service. Can you advise on how it can be done so I can access my service from the loadbalancer?



The following is my "kubectl get svc" output for my app service:



NAME                   TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)          AGE
my-springboot NodePort 10.245.6.216 <none> 8080:31744/TCP 2d18h
kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 3d20h
sample-load-balancer LoadBalancer 10.245.53.168 58.183.251.550 80:30495/TCP 2m6s


The following is my loadbalancer.yaml:



apiVersion: v1
kind: Service
metadata:
name: sample-load-balancer
spec:
type: LoadBalancer
ports:
- protocol: TCP
port: 80
targetPort: 31744
name: http


My service.yaml:



apiVersion: v1
kind: Service
metadata:
name: my-springboot
labels:
app: my-springboot
tier: backend
spec:
type: NodePort
ports:
# the port that this service should serve on
- port: 8080
selector:
app: my-springboot
tier: backend


Thanks







kubernetes digital-ocean






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 31 '18 at 17:05







Sonam

















asked Dec 31 '18 at 4:03









SonamSonam

313219




313219













  • So what happens when you hit the External IP that is shown in Service command?

    – Vishal Biyani
    Dec 31 '18 at 6:04











  • @Sonam, Can you share service configuration?

    – mk_sta
    Dec 31 '18 at 13:01











  • There is no content output on that external ip at all.

    – Sonam
    Dec 31 '18 at 17:07



















  • So what happens when you hit the External IP that is shown in Service command?

    – Vishal Biyani
    Dec 31 '18 at 6:04











  • @Sonam, Can you share service configuration?

    – mk_sta
    Dec 31 '18 at 13:01











  • There is no content output on that external ip at all.

    – Sonam
    Dec 31 '18 at 17:07

















So what happens when you hit the External IP that is shown in Service command?

– Vishal Biyani
Dec 31 '18 at 6:04





So what happens when you hit the External IP that is shown in Service command?

– Vishal Biyani
Dec 31 '18 at 6:04













@Sonam, Can you share service configuration?

– mk_sta
Dec 31 '18 at 13:01





@Sonam, Can you share service configuration?

– mk_sta
Dec 31 '18 at 13:01













There is no content output on that external ip at all.

– Sonam
Dec 31 '18 at 17:07





There is no content output on that external ip at all.

– Sonam
Dec 31 '18 at 17:07












1 Answer
1






active

oldest

votes


















1














To expose your service using LoadBalancer instead of NodePort you need to provide type in service as LoadBalancer. So your new service config yaml will be:



apiVersion: v1
kind: Service
metadata:
name: my-springboot
labels:
app: my-springboot
tier: backend
spec:
type: LoadBalancer
ports:
# the port that this service should serve on
- port: 8080
selector:
app: my-springboot
tier: backend


Once you apply the above service yaml file, you will get the external IP in kubectl get svc which can be used to access the service from outside the kubernetes cluster.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53983478%2fdigitalocean-kubernetes-loadbalancer%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    To expose your service using LoadBalancer instead of NodePort you need to provide type in service as LoadBalancer. So your new service config yaml will be:



    apiVersion: v1
    kind: Service
    metadata:
    name: my-springboot
    labels:
    app: my-springboot
    tier: backend
    spec:
    type: LoadBalancer
    ports:
    # the port that this service should serve on
    - port: 8080
    selector:
    app: my-springboot
    tier: backend


    Once you apply the above service yaml file, you will get the external IP in kubectl get svc which can be used to access the service from outside the kubernetes cluster.






    share|improve this answer




























      1














      To expose your service using LoadBalancer instead of NodePort you need to provide type in service as LoadBalancer. So your new service config yaml will be:



      apiVersion: v1
      kind: Service
      metadata:
      name: my-springboot
      labels:
      app: my-springboot
      tier: backend
      spec:
      type: LoadBalancer
      ports:
      # the port that this service should serve on
      - port: 8080
      selector:
      app: my-springboot
      tier: backend


      Once you apply the above service yaml file, you will get the external IP in kubectl get svc which can be used to access the service from outside the kubernetes cluster.






      share|improve this answer


























        1












        1








        1







        To expose your service using LoadBalancer instead of NodePort you need to provide type in service as LoadBalancer. So your new service config yaml will be:



        apiVersion: v1
        kind: Service
        metadata:
        name: my-springboot
        labels:
        app: my-springboot
        tier: backend
        spec:
        type: LoadBalancer
        ports:
        # the port that this service should serve on
        - port: 8080
        selector:
        app: my-springboot
        tier: backend


        Once you apply the above service yaml file, you will get the external IP in kubectl get svc which can be used to access the service from outside the kubernetes cluster.






        share|improve this answer













        To expose your service using LoadBalancer instead of NodePort you need to provide type in service as LoadBalancer. So your new service config yaml will be:



        apiVersion: v1
        kind: Service
        metadata:
        name: my-springboot
        labels:
        app: my-springboot
        tier: backend
        spec:
        type: LoadBalancer
        ports:
        # the port that this service should serve on
        - port: 8080
        selector:
        app: my-springboot
        tier: backend


        Once you apply the above service yaml file, you will get the external IP in kubectl get svc which can be used to access the service from outside the kubernetes cluster.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 1 at 4:30









        Prafull LadhaPrafull Ladha

        3,140320




        3,140320






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53983478%2fdigitalocean-kubernetes-loadbalancer%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Monofisismo

            Angular Downloading a file using contenturl with Basic Authentication

            Olmecas