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
2019-12-18 21:23:03.634 [INFO][10] startup.go 255: Early log level set to info 2019-12-18 21:23:03.634 [INFO][10] startup.go 271: Using NODENAME environment for node name 2019-12-18 21:23:03.634 [INFO][10] startup.go 283: Determined node name: minion-instance-1 2019-12-18 21:23:03.637 [INFO][10] k8s.go 228: Using Calico IPAM 2019-12-18 21:23:03.637 [INFO][10] startup.go 315: Checking datastore connection 2019-12-18 21:23:03.651 [INFO][10] startup.go 339: Datastore connection verified 2019-12-18 21:23:03.651 [INFO][10] startup.go 94: Datastore is ready 2019-12-18 21:23:03.660 [INFO][10] startup.go 381: Initialize BGP data 2019-12-18 21:23:03.661 [INFO][10] startup.go 583: Using autodetected IPv4 address on interface ens4: 10.128.0.4/32 2019-12-18 21:23:03.661 [INFO][10] startup.go 451: Node IPv4 changed, will check for conflicts 2019-12-18 21:23:03.665 [INFO][10] startup.go 646: No AS number configured on node resource, using global value 2019-12-18 21:23:03.665 [INFO][10] startup.go 148: Setting NetworkUnavailable to False 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 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 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 2019-12-18 21:23:03.675 [WARNING][10] startup.go 1058: Terminating Calico node failed to start
Seems like minion node is forbidden from to update node resource. Am i missing any other steps here?
0
Comments
Oh and even though the calico node on the master is in Running status, seeing these logs in master node's calico node.
I enabled http and https traffic in both my VMs with GCP console.
Also executed this command
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
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.
In minion , not seeing any errors but the pods are not in ready state.
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.