发生的原因:
- 当时创建了 Jenkins的yaml文件,镜像是用k8s里面harbor的镜像(没起来)。
- 另外一个创建用命令直接拉取着这个镜像从几MB一秒的拉取速度变成后面的几百KB
- 第一个问题 当时没拉起来是因为需要修改配置文件 因为harbor是用http的,应该是和当时文件里面的另外一个配置冲突了。
- 然后我手动删除这个没起来的pod。发现一直卡主。然后重新修改了yaml文件改pod名字。重启apply。
- 导致k8s一直卡主,etcd卡主。kube-apiserver.yaml 文件发现不见了!!!
- 一直尝试修复都未成功,只能重装k8s。
- 重装后,有一个配置没添加kubectl get node k8s01 -o jsonpath='{.spec.podCIDR}'# 预期输出:10.244.0.0/24
- 导致网络插件Flannel,一直没起来导致系统的coredn也没能起来。
在vim /etc/kubernetes/manifests/kube-controller-manager.yaml中添加
spec: containers: - command: - kube-controller-manager - --allocate-node-cidrs=true # 确保启用 - --cluster-cidr=10.244.0.0/16 # 与 Flannel 的 Network 配置一致 - --node-cidr-mask-size=24 # 可选,默认24 # 其他原有参数...
# 1. 临时移除清单文件 重启 kube-controller-manager mv /etc/kubernetes/manifests/kube-controller-manager.yaml /tmp/ sleep 10 # 等待 Pod 终止 # 2. 恢复清单文件 mv /tmp/kube-controller-manager.yaml /etc/kubernetes/manifests/
总结:
- /etc/kubernetes/manifests/ 这个目录下的文件 记得备份!!!!!
- 别轻易重新系统
- 对k8s的配置操作要谨慎
- 这次折腾了一晚上,k8s里面的ceph和Jenkins和harbor估计都没了。。。
- 对于ceph放k8s里面容器化部署还是需要谨慎,就比如说这次如果是裸机部署的ceph,重装了k8s,数据应该不会丢失的。
describe