Not able to join worker nodes using kubectl with updated aws-auth configmapAWS IAM policy issue: unable to permit all but RunInstancesAWS RDS CLI: AccessDenied on CreateDBSnapshotHow can I chain AWS IAM AssumeRole API calls?Unable to install tomcat using aws cloud formation scriptsHow does nodeAffinity work in DaemonSets?kubectl cannot authenticate with AWS EKSHow can I guarantee/reserve resources for kube-system?I tried to join kubernetes nodes with master but it shows errors in all 3 nodes. shown in picIs it possible to set an AWS autoscaling policy for Kubernetes nodes using kops?Not able to deploy Openshift on AWS using QuickStart Guide

Symbol for "not absolutely continuous" in Latex

Did Chinese school textbook maps (c. 1951) "depict China as stretching even into the central Asian republics"?

Is there a short way to check uniqueness of values without using 'if' and multiple 'and's?

Transitive verb + interrupter + object?

Finding or mounting boot partition to create /boot/ssh

Why did this meteor appear cyan?

Why is the Turkish president's surname spelt in Russian as Эрдоган, with г?

Analog is Obtuse!

A player is constantly pestering me about rules, what do I do as a DM?

Does ultrasonic bath cleaning damage laboratory volumetric glassware calibration?

Are there any vegetarian astronauts?

How well known and how commonly used was Huffman coding in 1979?

Do we or do we not observe (measure) superpositions all the time?

Why is a blank required between "[[" and "-e xxx" in ksh?

Mean Value Theorem: Continuous or Defined?

Can I travel from Germany to England alone as an unaccompanied minor?

Feeling of missing someone

Should I include salary information on my CV?

Should I hide continue button until tasks are completed?

Was it really unprofessional of me to leave without asking for a raise first?

Was touching your nose a greeting in second millenium Mesopotamia?

Math PhD in US vs Master + PhD in Europe

How exactly is a normal force exerted, at the molecular level?

Can I use the PWM pins as regular digital input/output pins?



Not able to join worker nodes using kubectl with updated aws-auth configmap


AWS IAM policy issue: unable to permit all but RunInstancesAWS RDS CLI: AccessDenied on CreateDBSnapshotHow can I chain AWS IAM AssumeRole API calls?Unable to install tomcat using aws cloud formation scriptsHow does nodeAffinity work in DaemonSets?kubectl cannot authenticate with AWS EKSHow can I guarantee/reserve resources for kube-system?I tried to join kubernetes nodes with master but it shows errors in all 3 nodes. shown in picIs it possible to set an AWS autoscaling policy for Kubernetes nodes using kops?Not able to deploy Openshift on AWS using QuickStart Guide






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















I'm setting up AWS EKS cluster using terraform from an EC2 instance. Basically the setup includes EC2 launch configuration and autoscaling for worker nodes. After creating the cluster, I am able to configure kubectl with aws-iam-authenticator. When I did



kubectl get nodes 


It returned




No resources found




as the worker nodes were not joined. So I tried updating aws-auth-cm.yaml file



apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapRoles: |
- rolearn: <ARN of instance role (not instance profile)>
username: system:node:EC2PrivateDNSName
groups:
- system:bootstrappers
- system:nodes


with IAM role ARN of the worker node. And did



kubectl apply -f aws-auth-cm.yaml


It returned




ConfigMap/aws-auth created




Then I understood that role ARN configured in aws-auth-cm.yaml is the wrong one. So I updated the same file with the exact worker node role ARN.



But this time I got 403 when I did kubectl apply -f aws-auth-cm.yaml again.



It returned




