Keep getting permissions error gcloud.container.clusters.get-credentials











up vote
1
down vote

favorite












I am trying to integrate CircleCi with gcloud Kubernetes engine.




  1. I created a service account with Kubernetes Engine Developer and Storage Admin roles.

  2. Created CircleCi yaml file and configured CI.


Part of my yaml file includes:



docker:
- image: google/cloud-sdk
environment:
- PROJECT_NAME: 'my-project'
- GOOGLE_PROJECT_ID: 'my-project-112233'
- GOOGLE_COMPUTE_ZONE: 'us-central1-a'
- GOOGLE_CLUSTER_NAME: 'my-project-bed'
steps:
- checkout
- run:
name: Setup Google Cloud SDK
command: |
apt-get install -qq -y gettext
echo $GCLOUD_SERVICE_KEY > ${HOME}/gcloud-service-key.json
gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
gcloud --quiet config set project ${GOOGLE_PROJECT_ID}
gcloud --quiet config set compute/zone ${GOOGLE_COMPUTE_ZONE}
gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}


Everything runs perfectly except that the last command:



gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}


It keeps failing with the error:



ERROR: (gcloud.container.clusters.get-credentials) ResponseError: code=403, message=Required "container.clusters.get" permission(s) for "projects/my-project-112233/zones/us-central1-a/clusters/my-project-bed". See https://cloud.google.com/kubernetes-engine/docs/troubleshooting#gke_service_account_deleted for more info.


I tried to give the ci account the role of project owner but I still got that error.



I tried to disable and re-enable the Kubernetes Service but it didn't help.



Any idea how to solve this? I am trying to solve it for 4 days...










share|improve this question




























    up vote
    1
    down vote

    favorite












    I am trying to integrate CircleCi with gcloud Kubernetes engine.




    1. I created a service account with Kubernetes Engine Developer and Storage Admin roles.

    2. Created CircleCi yaml file and configured CI.


    Part of my yaml file includes:



    docker:
    - image: google/cloud-sdk
    environment:
    - PROJECT_NAME: 'my-project'
    - GOOGLE_PROJECT_ID: 'my-project-112233'
    - GOOGLE_COMPUTE_ZONE: 'us-central1-a'
    - GOOGLE_CLUSTER_NAME: 'my-project-bed'
    steps:
    - checkout
    - run:
    name: Setup Google Cloud SDK
    command: |
    apt-get install -qq -y gettext
    echo $GCLOUD_SERVICE_KEY > ${HOME}/gcloud-service-key.json
    gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
    gcloud --quiet config set project ${GOOGLE_PROJECT_ID}
    gcloud --quiet config set compute/zone ${GOOGLE_COMPUTE_ZONE}
    gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}


    Everything runs perfectly except that the last command:



    gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}


    It keeps failing with the error:



    ERROR: (gcloud.container.clusters.get-credentials) ResponseError: code=403, message=Required "container.clusters.get" permission(s) for "projects/my-project-112233/zones/us-central1-a/clusters/my-project-bed". See https://cloud.google.com/kubernetes-engine/docs/troubleshooting#gke_service_account_deleted for more info.


    I tried to give the ci account the role of project owner but I still got that error.



    I tried to disable and re-enable the Kubernetes Service but it didn't help.



    Any idea how to solve this? I am trying to solve it for 4 days...










    share|improve this question


























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      I am trying to integrate CircleCi with gcloud Kubernetes engine.




      1. I created a service account with Kubernetes Engine Developer and Storage Admin roles.

      2. Created CircleCi yaml file and configured CI.


      Part of my yaml file includes:



      docker:
      - image: google/cloud-sdk
      environment:
      - PROJECT_NAME: 'my-project'
      - GOOGLE_PROJECT_ID: 'my-project-112233'
      - GOOGLE_COMPUTE_ZONE: 'us-central1-a'
      - GOOGLE_CLUSTER_NAME: 'my-project-bed'
      steps:
      - checkout
      - run:
      name: Setup Google Cloud SDK
      command: |
      apt-get install -qq -y gettext
      echo $GCLOUD_SERVICE_KEY > ${HOME}/gcloud-service-key.json
      gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
      gcloud --quiet config set project ${GOOGLE_PROJECT_ID}
      gcloud --quiet config set compute/zone ${GOOGLE_COMPUTE_ZONE}
      gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}


      Everything runs perfectly except that the last command:



      gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}


      It keeps failing with the error:



      ERROR: (gcloud.container.clusters.get-credentials) ResponseError: code=403, message=Required "container.clusters.get" permission(s) for "projects/my-project-112233/zones/us-central1-a/clusters/my-project-bed". See https://cloud.google.com/kubernetes-engine/docs/troubleshooting#gke_service_account_deleted for more info.


      I tried to give the ci account the role of project owner but I still got that error.



      I tried to disable and re-enable the Kubernetes Service but it didn't help.



      Any idea how to solve this? I am trying to solve it for 4 days...










      share|improve this question















      I am trying to integrate CircleCi with gcloud Kubernetes engine.




      1. I created a service account with Kubernetes Engine Developer and Storage Admin roles.

      2. Created CircleCi yaml file and configured CI.


      Part of my yaml file includes:



      docker:
      - image: google/cloud-sdk
      environment:
      - PROJECT_NAME: 'my-project'
      - GOOGLE_PROJECT_ID: 'my-project-112233'
      - GOOGLE_COMPUTE_ZONE: 'us-central1-a'
      - GOOGLE_CLUSTER_NAME: 'my-project-bed'
      steps:
      - checkout
      - run:
      name: Setup Google Cloud SDK
      command: |
      apt-get install -qq -y gettext
      echo $GCLOUD_SERVICE_KEY > ${HOME}/gcloud-service-key.json
      gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
      gcloud --quiet config set project ${GOOGLE_PROJECT_ID}
      gcloud --quiet config set compute/zone ${GOOGLE_COMPUTE_ZONE}
      gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}


      Everything runs perfectly except that the last command:



      gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}


      It keeps failing with the error:



      ERROR: (gcloud.container.clusters.get-credentials) ResponseError: code=403, message=Required "container.clusters.get" permission(s) for "projects/my-project-112233/zones/us-central1-a/clusters/my-project-bed". See https://cloud.google.com/kubernetes-engine/docs/troubleshooting#gke_service_account_deleted for more info.


      I tried to give the ci account the role of project owner but I still got that error.



      I tried to disable and re-enable the Kubernetes Service but it didn't help.



      Any idea how to solve this? I am trying to solve it for 4 days...







      kubernetes gcloud circleci google-kubernetes-engine






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 21 at 22:42









      Rico

      24.8k94864




      24.8k94864










      asked Nov 21 at 21:43









      Naor

      9,75434116223




      9,75434116223
























          2 Answers
          2






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          I believe it's not the CI Service account but the k8s service account used to manage your GKE cluster, where its email should look like this (Somebody must have deleted it):



          k8s-service-account@<project-id>.iam.gserviceaccount.com


          sa



          You can re-create it an give it project owner permissions.



          recreate






          share|improve this answer





















          • I don't have such account. Maybe you refer to this account: "service-448608612002@container-engine-robot.iam.gserviceaccount.com"?
            – Naor
            Nov 21 at 23:03










          • You need to create it. No not that one.
            – Rico
            Nov 21 at 23:06










          • Suppose I create it, what do I do with it? Who will use it?
            – Naor
            Nov 21 at 23:08












          • This will use it gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}
            – Rico
            Nov 21 at 23:12






          • 1




            I removed the account and created it again with the same name and roles. And suddenly it works... gcloud bug.
            – Naor
            Nov 22 at 9:01




















          up vote
          0
          down vote













          The details of the above mentioned errors are explained in this help center article.



          To add the Kubernetes Engine Service account (if you don't have it), please run the following command, in order to properly recreate the Kubernetes Service Account with the "Kubernetes Engine Service Agent" role,



          gcloud services enable container.googleapis.com





          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',
            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%2f53420870%2fkeep-getting-permissions-error-gcloud-container-clusters-get-credentials%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








            up vote
            0
            down vote



            accepted










            I believe it's not the CI Service account but the k8s service account used to manage your GKE cluster, where its email should look like this (Somebody must have deleted it):



            k8s-service-account@<project-id>.iam.gserviceaccount.com


            sa



            You can re-create it an give it project owner permissions.



            recreate






            share|improve this answer





















            • I don't have such account. Maybe you refer to this account: "service-448608612002@container-engine-robot.iam.gserviceaccount.com"?
              – Naor
              Nov 21 at 23:03










            • You need to create it. No not that one.
              – Rico
              Nov 21 at 23:06










            • Suppose I create it, what do I do with it? Who will use it?
              – Naor
              Nov 21 at 23:08












            • This will use it gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}
              – Rico
              Nov 21 at 23:12






            • 1




              I removed the account and created it again with the same name and roles. And suddenly it works... gcloud bug.
              – Naor
              Nov 22 at 9:01

















            up vote
            0
            down vote



            accepted










            I believe it's not the CI Service account but the k8s service account used to manage your GKE cluster, where its email should look like this (Somebody must have deleted it):



            k8s-service-account@<project-id>.iam.gserviceaccount.com


            sa



            You can re-create it an give it project owner permissions.



            recreate






            share|improve this answer





















            • I don't have such account. Maybe you refer to this account: "service-448608612002@container-engine-robot.iam.gserviceaccount.com"?
              – Naor
              Nov 21 at 23:03










            • You need to create it. No not that one.
              – Rico
              Nov 21 at 23:06










            • Suppose I create it, what do I do with it? Who will use it?
              – Naor
              Nov 21 at 23:08












            • This will use it gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}
              – Rico
              Nov 21 at 23:12






            • 1




              I removed the account and created it again with the same name and roles. And suddenly it works... gcloud bug.
              – Naor
              Nov 22 at 9:01















            up vote
            0
            down vote



            accepted







            up vote
            0
            down vote



            accepted






            I believe it's not the CI Service account but the k8s service account used to manage your GKE cluster, where its email should look like this (Somebody must have deleted it):



            k8s-service-account@<project-id>.iam.gserviceaccount.com


            sa



            You can re-create it an give it project owner permissions.



            recreate






            share|improve this answer












            I believe it's not the CI Service account but the k8s service account used to manage your GKE cluster, where its email should look like this (Somebody must have deleted it):



            k8s-service-account@<project-id>.iam.gserviceaccount.com


            sa



            You can re-create it an give it project owner permissions.



            recreate







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 21 at 22:53









            Rico

            24.8k94864




            24.8k94864












            • I don't have such account. Maybe you refer to this account: "service-448608612002@container-engine-robot.iam.gserviceaccount.com"?
              – Naor
              Nov 21 at 23:03










            • You need to create it. No not that one.
              – Rico
              Nov 21 at 23:06










            • Suppose I create it, what do I do with it? Who will use it?
              – Naor
              Nov 21 at 23:08












            • This will use it gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}
              – Rico
              Nov 21 at 23:12






            • 1




              I removed the account and created it again with the same name and roles. And suddenly it works... gcloud bug.
              – Naor
              Nov 22 at 9:01




















            • I don't have such account. Maybe you refer to this account: "service-448608612002@container-engine-robot.iam.gserviceaccount.com"?
              – Naor
              Nov 21 at 23:03










            • You need to create it. No not that one.
              – Rico
              Nov 21 at 23:06










            • Suppose I create it, what do I do with it? Who will use it?
              – Naor
              Nov 21 at 23:08












            • This will use it gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}
              – Rico
              Nov 21 at 23:12






            • 1




              I removed the account and created it again with the same name and roles. And suddenly it works... gcloud bug.
              – Naor
              Nov 22 at 9:01


















            I don't have such account. Maybe you refer to this account: "service-448608612002@container-engine-robot.iam.gserviceaccount.com"?
            – Naor
            Nov 21 at 23:03




            I don't have such account. Maybe you refer to this account: "service-448608612002@container-engine-robot.iam.gserviceaccount.com"?
            – Naor
            Nov 21 at 23:03












            You need to create it. No not that one.
            – Rico
            Nov 21 at 23:06




            You need to create it. No not that one.
            – Rico
            Nov 21 at 23:06












            Suppose I create it, what do I do with it? Who will use it?
            – Naor
            Nov 21 at 23:08






            Suppose I create it, what do I do with it? Who will use it?
            – Naor
            Nov 21 at 23:08














            This will use it gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}
            – Rico
            Nov 21 at 23:12




            This will use it gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}
            – Rico
            Nov 21 at 23:12




            1




            1




            I removed the account and created it again with the same name and roles. And suddenly it works... gcloud bug.
            – Naor
            Nov 22 at 9:01






            I removed the account and created it again with the same name and roles. And suddenly it works... gcloud bug.
            – Naor
            Nov 22 at 9:01














            up vote
            0
            down vote













            The details of the above mentioned errors are explained in this help center article.



            To add the Kubernetes Engine Service account (if you don't have it), please run the following command, in order to properly recreate the Kubernetes Service Account with the "Kubernetes Engine Service Agent" role,



            gcloud services enable container.googleapis.com





            share|improve this answer

























              up vote
              0
              down vote













              The details of the above mentioned errors are explained in this help center article.



              To add the Kubernetes Engine Service account (if you don't have it), please run the following command, in order to properly recreate the Kubernetes Service Account with the "Kubernetes Engine Service Agent" role,



              gcloud services enable container.googleapis.com





              share|improve this answer























                up vote
                0
                down vote










                up vote
                0
                down vote









                The details of the above mentioned errors are explained in this help center article.



                To add the Kubernetes Engine Service account (if you don't have it), please run the following command, in order to properly recreate the Kubernetes Service Account with the "Kubernetes Engine Service Agent" role,



                gcloud services enable container.googleapis.com





                share|improve this answer












                The details of the above mentioned errors are explained in this help center article.



                To add the Kubernetes Engine Service account (if you don't have it), please run the following command, in order to properly recreate the Kubernetes Service Account with the "Kubernetes Engine Service Agent" role,



                gcloud services enable container.googleapis.com






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 22 at 17:00









                Digil

                30019




                30019






























                    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.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • 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%2f53420870%2fkeep-getting-permissions-error-gcloud-container-clusters-get-credentials%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

                    A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

                    Calculate evaluation metrics using cross_val_predict sklearn

                    Insert data from modal to MySQL (multiple modal on website)