Welcome to the Linux Foundation Forum!

Issue with calico-node on minion node

After kubeadm join ing the minion node with the master node, I am seeing the below logs on calico-node in the minion node

  1. 2019-12-18 21:23:03.634 [INFO][10] startup.go 255: Early log level set to info
  2. 2019-12-18 21:23:03.634 [INFO][10] startup.go 271: Using NODENAME environment for node name
  3. 2019-12-18 21:23:03.634 [INFO][10] startup.go 283: Determined node name: minion-instance-1
  4. 2019-12-18 21:23:03.637 [INFO][10] k8s.go 228: Using Calico IPAM
  5. 2019-12-18 21:23:03.637 [INFO][10] startup.go 315: Checking datastore connection
  6. 2019-12-18 21:23:03.651 [INFO][10] startup.go 339: Datastore connection verified
  7. 2019-12-18 21:23:03.651 [INFO][10] startup.go 94: Datastore is ready
  8. 2019-12-18 21:23:03.660 [INFO][10] startup.go 381: Initialize BGP data
  9. 2019-12-18 21:23:03.661 [INFO][10] startup.go 583: Using autodetected IPv4 address on interface ens4: 10.128.0.4/32
  10. 2019-12-18 21:23:03.661 [INFO][10] startup.go 451: Node IPv4 changed, will check for conflicts
  11. 2019-12-18 21:23:03.665 [INFO][10] startup.go 646: No AS number configured on node resource, using global value
  12. 2019-12-18 21:23:03.665 [INFO][10] startup.go 148: Setting NetworkUnavailable to False
  13. 2019-12-18 21:23:03.669 [ERROR][10] startup.go 151: Unable to set NetworkUnavailable to False error=nodes "minion-instance-1" is forbidden: User "system:serviceaccount:kube-system:calico-node" cannot patch resource "nodes/status" in API group "" at the cluster scope
  14. 2019-12-18 21:23:03.674 [INFO][10] node.go 86: Error updating Node resource error=nodes "minion-instance-1" is forbidden: User "system:serviceaccount:kube-system:calico-node" cannot update resource "nodes/status" in API group "" at the cluster scope
  15. 2019-12-18 21:23:03.674 [ERROR][10] startup.go 163: Unable to set node resource configuration error=connection is unauthorized: nodes "minion-instance-1" is forbidden: User "system:serviceaccount:kube-system:calico-node" cannot update resource "nodes/status" in API group "" at the cluster scope
  16. 2019-12-18 21:23:03.675 [WARNING][10] startup.go 1058: Terminating
  17. Calico node failed to start

Seems like minion node is forbidden from to update node resource. Am i missing any other steps here?

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Comments

  • Oh and even though the calico node on the master is in Running status, seeing these logs in master node's calico node.

    1. 2019-12-18 21:41:44.427 [INFO][41] watchercache.go 204: Failed to perform list of current data during resync ListRoot="/calico/ipam/v2/assignment/" error=connection is unauthorized: ipamblocks.crd.projectcalico.org is forbidden: User "system:serviceaccount:kube-system:calico-node" cannot list resource "ipamblocks" in API group "crd.projectcalico.org" at the cluster scope
  • I enabled http and https traffic in both my VMs with GCP console.
    Also executed this command

    1. gcloud compute firewall-rules create calico-ipip --allow 4 --network "default" --source-ranges "10.128.0.0/9"

    as suggested in calico installation guide to make sure the calico traffic is allowed between containers in different nodes.

    After that the status of my calico node in minion never really changed. But the master was restarted and its readiness probe is failing

    1. Type Reason Age From Message
    2. ---- ------ ---- ---- -------
    3. Warning Unhealthy 4m21s (x1836 over 5h10m) kubelet, master-instance-1 Readiness probe failed: calico/node is not ready: felix is not ready: readiness probe reporting 503
  • I tried deleting the calico-kube-controllers deploy as well the calico pods and re applied the calico yaml and rbac yaml.

    Now the logs are flipped between master and minion nodes!

    In master i see this.

    1. 8 22:26:32.449 [INFO][10] startup.go 148: Setting NetworkUnavailable to False
    2. 2019-12-18 22:26:32.454 [ERROR][10] startup.go 151: Unable to set NetworkUnavailable to False error=nodes "master-instance-1" is forbidden: User "system:serviceaccount:kube-system:calico-node" cannot patch resource "nodes/status" in API group "" at the cluster scope
    3. 2019-12-18 22:26:32.467 [INFO][10] node.go 86: Error updating Node resource error=nodes "master-instance-1" is forbidden: User "system:serviceaccount:kube-system:calico-node" cannot update resource "nodes/status" in API group "" at the cluster scope
    4. 2019-12-18 22:26:32.467 [ERROR][10] startup.go 163: Unable to set node resource configuration error=connection is unauthorized: nodes "master-instance-1" is forbidden: User "system:serviceaccount:kube-system:calico-node" cannot update resource "nodes/status" in API group "" at the cluster scope
    5. 2019-12-18 22:26:32.467 [WARNING][10] startup.go 1058: Terminating

    In minion , not seeing any errors but the pods are not in ready state.

    1. calico-kube-controllers-6bbf58546b-4rtqm 1/1 Running 0 2m56s
    2. calico-node-vrc5p 0/1 CrashLoopBackOff 5 3m20s
    3. calico-node-zzcff 0/1 Running 3 3m33s
  • The calico yaml file from the course https://tinyurl.com/yb4xturm and the rbac file https://tinyurl.com/y2vqsobb are not going to work! Lot of permissions are not defined and I spent so much time trying to patch the file as I was keep getting one or other forbidden issues.

    This yaml from their official documentation is complete. Use this instead - https://docs.projectcalico.org/v3.9/manifests/calico.yaml

    https://docs.projectcalico.org/v2.0/getting-started/kubernetes/installation/ - Documentation on AWS and GCE installations are really helpful!

  • Hi @seetha33tmr, I am wondering what is so different in the way you configured your infrastructure that causes all these reported issues.

    -Chris

  • With nodes sized accordingly, the infrastructure networking configured to fully allow traffic between your cluster nodes, and no firewalls active at the node OS level, the cluster installation scripts should be sufficient to install and run all the components including docker and calico.

    Regards,
    -Chris

  • @chrispokorni I think it might be due to the rbac-kdd.yaml file downloaded in lab 2.2. The calico yaml file itself have necessary rbac roles and resources defined in it after the comment # Source: calico/templates/rbac.yaml . I am seeing significant differences in the resources and roles defined in calico file vs the rbac-kdd file.

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Categories

Upcoming Training