-
Notifications
You must be signed in to change notification settings - Fork 39.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.16 upgrade causes nodes to never enter ready state arm64 #82997
Comments
Can confirm on both on Centos 7 x86_64 and Raspbian armv7l. After upgrading to v1.16.0 previously functional nodes all report:
A downgrade to 15.04 and a reset restored functionality. |
@kubernetes/Network I think this is the right sig ^ |
w.r.t. 'network plugin is not ready', can you show more from the log ?
Looks like getDefaultCNINetwork should have given some detail in the log. |
I rebroke my raspbian node and collected this from the logs:
Specifically this part in the CNI configuration validation seems pertinent:
Looking at "/etc/cni/net.d/10-flannel.conflist" it is, in fact, missing "cniVersion" (i.e. "cniVersion": "<VERSION>,"):
|
I can confirm the issue on Ubuntu 18.04 with all patches and kubernetes-cni 0.7.5. Is there a way to manually add a CNI version line to the config? How should it look like? |
|
After finding a variant of the config file online I used |
It would be good for kubeadm to check for this in the configfile beforehand and give a warning or error or update the file accordingly. |
The conflist is created by applying |
Thank you for the clarification. In the meanwhile I figured out that the cni file gets overwritten every time kubelet starts. So I would welcome a permanent fix. Any workaround how I might update the flannel.yml file myself to fix it? Just take the linked file, fix it at the config and then apply the new version? |
@tedyu Here are some logs
|
I was able to resolve this by applying a fixed |
I can confirm that on a vanilla install of Ubuntu 18.04 LTS (fully updated) and running through the setup steps as closely as I can, https://gist.github.com/jeremyje/14e26148909734ebe1d6395cc8b0e156 this fix works. |
@jeremyje |
/sig node network |
/sig cluster-lifecycle |
New patch for this: |
/triage unresolved Comment 🤖 I am a bot run by vllry. 👩🔬 |
/assign @dcbw |
/remove-triage unresolved |
This is actually a CNI 'flannel' plugin bug. The documented flannel CNI configuration JSON does not include a "cniVersion" which is technically a legal CNI version number that is accepted as version 0.1.0 of the spec. The CNI flannel plugin's VERSION command response claims to support v0.1.0 and up, but does not support "" (even though that is equivalent to 0.1.0). Thus the mismatch. The bug should be fixed in CNI's libcni itself, either in validatePlugin() or by adding "" to Filed upstream issue containernetworking/cni#720 for this. |
Thanks everyone. Closing due to issue being in flannel. |
The quickest way is to configure kube-flannel and apply it in ARM64 including Jetson TX2/Nano and Rapsberry. Please have a look at the Config the master node 1. Update kube-flannel
2. Apply kube-flannel.yaml
3. Check the configuration
|
@mikechen66 , what's the difference between vxlan and host-gw |
What happened:
Upgrading to 1.16.0 causes Cluster nodes to never be ready on arm64
What you expected to happen:
Cluster should become ready
How to reproduce it (as minimally and precisely as possible):
1.)
kubeadm init --pod-network-cidr=10.244.0.0/16
2.) Join from 2 other arm boards using command outputed from kubeadm init
Anything else we need to know?:
Docker version 0
Environment:
raspberry pi 4 - 4 core 4gb of ram
Kubernetes version (use
kubectl version
):Included above
Cloud provider or hardware configuration:
Hardware
OS (e.g:
cat /etc/os-release
):Raspbian
Kernel (e.g.
uname -a
):Linux pi0 4.19.66-v7l+ Change service name to service ID. #1253 SMP Thu Aug 15 12:02:08 BST 2019 armv7l GNU/Linux
Install tools:
kubeadm
Network plugin and version (if this is a network-related bug):
I tried adding flannel after the fact but it does not change the state
Others:
Sig - @kubernetes/network
The text was updated successfully, but these errors were encountered: