可昕之家

可昕之家

张先生

平淡如水,爱护家人,好好工作

34 文章数
0 评论数

k8scoredns启动失败

张清磊
2025-03-14 / 0 评论 / 11 阅读 / 0 点赞

部署好flannel后,部署coredns,报错,检查/opt/cni/bin目录下,发现没有文件

Failed to create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container "3bf7500d12ae67983dcd2795d2feb168dceb563ac78afa5508d973db84ed5b47" network for pod "coredns-6f4c9cb7c5-jg5mj": networkPlugin cni failed to set up pod "coredns-6f4c9cb7c5-jg5mj_kube-system" network: failed to find plugin "loopback" in path [/opt/cni/bin], failed to clean up sandbox container "3bf7500d12ae67983dcd2795d2feb168dceb563ac78afa5508d973db84ed5b47" network for pod "coredns-6f4c9cb7c5-jg5mj": networkPlugin cni failed to teardown pod "coredns-6f4c9cb7c5-jg5mj_kube-system" network: failed to find plugin "portmap" in path [/opt/cni/bin]]

kubelet 日志

Unable to update cni config: no valid networks found in /etc/cni/net.d
方法1

解决办法

cat < /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

安装软件,存在BUG:这个会自己下载kubelet,对于二进制安装的K8S来说不可能用这种方法,且卸载的时候还会卸掉一些自己配置的东西

yum clean all && yum makecache && yum -y install kubernetes-cni

方法二

解决办法

下载cni插件,下载后解压到/opt/cni/bin之后kubelet,然后重新部署flannel和coredns

https://github.com/containernetworking/plugins/releases
kubectl describe po coredns-5dd5756b68-rc5t8 --namespace kube-system

kubectl describe po coredns-5dd5756b68-85rjp --namespace kube-system

删除pod

kubectl delete pods coredns-5dd5756b68-5rbzh -n kube-system

kubectl delete pods coredns-5dd5756b68-rc5t8 -n kube-system --force

kubectl delete pods coredns-5dd5756b68-wg7xn -n kube-system --force

kubectl -n kube-system get deployment coredns -o yaml | kubectl apply -f -Bash

ECS Linux服务器loopback网卡的作用说明

 主机中的loopback的作用

  

  请注意:loopback网卡这个为本地的回环网卡,就是客户在服务器进行自访问测试127.0.0.1或localhost时使用的网卡,若禁用的话在本机测试会无法进行自访问的,而且届时也将会无法ping通,建议不要进行禁用。

k8s网络插件有哪些

Kubernetes网络插件主要有以下几种

  1. Flannel:Flannel是一个流行的CNI插件,它使用虚拟网络覆盖技术(overlay network)来连接不同节点上的容器。Flannel支持多种后端驱动,如VXLAN、UDP、Host-GW等,适用于需要跨节点通信的场景。‌1
  2. Calico:Calico是一个开源的网络和安全解决方案,它使用BGP协议来实现容器之间的路由。Calico支持灵活的网络策略和安全规则,适用于大规模部署。
  3. Weave Net:Weave Net是一个轻量级的CNI插件,通过创建虚拟网络设备和网络代理来连接不同节点上的容器。Weave Net支持overlay模式和直连模式,具有灵活性。
  4. Cilium:Cilium是面向Kubernetes的高性能网络和安全解决方案,利用eBPF(Extended Berkeley Packet Filter)技术来提供快速的容器间通信和网络策略实施。
  5. Canal:Canal是一个综合性的CNI插件,结合了Calico和Flannel的功能。它可以使用Flannel提供overlay网络,同时使用Calico的网络策略和安全性功能。
  6. Antrea:Antrea是一个基于Open vSwitch的CNI插件,专为Kubernetes网络和安全性而设计。它提供了高性能的网络连接和网络策略功能。
  7. kube-router:kube-router是一个开源的CNI插件,它结合了网络和服务代理功能,适用于需要高性能网络和服务代理的场景。

选择网络插件时,应根据具体需求来决定。例如,如果需要大规模的网络策略和安全性管理,Calico可能是一个好选择;如果需要跨节点通信的高性能实现,Flannel可能更适合。每种插件都有其独特的优势和适用场景,选择时应根据实际需求进行评估

上一篇 下一篇
评论
最新回复
    暂无内容
光阴似箭
今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月
文章目录
今日天气