Him*_*ary 3 kubernetes flannel cni
在安装Kubernetes时,我被CNI插件安装和配置部分困住了。我已经安装了Flannel,但是由于哪个coredns pod处于挂起状态,我在kubelet日志中看到错误。
操作系统:Centos7 k8s版本:1.16 Kubeadm用于设置集群。
我已经使用以下命令安装了插件:kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
这是我在Kubelet日志中看到的错误:
Sep 21 04:47:29 peteelizalde2c kubelet: W0921 04:47:29.897759 17817 cni.go:202] Error validating CNI config &{cbr0 false [0xc000fb3ee0 0xc000fb3f60] [123 10 32 32 34 110 97 109 101 34 58 32 34 99 98 114 48 34 44 10 32 32 34 112 108 117 103 105 110 115 34 58 32 91 10 32 32 32 32 123 10 32 32 32 32 32 32 34 116 121 112 101 34 58 32 34 102 108 97 110 110 101 108 34 44 10 32 32 32 32 32 32 34 100 101 108 101 103 97 116 101 34 58 32 123 10 32 32 32 32 32 32 32 32 34 104 97 105 114 112 105 110 77 111 100 101 34 58 32 116 114 117 101 44 10 32 32 32 32 32 32 32 32 34 105 115 68 101 102 97 117 108 116 71 97 116 101 119 97 121 34 58 32 116 114 117 101 10 32 32 32 32 32 32 125 10 32 32 32 32 125 44 10 32 32 32 32 123 10 32 32 32 32 32 32 34 116 121 112 101 34 58 32 34 112 111 114 116 109 97 112 34 44 10 32 32 32 32 32 32 34 99 97 112 97 98 105 108 105 116 105 101 115 34 58 32 123 10 32 32 32 32 32 32 32 32 34 112 111 114 116 77 97 112 112 105 110 103 115 34 58 32 116 114 117 101 10 32 32 32 32 32 32 125 10 32 32 32 32 125 10 32 32 93 10 125 10]}: [plugin flannel does not support config version ""]
Sep 21 04:47:29 peteelizalde2c kubelet: W0921 04:47:29.897824 17817 cni.go:237] Unable to update cni config: no valid networks found in /etc/cni/net.d
Sep 21 04:47:32 peteelizalde2c kubelet: E0921 04:47:32.007379 17817 kubelet.go:2187] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
Run Code Online (Sandbox Code Playgroud)
这是豆荚:
kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-5644d7b6d9-n4h5x 0/1 Pending 0 114m
kube-system coredns-5644d7b6d9-t2q54 0/1 Pending 0 114m
kube-system etcd-ip-10-29-89-124 1/1 Running 0 113m
kube-system kube-apiserver-ip-10-29-89-124 1/1 Running 0 113m
kube-system kube-controller-manager-ip-10-29-89-124 1/1 Running 0 113m
kube-system kube-flannel-ds-amd64-dqpzj 1/1 Running 0 110m
kube-system kube-proxy-vzlqb 1/1 Running 0 114m
kube-system kube-scheduler-ip-10-29-89-124 1/1 Running 0 113m
Run Code Online (Sandbox Code Playgroud)
/etc/cni/net.d名为中有一个文件10-flannel.conflist。其内容是:
{
"name": "cbr0",
"plugins": [
{
"type": "flannel",
"delegate": {
"hairpinMode": true,
"isDefaultGateway": true
}
},
{
"type": "portmap",
"capabilities": {
"portMappings": true
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
该文件/etc/cni/net.d/10-flannel.conflist缺少cniVersion其配置中的密钥。
添加"cniVersion": "0.2.0"解决了这个问题。
小智 6
公认的解决方案是不完整的,会引起头痛。
使更改永久生效的正确解决方案是编辑Kubernetes集群中法兰绒创建的ConfigMap。否则,下一次使用ConfigMap填充绒布容器卷时(例如,在节点重启时),将重新创建文件。
使用kubectl edit cm -n kube-system kube-flannel-cfg编辑的ConfigMap提供的法兰绒,并添加缺少的行:
5 apiVersion: v1
6 data:
7 cni-conf.json: |
8 {
9 "name": "cbr0",
10 "cniVersion": "0.2.0",
11 "plugins": [
Run Code Online (Sandbox Code Playgroud)
重新引导节点,或者手动进行更改/etc/cni/net.d/10-flannel.conflist,systemctl restart kubelet然后跳过重新引导。
| 归档时间: |
|
| 查看次数: |
1649 次 |
| 最近记录: |