Welcome to the new Linux Foundation Forum!

Section 2.1.5 "cannot get resource" Error thrown during $ sudo kubeadm join...

When I attempt to join the minion to the cluster I am seeing:

[discovery] Trying to connect to API Server "xxx.xxx.xxx.xxx:6443"
[discovery] Created cluster-info discovery client, requesting info from "https://xxx.xxx.xxx.xxx:6443"
[discovery] Requesting info from "https://xxx.xxx.xxx.xxx:6443" again to validate TLS against the pinned public key
[discovery] Cluster info signature and contents are valid and TLS certificate validates against pinned roots, will use API Server "xxx.xxx.xxx.xxx:6443"
[discovery] Successfully established connection with API Server "xxx.xxx.xxx.xxx:6443"
[kubelet] Downloading configuration for the kubelet from the "kubelet-config-1.12" ConfigMap in the kube-system namespace
configmaps "kubelet-config-1.12" is forbidden: User "system:bootstrap:yr0p9a" cannot get resource "configmaps" in API group "" in the namespace "kube-system"

Comments

  • jtronsonjtronson Posts: 5
    edited December 6

    I partially fixed this by editing k8sSecond.sh and changed the versions from 1.12 to 1.13:

    sudo apt-get install -y kubeadm=1.13.0-00 kubelet=1.13.0-00 kubectl=1.13.0-00

    And then re-ran the join command.

    Now I get:

    This node has joined the cluster:
    * Certificate signing request was sent to apiserver and a response was received.
    * The Kubelet was informed of the new secure connection details.
    
    Run 'kubectl get nodes' on the master to see this node join the cluster.
    

    But when i do a kubectl get nodes I see that my master node is on 1.12 and my minion node is on 1.13.

    Will look into modifying the k8sMaster.sh to migrate to 1.13 and start all over again with the lesson.

  • serewiczserewicz Posts: 419

    Hello,

    To answer your second post first, you will need to use the same version of software on both nodes. Were you using 1.12.1 on both nodes before when the join failed? If you add a -v-10 to the join command you can see even more output which may help find the error.
    Please show the kubeadm init command on the master node and the kubeadm join command on the worker node to help troubleshoot the issue. Also any errors that are in the init or join commands would help.

    Regards,

  • chrispokornichrispokorni Posts: 117
    edited December 6

    I encountered a very similar issue on Tuesday afternoon, with 1.12.1 installed on both master and worker nodes. It is interesting how on Monday 1.13 came out, also on Monday the installation worked fine for 1.12.1 nodes and I was able to join the cluster, then by Tuesday it was broken.
    My error output was showing kubelet-config-1.13 though.
    Today, similar attempt errored out with the kubelet-config-1.12 in the same output format.
    Things are being changed in K8s...
    Will try again this weekend and see if it got resolved, or I will troubleshoot it.

    -Chris

  • jtronsonjtronson Posts: 5

    I fixed it by starting over using 1.13 for master and minion.

  • @jtronson ,
    I hope labs work as expected on 1.13.

    However, if you run into any issues and you need to start over with 1.12.1, I posted a fix which resolves the "kubeadm join" permission error for the get of the "kubelet-config-1.12" configmap from the "kube-system" namespace.
    https://github.com/chris-pok/k8s-1.12.1.git

    Good luck!
    -Chris

  • serewiczserewicz Posts: 419

    There is a feature (which I just found) that the init process looks for an uses the newest version of software, regardless of what was installed. Once the 1.13 software was released the control plane no longer matches. This issues would come up every time a new version of software is released.
    The fix is to include this into the command:

    kubeadm init --kubernetes-version 1.12.1 --pod-network-cidr 192.168.0.0/16

    The process would also work if all software were on 1.13, until 1.14 is available.

    Regards,

Sign In or Register to comment.