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?
Comments
-
Oh and even though the calico node on the master is in Running status, seeing these logs in master node's calico node.
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
0 -
I enabled http and https traffic in both my VMs with GCP console.
Also executed this commandgcloud 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
Type Reason Age From Message ---- ------ ---- ---- ------- 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
0 -
I tried deleting the
calico-kube-controllersdeploy 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.
8 22:26:32.449 [INFO][10] startup.go 148: Setting NetworkUnavailable to False 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 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 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 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.
calico-kube-controllers-6bbf58546b-4rtqm 1/1 Running 0 2m56s calico-node-vrc5p 0/1 CrashLoopBackOff 5 3m20s calico-node-zzcff 0/1 Running 3 3m33s
0 -
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!
0 -
Hi @seetha33tmr, I am wondering what is so different in the way you configured your infrastructure that causes all these reported issues.
-Chris
0 -
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,
-Chris0 -
@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.0
Categories
- All Categories
- 177 LFX Mentorship
- 177 LFX Mentorship: Linux Kernel
- 754 Linux Foundation IT Professional Programs
- 374 Cloud Engineer IT Professional Program
- 170 Advanced Cloud Engineer IT Professional Program
- 74 DevOps IT Professional Program - Discontinued
- 5 DevOps & GitOps IT Professional Program
- 100 Cloud Native Developer IT Professional Program
- 7.6K Training Courses & Learning Paths
- 2 AI & ML Training
- 1 Blockchain & Decentralized Identity Training
- 5 Cloud & Containers Training
- 1 Cybersecurity Training
- 2 DevOps & Site-Reliability Training
- 1 Linux Kernel Development Training
- 1 Networking Training
- 2 Open Source Best Practice Training
- 2 System Administration Training
- 1 System Engineering Training
- 1 Web & Application Development Training
- 794 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 95 Multimedia
- 173 Networking
- 91 Printers & Scanners
- 89 Storage
- 769 Linux Distributions
- 81 Debian
- 68 Fedora
- 22 Linux Mint
- 13 Mageia
- 24 openSUSE
- 150 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 465 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 98 Linux Security
- 78 Network Management
- 101 System Management
- 46 Web Management
- 112 Mobile Computing
- 20 Android
- 77 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 393 Off Topic
- 121 Introductions
- 182 Small Talk
- 29 Study Material
- 976 Programming and Development
- 310 Kernel Development
- 648 Software Development
- 990 Software
- 382 Applications
- 182 Command Line
- 5 Compiling/Installing
- 68 Games
- 317 Installation
- Archived
- 2 LFD140 Class Forum
- 1.4K LFS258 Class Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)