Kubernetes - SSL docker Nodejs












0















I am new to K8s and this is my first time trying to get to grips with it. I am trying to set up a basic Nodejs Express API using this deployment.yml



kind: Service
apiVersion: v1
metadata:
name: ${GCP_PROJECT_NAME}
spec:
selector:
app: ${GCP_PROJECT_NAME}
ports:
- protocol: TCP
port: 80
targetPort: 3000
type: LoadBalancer
loadBalancerIP: ${STATIC_IP_ADDRESS}
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: ${GCP_PROJECT_NAME}
labels:
app: ${GCP_PROJECT_NAME}
spec:
replicas: 1
selector:
matchLabels:
app: ${GCP_PROJECT_NAME}
template:
metadata:
labels:
app: ${GCP_PROJECT_NAME}
spec:
containers:
- name: ${GCP_PROJECT_NAME}
image: gcr.io/${GCP_PROJECT_ID}/${GCP_PROJECT_NAME}:${CIRCLE_SHA1}
ports:
- name: http
containerPort: 3000
protocol: TCP
env:
- name: MONGO_URL_PROD
value: $MONGO_URL_PROD


Everything works great with this setup and deploys to Kubernetes. When I hit my endpoint i.e. http://123.345.333.123 as expected there is no SSL.



I generated my SSL certificates and tried to follow this tutorial [https://vorozhko.net/kubernetes-sidecar-pattern-nginx-ssl-proxy-for-nodejs] but I wasn't able to. Could anyone point me in the right direction, what am I doing wrong or what am I missing?










share|improve this question





























    0















    I am new to K8s and this is my first time trying to get to grips with it. I am trying to set up a basic Nodejs Express API using this deployment.yml



    kind: Service
    apiVersion: v1
    metadata:
    name: ${GCP_PROJECT_NAME}
    spec:
    selector:
    app: ${GCP_PROJECT_NAME}
    ports:
    - protocol: TCP
    port: 80
    targetPort: 3000
    type: LoadBalancer
    loadBalancerIP: ${STATIC_IP_ADDRESS}
    ---
    apiVersion: apps/v1beta1
    kind: Deployment
    metadata:
    name: ${GCP_PROJECT_NAME}
    labels:
    app: ${GCP_PROJECT_NAME}
    spec:
    replicas: 1
    selector:
    matchLabels:
    app: ${GCP_PROJECT_NAME}
    template:
    metadata:
    labels:
    app: ${GCP_PROJECT_NAME}
    spec:
    containers:
    - name: ${GCP_PROJECT_NAME}
    image: gcr.io/${GCP_PROJECT_ID}/${GCP_PROJECT_NAME}:${CIRCLE_SHA1}
    ports:
    - name: http
    containerPort: 3000
    protocol: TCP
    env:
    - name: MONGO_URL_PROD
    value: $MONGO_URL_PROD


    Everything works great with this setup and deploys to Kubernetes. When I hit my endpoint i.e. http://123.345.333.123 as expected there is no SSL.



    I generated my SSL certificates and tried to follow this tutorial [https://vorozhko.net/kubernetes-sidecar-pattern-nginx-ssl-proxy-for-nodejs] but I wasn't able to. Could anyone point me in the right direction, what am I doing wrong or what am I missing?










    share|improve this question



























      0












      0








      0








      I am new to K8s and this is my first time trying to get to grips with it. I am trying to set up a basic Nodejs Express API using this deployment.yml



      kind: Service
      apiVersion: v1
      metadata:
      name: ${GCP_PROJECT_NAME}
      spec:
      selector:
      app: ${GCP_PROJECT_NAME}
      ports:
      - protocol: TCP
      port: 80
      targetPort: 3000
      type: LoadBalancer
      loadBalancerIP: ${STATIC_IP_ADDRESS}
      ---
      apiVersion: apps/v1beta1
      kind: Deployment
      metadata:
      name: ${GCP_PROJECT_NAME}
      labels:
      app: ${GCP_PROJECT_NAME}
      spec:
      replicas: 1
      selector:
      matchLabels:
      app: ${GCP_PROJECT_NAME}
      template:
      metadata:
      labels:
      app: ${GCP_PROJECT_NAME}
      spec:
      containers:
      - name: ${GCP_PROJECT_NAME}
      image: gcr.io/${GCP_PROJECT_ID}/${GCP_PROJECT_NAME}:${CIRCLE_SHA1}
      ports:
      - name: http
      containerPort: 3000
      protocol: TCP
      env:
      - name: MONGO_URL_PROD
      value: $MONGO_URL_PROD


      Everything works great with this setup and deploys to Kubernetes. When I hit my endpoint i.e. http://123.345.333.123 as expected there is no SSL.



      I generated my SSL certificates and tried to follow this tutorial [https://vorozhko.net/kubernetes-sidecar-pattern-nginx-ssl-proxy-for-nodejs] but I wasn't able to. Could anyone point me in the right direction, what am I doing wrong or what am I missing?










      share|improve this question
















      I am new to K8s and this is my first time trying to get to grips with it. I am trying to set up a basic Nodejs Express API using this deployment.yml



      kind: Service
      apiVersion: v1
      metadata:
      name: ${GCP_PROJECT_NAME}
      spec:
      selector:
      app: ${GCP_PROJECT_NAME}
      ports:
      - protocol: TCP
      port: 80
      targetPort: 3000
      type: LoadBalancer
      loadBalancerIP: ${STATIC_IP_ADDRESS}
      ---
      apiVersion: apps/v1beta1
      kind: Deployment
      metadata:
      name: ${GCP_PROJECT_NAME}
      labels:
      app: ${GCP_PROJECT_NAME}
      spec:
      replicas: 1
      selector:
      matchLabels:
      app: ${GCP_PROJECT_NAME}
      template:
      metadata:
      labels:
      app: ${GCP_PROJECT_NAME}
      spec:
      containers:
      - name: ${GCP_PROJECT_NAME}
      image: gcr.io/${GCP_PROJECT_ID}/${GCP_PROJECT_NAME}:${CIRCLE_SHA1}
      ports:
      - name: http
      containerPort: 3000
      protocol: TCP
      env:
      - name: MONGO_URL_PROD
      value: $MONGO_URL_PROD


      Everything works great with this setup and deploys to Kubernetes. When I hit my endpoint i.e. http://123.345.333.123 as expected there is no SSL.



      I generated my SSL certificates and tried to follow this tutorial [https://vorozhko.net/kubernetes-sidecar-pattern-nginx-ssl-proxy-for-nodejs] but I wasn't able to. Could anyone point me in the right direction, what am I doing wrong or what am I missing?







      node.js docker kubernetes google-compute-engine google-container-engine






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 20 '18 at 5:44









      Rico

      26.9k94865




      26.9k94865










      asked Nov 20 '18 at 3:35









      Software NinjaSoftware Ninja

      135




      135
























          2 Answers
          2






          active

          oldest

          votes


















          1














          You can use nginx ingress controller to handle all your SSL setup and usage. Following is a step by step guide to do so:



          https://dgkanatsios.com/2017/07/07/using-ssl-for-a-service-hosted-on-a-kubernetes-cluster/



          Hope this helps.






          share|improve this answer
























          • I will give it a try. Thanks :)

            – Software Ninja
            Nov 20 '18 at 3:59



















          0














          This approach didnt work for me. Ingress was not able to get the Cluster IP, it shows <none>






          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%2f53385844%2fkubernetes-ssl-docker-nodejs%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1














            You can use nginx ingress controller to handle all your SSL setup and usage. Following is a step by step guide to do so:



            https://dgkanatsios.com/2017/07/07/using-ssl-for-a-service-hosted-on-a-kubernetes-cluster/



            Hope this helps.






            share|improve this answer
























            • I will give it a try. Thanks :)

              – Software Ninja
              Nov 20 '18 at 3:59
















            1














            You can use nginx ingress controller to handle all your SSL setup and usage. Following is a step by step guide to do so:



            https://dgkanatsios.com/2017/07/07/using-ssl-for-a-service-hosted-on-a-kubernetes-cluster/



            Hope this helps.






            share|improve this answer
























            • I will give it a try. Thanks :)

              – Software Ninja
              Nov 20 '18 at 3:59














            1












            1








            1







            You can use nginx ingress controller to handle all your SSL setup and usage. Following is a step by step guide to do so:



            https://dgkanatsios.com/2017/07/07/using-ssl-for-a-service-hosted-on-a-kubernetes-cluster/



            Hope this helps.






            share|improve this answer













            You can use nginx ingress controller to handle all your SSL setup and usage. Following is a step by step guide to do so:



            https://dgkanatsios.com/2017/07/07/using-ssl-for-a-service-hosted-on-a-kubernetes-cluster/



            Hope this helps.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 20 '18 at 3:55









            Prafull LadhaPrafull Ladha

            2,774320




            2,774320













            • I will give it a try. Thanks :)

              – Software Ninja
              Nov 20 '18 at 3:59



















            • I will give it a try. Thanks :)

              – Software Ninja
              Nov 20 '18 at 3:59

















            I will give it a try. Thanks :)

            – Software Ninja
            Nov 20 '18 at 3:59





            I will give it a try. Thanks :)

            – Software Ninja
            Nov 20 '18 at 3:59













            0














            This approach didnt work for me. Ingress was not able to get the Cluster IP, it shows <none>






            share|improve this answer




























              0














              This approach didnt work for me. Ingress was not able to get the Cluster IP, it shows <none>






              share|improve this answer


























                0












                0








                0







                This approach didnt work for me. Ingress was not able to get the Cluster IP, it shows <none>






                share|improve this answer













                This approach didnt work for me. Ingress was not able to get the Cluster IP, it shows <none>







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 21 '18 at 15:14









                Software NinjaSoftware Ninja

                45213




                45213






























                    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%2f53385844%2fkubernetes-ssl-docker-nodejs%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

                    MongoDB - Not Authorized To Execute Command

                    Npm cannot find a required file even through it is in the searched directory

                    in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith