k8s安装dashboard报错CrashLoopBackOff

报错信息

使用kubectl get pods -A查看集群,出现错误:

复制代码
kubernetes-dashboard   kubernetes-dashboard-xxxxxxxxxx6-2qrst        0/1     CrashLoopBackOff   6          15m

查看日志后,发现原因:

复制代码
panic: Get "https://10.6.10.1:443/api/v1/namespaces/kubernetes-dashboard/secrets/kubernetes-dashboard-csrf": dial tcp 10.96.0.1:443: i/o timeout 
goroutine 1 [running]:
github.com/kubernetes/dashboard/src/app/backend/client/csrf.(*csrfTokenManager).init(0xc00041ca20)
 /home/runner/work/dashboard/dashboard/src/app/backend/client/csrf/manager.go:41 +0x413
github.com/kubernetes/dashboard/src/app/backend/client/csrf.NewCsrfTokenManager(...)
 /home/runner/work/dashboard/dashboard/src/app/backend/client/csrf/manager.go:66
github.com/kubernetes/dashboard/src/app/backend/client.(*clientManager).initCSRFKey(0xc0004a0e00)
 /home/runner/work/dashboard/dashboard/src/app/backend/client/manager.go:502 +0xc6
github.com/kubernetes/dashboard/src/app/backend/client.(*clientManager).init(0xc0004a0e00)
 /home/runner/work/dashboard/dashboard/src/app/backend/client/manager.go:470 +0x47
github.com/kubernetes/dashboard/src/app/backend/client.NewClientManager(...)
 /home/runner/work/dashboard/dashboard/src/app/backend/client/manager.go:551

原因

dashboard的数据包直接被REJECT(拒绝)

解决方案

方案一:

原理:修改防火墙规则

方案弊端:虚拟机环境下创建的k8s可视化面板好像没有效果

操作如下:

  1. 保存现有的防火墙规则

    iptables-save > iptables.rules

  2. 修改规则策略为ACCEPT

    iptables -P INPUT ACCEPT

    iptables -P FORWARD ACCEPT

    iptables -P OUTPUT ACCEPT

  3. 执行下命令:

    iptables -F

方案二

原因:同样是网络问题,具体而言是在初始化k8s集群时,--pod-network-cidr=192.168.0.0/16网段与虚拟机IP网段冲突

操作:重装k8s集群,具体参考:Ubuntu重装kubernetes集群-CSDN博客

++(下面步骤和参考链接有所不同,也是解决这个问题的关键)++

  1. 将原来--pod-network-cidr=192.168.0.0/16修改为与虚拟机IP不同的网段,比如--pod-network-cidr=192.170.0.0/16

  2. 修改网络插件配置calico.yaml,修改IP

参考

https://zhuanlan.zhihu.com/p/368578555

安装kubernetes-dashboard时显示为CrashLoopBackOff或Error状态的可能原因 - 岁月已走远 - 博客园

相关推荐
分布式存储与RustFS1 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
codeejun1 天前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
赵文宇(温玉)1 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
张洛闻Eren2 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
Thneonl2 天前
你的 Pod 为什么 Pending:调度器两阶段
后端·kubernetes
不吃香菜kkk、2 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
ChaITSimpleLove2 天前
云原生性能对决:JDK21虚拟线程+GraalVM vs .NET10/11 技术栈深度对比
微服务·云原生·serverless·graalvm native·native aot·runtime async·.net11/java21
春天花会开1312 天前
Supabase 自部署 Edge Functions 超时从 60s 延长到 360s 完整复盘
运维·云原生
ysu_03143 天前
【2026】K8s GPU调度空占怎么解?Kueue与Volcano Gang配置
云原生·kubernetes·gpu算力·volcano·ai基础设施·kueue·gang scheduling
哈__3 天前
KES-Operator重塑Kubernetes环境下的KES数据库集群管理
数据库·kubernetes·operator·kes