Kubernetes can't connect redis on Cluster-IP of service












0















I got on Google cloud this setup:




  • Pod and service with (php) web app

  • Pod and service with mysql server

  • Pod and service with redis server


Where kubernetes configuration file for mysql server and redis server are almost identical, only what differs is name, port and image.



I can connect mysql server from the web app but I can't connect redis server.



Also I can't connect redis server from web app on its service CLUSTER-IP but I can connect redis server on its pod IP.



apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: redis
spec:
replicas: 1
selector:
matchLabels:
app: redis
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: launcher.gcr.io/google/redis4
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 6379
env:
---
apiVersion: v1
kind: Service
metadata:
name: redis
labels:
app: redis
role: master
tier: backend
spec:
selector:
app: redis
role: master
tier: backend
ports:
- port: 6379
targetPort: 6379









share|improve this question





























    0















    I got on Google cloud this setup:




    • Pod and service with (php) web app

    • Pod and service with mysql server

    • Pod and service with redis server


    Where kubernetes configuration file for mysql server and redis server are almost identical, only what differs is name, port and image.



    I can connect mysql server from the web app but I can't connect redis server.



    Also I can't connect redis server from web app on its service CLUSTER-IP but I can connect redis server on its pod IP.



    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
    name: redis
    spec:
    replicas: 1
    selector:
    matchLabels:
    app: redis
    template:
    metadata:
    labels:
    app: redis
    spec:
    containers:
    - name: redis
    image: launcher.gcr.io/google/redis4
    resources:
    requests:
    cpu: 100m
    memory: 100Mi
    ports:
    - containerPort: 6379
    env:
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: redis
    labels:
    app: redis
    role: master
    tier: backend
    spec:
    selector:
    app: redis
    role: master
    tier: backend
    ports:
    - port: 6379
    targetPort: 6379









    share|improve this question



























      0












      0








      0


      1






      I got on Google cloud this setup:




      • Pod and service with (php) web app

      • Pod and service with mysql server

      • Pod and service with redis server


      Where kubernetes configuration file for mysql server and redis server are almost identical, only what differs is name, port and image.



      I can connect mysql server from the web app but I can't connect redis server.



      Also I can't connect redis server from web app on its service CLUSTER-IP but I can connect redis server on its pod IP.



      apiVersion: extensions/v1beta1
      kind: Deployment
      metadata:
      name: redis
      spec:
      replicas: 1
      selector:
      matchLabels:
      app: redis
      template:
      metadata:
      labels:
      app: redis
      spec:
      containers:
      - name: redis
      image: launcher.gcr.io/google/redis4
      resources:
      requests:
      cpu: 100m
      memory: 100Mi
      ports:
      - containerPort: 6379
      env:
      ---
      apiVersion: v1
      kind: Service
      metadata:
      name: redis
      labels:
      app: redis
      role: master
      tier: backend
      spec:
      selector:
      app: redis
      role: master
      tier: backend
      ports:
      - port: 6379
      targetPort: 6379









      share|improve this question
















      I got on Google cloud this setup:




      • Pod and service with (php) web app

      • Pod and service with mysql server

      • Pod and service with redis server


      Where kubernetes configuration file for mysql server and redis server are almost identical, only what differs is name, port and image.



      I can connect mysql server from the web app but I can't connect redis server.



      Also I can't connect redis server from web app on its service CLUSTER-IP but I can connect redis server on its pod IP.



      apiVersion: extensions/v1beta1
      kind: Deployment
      metadata:
      name: redis
      spec:
      replicas: 1
      selector:
      matchLabels:
      app: redis
      template:
      metadata:
      labels:
      app: redis
      spec:
      containers:
      - name: redis
      image: launcher.gcr.io/google/redis4
      resources:
      requests:
      cpu: 100m
      memory: 100Mi
      ports:
      - containerPort: 6379
      env:
      ---
      apiVersion: v1
      kind: Service
      metadata:
      name: redis
      labels:
      app: redis
      role: master
      tier: backend
      spec:
      selector:
      app: redis
      role: master
      tier: backend
      ports:
      - port: 6379
      targetPort: 6379






      redis kubernetes






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 1 at 11:46









      Cœur

      18.7k9110150




      18.7k9110150










      asked Mar 5 '18 at 1:10









      Andrej KourilAndrej Kouril

      13327




      13327
























          1 Answer
          1






          active

          oldest

          votes


















          3














          The deployment spec is missing some labels so the service is not selecting it.



          Current deployment spec:



          metadata:
          labels:
          app: redis


          include the other labels required by the service:



          metadata:
          labels:
          app: redis
          role: metadata
          tier: backend


          or depending on how you want to look at it the service spec is trying match labels that don't exist, you can change the service from:



            selector:
          app: redis
          role: master
          tier: backend


          to:



          selector:
          app: redis





          share|improve this answer
























          • Thank you very much. Both options works.

            – Andrej Kouril
            Mar 5 '18 at 11:26











          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%2f49102203%2fkubernetes-cant-connect-redis-on-cluster-ip-of-service%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









          3














          The deployment spec is missing some labels so the service is not selecting it.



          Current deployment spec:



          metadata:
          labels:
          app: redis


          include the other labels required by the service:



          metadata:
          labels:
          app: redis
          role: metadata
          tier: backend


          or depending on how you want to look at it the service spec is trying match labels that don't exist, you can change the service from:



            selector:
          app: redis
          role: master
          tier: backend


          to:



          selector:
          app: redis





          share|improve this answer
























          • Thank you very much. Both options works.

            – Andrej Kouril
            Mar 5 '18 at 11:26
















          3














          The deployment spec is missing some labels so the service is not selecting it.



          Current deployment spec:



          metadata:
          labels:
          app: redis


          include the other labels required by the service:



          metadata:
          labels:
          app: redis
          role: metadata
          tier: backend


          or depending on how you want to look at it the service spec is trying match labels that don't exist, you can change the service from:



            selector:
          app: redis
          role: master
          tier: backend


          to:



          selector:
          app: redis





          share|improve this answer
























          • Thank you very much. Both options works.

            – Andrej Kouril
            Mar 5 '18 at 11:26














          3












          3








          3







          The deployment spec is missing some labels so the service is not selecting it.



          Current deployment spec:



          metadata:
          labels:
          app: redis


          include the other labels required by the service:



          metadata:
          labels:
          app: redis
          role: metadata
          tier: backend


          or depending on how you want to look at it the service spec is trying match labels that don't exist, you can change the service from:



            selector:
          app: redis
          role: master
          tier: backend


          to:



          selector:
          app: redis





          share|improve this answer













          The deployment spec is missing some labels so the service is not selecting it.



          Current deployment spec:



          metadata:
          labels:
          app: redis


          include the other labels required by the service:



          metadata:
          labels:
          app: redis
          role: metadata
          tier: backend


          or depending on how you want to look at it the service spec is trying match labels that don't exist, you can change the service from:



            selector:
          app: redis
          role: master
          tier: backend


          to:



          selector:
          app: redis






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 5 '18 at 1:48









          stacksonstacksstacksonstacks

          2,577923




          2,577923













          • Thank you very much. Both options works.

            – Andrej Kouril
            Mar 5 '18 at 11:26



















          • Thank you very much. Both options works.

            – Andrej Kouril
            Mar 5 '18 at 11:26

















          Thank you very much. Both options works.

          – Andrej Kouril
          Mar 5 '18 at 11:26





          Thank you very much. Both options works.

          – Andrej Kouril
          Mar 5 '18 at 11:26




















          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%2f49102203%2fkubernetes-cant-connect-redis-on-cluster-ip-of-service%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

          How to fix TextFormField cause rebuild widget in Flutter

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