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

            RemoteApp sporadic failureWindows 2008 RemoteAPP client disconnects within a matter of minutesWhat is the minimum version of RDP supported by Server 2012 RDS?How to configure a Remoteapp server to increase stabilityMicrosoft RemoteApp Active SessionRDWeb TS connection broken for some users post RemoteApp certificate changeRemote Desktop Licensing, RemoteAPPRDS 2012 R2 some users are not able to logon after changed date and time on Connection BrokersWhat happens during Remote Desktop logon, and is there any logging?After installing RDS on WinServer 2016 I still can only connect with two users?RD Connection via RDGW to Session host is not connecting

            How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

            Esgonzo ibérico Índice Descrición Distribución Hábitat Ameazas Notas Véxase tamén "Acerca dos nomes dos anfibios e réptiles galegos""Chalcides bedriagai"Chalcides bedriagai en Carrascal, L. M. Salvador, A. (Eds). Enciclopedia virtual de los vertebrados españoles. Museo Nacional de Ciencias Naturales, Madrid. España.Fotos