Error from server (Forbidden): error when retrieving current
configuration of: Resource: "/v1, Resource=configmaps",
GroupVersionKind: "/v1, Kind=ConfigMap" Name: "aws-auth", Namespace:
"kube-system" Object: &map["apiVersion":"v1" "data":map["mapRoles":"-
rolearn: arn:aws:iam::XXXXXXXXX:role/worker-node-rolen username:
system:node:EC2PrivateDNSNamen groups:n -
system:bootstrappersn - system:nodesn"] "kind":"ConfigMap"
"metadata":map["name":"aws-auth" "namespace":"kube-system"
"annotations":map["kubectl.kubernetes.io/last-applied-configuration":""]]]
from server for: "/home/username/aws-auth-cm.yaml": configmaps
"aws-auth" is forbidden: User
"system:node:ip-XXX-XX-XX-XX.ec2.internal" cannot get resource
"configmaps" in API group "" in the namespace "kube-system"




I'm not able to reconfigure the ConfigMap after this step.



I'm getting 403 for commands like



kubectl apply
kubectl delete
kubectl edit


for configmaps. Any help?










share|improve this question






















  • Have you exported the kubeconfig?

    – Crou
    Jun 10 at 14:46











  • @Crou Yes I did.

    – Magesh
    Jun 10 at 15:51











  • Have you tried redoing the whole cluster from the scratch?

    – Crou
    Jun 19 at 9:33

















1















I'm setting up AWS EKS cluster using terraform from an EC2 instance. Basically the setup includes EC2 launch configuration and autoscaling for worker nodes. After creating the cluster, I am able to configure kubectl with aws-iam-authenticator. When I did



kubectl get nodes 


It returned




No resources found




as the worker nodes were not joined. So I tried updating aws-auth-cm.yaml file



apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapRoles: |
- rolearn: <ARN of instance role (not instance profile)>
username: system:node:EC2PrivateDNSName
groups:
- system:bootstrappers
- system:nodes


with IAM role ARN of the worker node. And did



kubectl apply -f aws-auth-cm.yaml


It returned




ConfigMap/aws-auth created




Then I understood that role ARN configured in aws-auth-cm.yaml is the wrong one. So I updated the same file with the exact worker node role ARN.



But this time I got 403 when I did kubectl apply -f aws-auth-cm.yaml again.



It returned




Error from server (Forbidden): error when retrieving current
configuration of: Resource: "/v1, Resource=configmaps",
GroupVersionKind: "/v1, Kind=ConfigMap" Name: "aws-auth", Namespace:
"kube-system" Object: &map["apiVersion":"v1" "data":map["mapRoles":"-
rolearn: arn:aws:iam::XXXXXXXXX:role/worker-node-rolen username:
system:node:EC2PrivateDNSNamen groups:n -
system:bootstrappersn - system:nodesn"] "kind":"ConfigMap"
"metadata":map["name":"aws-auth" "namespace":"kube-system"
"annotations":map["kubectl.kubernetes.io/last-applied-configuration":""]]]
from server for: "/home/username/aws-auth-cm.yaml": configmaps
"aws-auth" is forbidden: User
"system:node:ip-XXX-XX-XX-XX.ec2.internal" cannot get resource
"configmaps" in API group "" in the namespace "kube-system"




I'm not able to reconfigure the ConfigMap after this step.



I'm getting 403 for commands like



kubectl apply
kubectl delete
kubectl edit


for configmaps. Any help?










share|improve this question






















  • Have you exported the kubeconfig?

    – Crou
    Jun 10 at 14:46











  • @Crou Yes I did.

    – Magesh
    Jun 10 at 15:51











  • Have you tried redoing the whole cluster from the scratch?

    – Crou
    Jun 19 at 9:33













1












1








1








I'm setting up AWS EKS cluster using terraform from an EC2 instance. Basically the setup includes EC2 launch configuration and autoscaling for worker nodes. After creating the cluster, I am able to configure kubectl with aws-iam-authenticator. When I did



kubectl get nodes 


It returned




No resources found




as the worker nodes were not joined. So I tried updating aws-auth-cm.yaml file



apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapRoles: |
- rolearn: <ARN of instance role (not instance profile)>
username: system:node:EC2PrivateDNSName
groups:
- system:bootstrappers
- system:nodes


with IAM role ARN of the worker node. And did



kubectl apply -f aws-auth-cm.yaml


It returned




ConfigMap/aws-auth created




Then I understood that role ARN configured in aws-auth-cm.yaml is the wrong one. So I updated the same file with the exact worker node role ARN.



But this time I got 403 when I did kubectl apply -f aws-auth-cm.yaml again.



It returned




Error from server (Forbidden): error when retrieving current
configuration of: Resource: "/v1, Resource=configmaps",
GroupVersionKind: "/v1, Kind=ConfigMap" Name: "aws-auth", Namespace:
"kube-system" Object: &map["apiVersion":"v1" "data":map["mapRoles":"-
rolearn: arn:aws:iam::XXXXXXXXX:role/worker-node-rolen username:
system:node:EC2PrivateDNSNamen groups:n -
system:bootstrappersn - system:nodesn"] "kind":"ConfigMap"
"metadata":map["name":"aws-auth" "namespace":"kube-system"
"annotations":map["kubectl.kubernetes.io/last-applied-configuration":""]]]
from server for: "/home/username/aws-auth-cm.yaml": configmaps
"aws-auth" is forbidden: User
"system:node:ip-XXX-XX-XX-XX.ec2.internal" cannot get resource
"configmaps" in API group "" in the namespace "kube-system"




I'm not able to reconfigure the ConfigMap after this step.



I'm getting 403 for commands like



kubectl apply
kubectl delete
kubectl edit


for configmaps. Any help?










share|improve this question














I'm setting up AWS EKS cluster using terraform from an EC2 instance. Basically the setup includes EC2 launch configuration and autoscaling for worker nodes. After creating the cluster, I am able to configure kubectl with aws-iam-authenticator. When I did



kubectl get nodes 


It returned




No resources found




as the worker nodes were not joined. So I tried updating aws-auth-cm.yaml file



apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapRoles: |
- rolearn: <ARN of instance role (not instance profile)>
username: system:node:EC2PrivateDNSName
groups:
- system:bootstrappers
- system:nodes


with IAM role ARN of the worker node. And did



kubectl apply -f aws-auth-cm.yaml


It returned




ConfigMap/aws-auth created




Then I understood that role ARN configured in aws-auth-cm.yaml is the wrong one. So I updated the same file with the exact worker node role ARN.



But this time I got 403 when I did kubectl apply -f aws-auth-cm.yaml again.



It returned




Error from server (Forbidden): error when retrieving current
configuration of: Resource: "/v1, Resource=configmaps",
GroupVersionKind: "/v1, Kind=ConfigMap" Name: "aws-auth", Namespace:
"kube-system" Object: &map["apiVersion":"v1" "data":map["mapRoles":"-
rolearn: arn:aws:iam::XXXXXXXXX:role/worker-node-rolen username:
system:node:EC2PrivateDNSNamen groups:n -
system:bootstrappersn - system:nodesn"] "kind":"ConfigMap"
"metadata":map["name":"aws-auth" "namespace":"kube-system"
"annotations":map["kubectl.kubernetes.io/last-applied-configuration":""]]]
from server for: "/home/username/aws-auth-cm.yaml": configmaps
"aws-auth" is forbidden: User
"system:node:ip-XXX-XX-XX-XX.ec2.internal" cannot get resource
"configmaps" in API group "" in the namespace "kube-system"




I'm not able to reconfigure the ConfigMap after this step.



I'm getting 403 for commands like



kubectl apply
kubectl delete
kubectl edit


for configmaps. Any help?







amazon-web-services kubernetes amazon-eks






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jun 10 at 8:49









MageshMagesh

61 bronze badge




61 bronze badge












  • Have you exported the kubeconfig?

    – Crou
    Jun 10 at 14:46











  • @Crou Yes I did.

    – Magesh
    Jun 10 at 15:51











  • Have you tried redoing the whole cluster from the scratch?

    – Crou
    Jun 19 at 9:33

















  • Have you exported the kubeconfig?

    – Crou
    Jun 10 at 14:46











  • @Crou Yes I did.

    – Magesh
    Jun 10 at 15:51











  • Have you tried redoing the whole cluster from the scratch?

    – Crou
    Jun 19 at 9:33
















Have you exported the kubeconfig?

– Crou
Jun 10 at 14:46





Have you exported the kubeconfig?

– Crou
Jun 10 at 14:46













@Crou Yes I did.

– Magesh
Jun 10 at 15:51





@Crou Yes I did.

– Magesh
Jun 10 at 15:51













Have you tried redoing the whole cluster from the scratch?

– Crou
Jun 19 at 9:33





Have you tried redoing the whole cluster from the scratch?

– Crou
Jun 19 at 9:33










1 Answer
1






active

oldest

votes


















0














I found the reason why kubectl returned 403 for this scenario.



As per this doc, the user/role who created the cluster will be given system:masters permissions in the cluster's RBAC configuration



When I tried to create a ConfigMap for aws-auth to join worker nodes, I gave the ARN of role/user who created the cluster instead of ARN of worker nodes.



And it updated the group(system:masters) of admin with groups system:bootstrappers and system:nodes in RBAC which basically locked the admin himself. And it is not recoverable since admin has lost the privileges from group system:masters.






share|improve this answer

























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "2"
    ;
    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%2fserverfault.com%2fquestions%2f970788%2fnot-able-to-join-worker-nodes-using-kubectl-with-updated-aws-auth-configmap%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









    0














    I found the reason why kubectl returned 403 for this scenario.



    As per this doc, the user/role who created the cluster will be given system:masters permissions in the cluster's RBAC configuration



    When I tried to create a ConfigMap for aws-auth to join worker nodes, I gave the ARN of role/user who created the cluster instead of ARN of worker nodes.



    And it updated the group(system:masters) of admin with groups system:bootstrappers and system:nodes in RBAC which basically locked the admin himself. And it is not recoverable since admin has lost the privileges from group system:masters.






    share|improve this answer



























      0














      I found the reason why kubectl returned 403 for this scenario.



      As per this doc, the user/role who created the cluster will be given system:masters permissions in the cluster's RBAC configuration



      When I tried to create a ConfigMap for aws-auth to join worker nodes, I gave the ARN of role/user who created the cluster instead of ARN of worker nodes.



      And it updated the group(system:masters) of admin with groups system:bootstrappers and system:nodes in RBAC which basically locked the admin himself. And it is not recoverable since admin has lost the privileges from group system:masters.






      share|improve this answer

























        0












        0








        0







        I found the reason why kubectl returned 403 for this scenario.



        As per this doc, the user/role who created the cluster will be given system:masters permissions in the cluster's RBAC configuration



        When I tried to create a ConfigMap for aws-auth to join worker nodes, I gave the ARN of role/user who created the cluster instead of ARN of worker nodes.



        And it updated the group(system:masters) of admin with groups system:bootstrappers and system:nodes in RBAC which basically locked the admin himself. And it is not recoverable since admin has lost the privileges from group system:masters.






        share|improve this answer













        I found the reason why kubectl returned 403 for this scenario.



        As per this doc, the user/role who created the cluster will be given system:masters permissions in the cluster's RBAC configuration



        When I tried to create a ConfigMap for aws-auth to join worker nodes, I gave the ARN of role/user who created the cluster instead of ARN of worker nodes.



        And it updated the group(system:masters) of admin with groups system:bootstrappers and system:nodes in RBAC which basically locked the admin himself. And it is not recoverable since admin has lost the privileges from group system:masters.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jun 19 at 9:37









        MageshMagesh

        61 bronze badge




        61 bronze badge



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Server Fault!


            • 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%2fserverfault.com%2fquestions%2f970788%2fnot-able-to-join-worker-nodes-using-kubectl-with-updated-aws-auth-configmap%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

            Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

            Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

            What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company