Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes Kubelet-未能;CreatePodSandbox“;对于coredns;未能设置网桥地址:无法将ip地址添加到";cni0“是:拒绝许可 编辑1_Kubernetes_Kubelet_Podman_Cni_Cri O - Fatal编程技术网

Kubernetes Kubelet-未能;CreatePodSandbox“;对于coredns;未能设置网桥地址:无法将ip地址添加到";cni0“是:拒绝许可 编辑1

Kubernetes Kubelet-未能;CreatePodSandbox“;对于coredns;未能设置网桥地址:无法将ip地址添加到";cni0“是:拒绝许可 编辑1,kubernetes,kubelet,podman,cni,cri-o,Kubernetes,Kubelet,Podman,Cni,Cri O,作为对评论的回应,我提供了更多信息 $ kubectl get pods --namespace kube-system NAME READY STATUS RESTARTS AGE coredns-66bff467f8-lkwfn 0/1 ContainerCreating 0

作为对评论的回应,我提供了更多信息

$ kubectl get pods --namespace kube-system
NAME                                                  READY   STATUS              RESTARTS   AGE
coredns-66bff467f8-lkwfn                              0/1     ContainerCreating   0          7m8s
coredns-66bff467f8-pcn6b                              0/1     ContainerCreating   0          7m8s
etcd-masternode                                       1/1     Running             0          7m16s
kube-apiserver-masternode                             1/1     Running             0          7m16s
kube-controller-manager-masternode                    1/1     Running             0          7m16s
kube-proxy-7zrjn                                      1/1     Running             0          7m8s
kube-scheduler-masternode                             1/1     Running             0          7m16s
更多系统日志 我已经成功地用CRI-01.18安装了Kubernetes 1.18,并使用kubeadm init--pod network cidr=192.168.0.0/16建立了一个集群。但是,“coredns”-节点停留在“ContainerCreating”位置。我遵循官方的Kubernetes安装说明

我试过的 我试着安装印花布,但没有解决它。我还尝试手动将cni0接口更改为UP,但也没有成功。问题显然出在桥接通信的某个地方,但我遵循了Kubernetes教程并启用了它

在我对这个问题的研究中,我偶然发现了一些有前途的解决方案和教程,但它们都没有解决这个问题。(,)

防火墙命令 系统日志 因为粘贴整个日志会很难看

内核版本 CRI-O runc 库伯内特斯 1.18

播客版 1.6.4

iptables/nft 我将nft与iptables兼容层一起使用

$ iptables --version
iptables v1.8.2 (nf_tables)
主机提供商: 康塔博副总裁

系统控制 selinux禁用 ip地址列表
$ip a
1:lo:mtu 65536 qdisc noqueue状态未知组默认qlen 1000
链接/环回00:00:00:00:00 brd 00:00:00:00:00:00:00
inet 127.0.0.1/8范围主机lo
永远有效\u lft首选\u lft永远有效
2:eth0:mtu 1500 qdisc fq_codel state UP group default qlen 1000
链路/以太编辑的brd ff:ff:ff:ff:ff
inet已编辑作用域全局noprefixroute eth0
永远有效\u lft首选\u lft永远有效
3:cni0:mtu 1500 qdisc noqueue状态下行组默认qlen 1000
链接/以太c6:00:41:85:da:ad brd ff:ff:ff:ff:ff:ff:ff
inet 10.85.0.1/16 brd 10.85.255.255范围全局noprefixroute cni0
永远有效\u lft首选\u lft永远有效
7: tunl0@NONE:mtu 1440 qdisc noqueue状态未知组默认qlen 1000
链接/ipip 0.0.0.0 brd 0.0.0.0
inet 192.168.249.128/32 brd 192.168.249.128作用域全局隧道0
永远有效\u lft首选\u lft永远有效

安提阿的神圣手榴弹!我终于修好了!这只花了我,怎么说,大约一百万年和一个不安的夜晚。甜蜜的胜利!好。。。嗯。关于解决方案

我终于理解了@Arghya Sadhu和@Piotr Malec的评论,他们是对的。我没有正确配置我的CNI插件。我使用Flannel作为网络提供商,他们需要10.244.0.0/16子网。在/etc/cni/net.d/中找到的crio-bridge.conf中,默认子网不同(10.85.0.0/16或其他)。我认为在kubeadm init命令上指定CIDR就足够了,但我错了。您需要在crio-bridge.conf和podman.conflist(或目录中的类似文件)中设置正确的CIDR。我还认为那些与CRI-O一起安装的文件配置了合理的默认值,老实说,我不完全理解它们的用途

还有一件奇怪的事情发生了:根据弗兰内尔的说法,CRI-O的子网应该是/16,但当我与journalctl-u kubelet检查日志时,它提到了/24子网

failed to set bridge addr: \"cni0\" already has an IP address different from 10.244.0.1/24"
因此,我不得不将crio.conf中的子网更改为/24,它成功了。我可能也必须更改podman.conflist中的子网,但我不确定


无论如何,感谢Arghya和Piotr的帮助

您正在不同的cni插件之间切换?您使用kubeadm安装k8s?共享kubelet日志扫描您是否检查所有k8s系统吊舱是否正在运行?您可以使用
kubectl get pods--namespace kube system
@ArghyaSadhu验证您指的是systemd日志吗?例如,
journalctl-xe--unit kubelet
。是使用journalctl@PiotrMalec我包括了你命令的输出。除coredns之外的所有POD都在运行。
4.18.0-147.8.1.el8_1.x86_64 (Centos 8)
crio --version
crio version
Version:       1.18.1
GitCommit:     5cbf694c34f8d1af19eb873e39057663a4830635
GitTreeState:  clean
BuildDate:     2020-05-25T19:01:44Z
GoVersion:     go1.13.4
Compiler:      gc
Platform:      linux/amd64
Linkmode:      dynamic
$ runc --version
runc version spec: 1.0.1-dev
$ iptables --version
iptables v1.8.2 (nf_tables)
$ sysctl net.bridge
net.bridge.bridge-nf-call-arptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-filter-pppoe-tagged = 0
net.bridge.bridge-nf-filter-vlan-tagged = 0
net.bridge.bridge-nf-pass-vlan-input-dev = 0
$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
$ cat /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether REDACTED brd ff:ff:ff:ff:ff:ff
    inet REDACTED scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
3: cni0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether c6:00:41:85:da:ad brd ff:ff:ff:ff:ff:ff
    inet 10.85.0.1/16 brd 10.85.255.255 scope global noprefixroute cni0
       valid_lft forever preferred_lft forever
7: tunl0@NONE: <NOARP,UP,LOWER_UP> mtu 1440 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
    inet 192.168.249.128/32 brd 192.168.249.128 scope global tunl0
       valid_lft forever preferred_lft forever
failed to set bridge addr: \"cni0\" already has an IP address different from 10.244.0.1/24"