使用tigera-operator方式安装的calico,启动后报错,所有的calico相关的pod都显示CrashLoopBackoff。
kubectl -n calico-system describe pod calico-node-2t8w6,发现如下报错:
Readiness probe failed: calico/node is not ready: BIRD is not ready: Error querying BIRD: unable to connect to BIRDv4 socket: dial unix /var/ run/calico/bird.ctl: connect: no such file or directory.
问题原因:
我们是在 Kubernetes Cluster 部署过程中遇到该问题。由于 Calico 自动检测 IP 地址默认使用 first-found 方法,获得错误地址,需要我们手动指定检测方法。
1、将所有claico删除
kubectl -n tigera-operator get deployments.apps -o yaml > a.yaml
kubectl -n calico-system get daemonsets.apps calico-node -o yaml > b.yaml
kubectl -n calico-system get deployments.apps calico-kube-controllers -o yaml > c.yaml
kubectl -n calico-system get deployments.apps calico-typha -o yaml > d.yaml
kubectl -n calico-apiserver get deployments.apps calico-apiserver -o yaml > e.yaml
kubectl delete -f a.yaml
kubectl delete -f b.yaml
kubectl delete -f c.yaml
kubectl delete -f d.yaml
kubectl delete -f e.yaml
2、删除custom-resources.yaml
kubectl delete -f tigera-operator.yaml
kubectl delete -f custom-resources.yaml
3、删除vxlan.calico
ip link delete vxlan.calico
4、修改custom-resources.yaml文件,添加 nodeAddressAutodetectionV4:
# This section includes base Calico installation configuration.
# For more information, see: https://projectcalico.docs.tigera.io/v3.23/reference/installation/api#operator.tigera.io/v1.Installation
apiVersion: operator.tigera.io/v1
kind: Installation
metadata:
name: default
spec:
# Configures Calico networking.
calicoNetwork:
# Note: The ipPools section cannot be modified post-install.
#bgp: Enabled
#hostPorts: Enabled
ipPools:
- blockSize: 26
cidr: 10.244.0.0/16
encapsulation: VXLANCrossSubnet
natOutgoing: Enabled
nodeSelector: all()
#linuxDataplane: Iptables
#multiInterfaceMode: None
nodeAddressAutodetectionV4:
interface: ens.*
---
# This section configures the Calico API server.
# For more information, see: https://projectcalico.docs.tigera.io/v3.23/reference/installation/api#operator.tigera.io/v1.APIServer
apiVersion: operator.tigera.io/v1
kind: APIServer
metadata:
name: default
spec: {}
5、重新创建
kubectl create -f tigera-operator.yaml
kubectl create -f custom-resources.yaml
检查
kubectl -n calico-system get daemonsets.apps calico-node -o yaml|grep -A2 IP_AUTODETECTION_METHOD

参考网址
ubuntu20.04下k8s集群及网络部署史上最详细文档 - 知乎
「Kubernetes」- 常见 Calico 问题 @20210422
昨晚加班到10点····搞这个破玩意儿言归正传上一篇在master成功kubeadminit了,但是安装networkadd-on时总是出错。今天来再试一试。首先我是按照这篇博文安装的,https://blog.csdn.net/weixin_43645454/article/details/124952184因为国内安装真的太多坑了。官网根本没法看首先我按照这篇博文没有成功安装calico,原因是:在kubeadminit时配置了serviceSubnet,很明显是service的子网的意思同时在calico.yml中配置的是CALICO_IPV4POOL_CIDR,意思是podip池博文中
故障描述calico-kube-controllers异常,不断重启日志信息如下2023-02-2101:26:47.085[INFO][1]main.go92:Loadedconfigurationfromenvironmentconfig=&config.Config{LogLevel:"info",WorkloadEndpointWorkers:1,ProfileWorkers:1,PolicyWorkers:1,NodeWorkers:1,Kubeconfig:"",DatastoreType:"kubernetes"}W022101:26:47.0869801client_confi
目录机器信息升级内核系统配置部署容器运行时Containerd安装crictl客户端命令配置服务器支持开启ipvs的前提条件安装kubeadm、kubelet和kubectl初始化集群(master)安装CNI Calico集群加入node节点机器信息主机名集群角色IP内核系统版本配置l-shahe-k8s-master1.ops.prodmaster10.120.128.15.4.231-1.el7.elrepo.x86_64CentOSLinuxrelease7.9.2009(Core)32C128G10.120.129.1node10.120.129.15.4.231-1.el7.elr
目录机器信息升级内核系统配置部署容器运行时Containerd安装crictl客户端命令配置服务器支持开启ipvs的前提条件安装kubeadm、kubelet和kubectl初始化集群(master)安装CNI Calico集群加入node节点机器信息主机名集群角色IP内核系统版本配置l-shahe-k8s-master1.ops.prodmaster10.120.128.15.4.231-1.el7.elrepo.x86_64CentOSLinuxrelease7.9.2009(Core)32C128G10.120.129.1node10.120.129.15.4.231-1.el7.elr
使用tigera-operator方式安装的calico,启动后报错,所有的calico相关的pod都显示CrashLoopBackoff。kubectl-ncalico-systemdescribepodcalico-node-2t8w6,发现如下报错:Readinessprobefailed:calico/nodeisnotready:BIRDisnotready:ErrorqueryingBIRD:unabletoconnecttoBIRDv4socket:dialunix/var/run/calico/bird.ctl:connect:nosuchfileordirectory.问题原
使用tigera-operator方式安装的calico,启动后报错,所有的calico相关的pod都显示CrashLoopBackoff。kubectl-ncalico-systemdescribepodcalico-node-2t8w6,发现如下报错:Readinessprobefailed:calico/nodeisnotready:BIRDisnotready:ErrorqueryingBIRD:unabletoconnecttoBIRDv4socket:dialunix/var/run/calico/bird.ctl:connect:nosuchfileordirectory.问题原
生产环境下,通常会将业务网和存储网进行分离,因此服务器通常会有多块网卡,在裸金属服务器初始化Kubernetes环境后,在安装网卡插件时需要指定业务网网卡名称,才能使集群应用正确的网络地址。本文介绍使用Calico插件作为cni实现,在多网卡环境下,指定集群使用的网络。一、系统环境系统安装了多块网卡并配置了多个IP,管理网、业务网和存储网分离。Kubernetes已经完成了初始化。相关工作节点已加入集群。名称版本Kubernetes版本1.22.15网络插件类型/版本calico/3.24操作系统类型/版本centos/7.9其中172.16.16.0/23是存储网络,172.16.10.0/
生产环境下,通常会将业务网和存储网进行分离,因此服务器通常会有多块网卡,在裸金属服务器初始化Kubernetes环境后,在安装网卡插件时需要指定业务网网卡名称,才能使集群应用正确的网络地址。本文介绍使用Calico插件作为cni实现,在多网卡环境下,指定集群使用的网络。一、系统环境系统安装了多块网卡并配置了多个IP,管理网、业务网和存储网分离。Kubernetes已经完成了初始化。相关工作节点已加入集群。名称版本Kubernetes版本1.22.15网络插件类型/版本calico/3.24操作系统类型/版本centos/7.9其中172.16.16.0/23是存储网络,172.16.10.0/
Calico简介Calico官方文档:https://projectcalico.docs.tigera.io/getting-started/kubernetes/quickstartCalico是一套开源的网络和网络安全解决方案,用于容器、虚拟机、宿主机之前的网络连接,它是一个纯三层的虚拟化网络解决方案,它把每个节点都作为一个虚拟路由器,并把每个节点上的Pod当作是节点路由器后的一个终端设备并为其分配一个IP地址。各节点路由器通过BGP协议生成路由规则,从而实现不通节点上Pod间的通信。如下图:与Flannel相比,Calico的一个显著优势是对网络策略的支持,它允许用户定义访问控制规则以
Calico简介Calico官方文档:https://projectcalico.docs.tigera.io/getting-started/kubernetes/quickstartCalico是一套开源的网络和网络安全解决方案,用于容器、虚拟机、宿主机之前的网络连接,它是一个纯三层的虚拟化网络解决方案,它把每个节点都作为一个虚拟路由器,并把每个节点上的Pod当作是节点路由器后的一个终端设备并为其分配一个IP地址。各节点路由器通过BGP协议生成路由规则,从而实现不通节点上Pod间的通信。如下图:与Flannel相比,Calico的一个显著优势是对网络策略的支持,它允许用户定义访问控制规则以