1. 加入集群后节点状态一直是NotReady
出现这个错误可以在节点机器上执行journalctl -f -u kubelet
查看kubelet的输出日志信息.
发现以下错误
Mar 19 01:02:34 cfdemo2 kubelet[2623]: W0319 01:02:34.534687 2623 cni.go:237] Unable to update cni config: no networks found in /etc/cni/net.d
Mar 19 01:02:37 cfdemo2 kubelet[2623]: E0319 01:02:37.781182 2623 kubelet.go:2183] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
原因是网络插件没有准备好,通过docker images|grep flannel查看镜像是否存在。
处理办法:
部署flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
- 容器状态
- ContainerCreating
- CrashLoopBackOff
- Error
- kubectl apply 跟kubectl create有什么区别
kubectl create
先删除所有现有的东西,重新根据yaml文件生成新的。所以要求yaml文件中的配置必须是完整的
用同一个yaml 文件执行替换命令replace,将不会成功,fail掉
kubectl apply
根据yaml文件里面列出来的内容,升级现有的资源对象,所以yaml文件的内容可以只写需要升级的属性
学习资料
- Docker入门教程(超简单): http://www.runoob.com/docker/docker-tutorial.html
- kubernetes 官方文档(堪比葵花宝典): https://kubernetes.io/docs/home
- 宋净超的技术博客(社区牛人): https://jimmysong.io/categories/kubernetes/
- (架构师必看): http://www.infoq.com/cndockone
- (容器社区第一论坛):http://dockone.io/topic/Kubernetes
- 中文社区:https://www.kubernetes.org.cn/k8s
- Kubernetes指南:https://feisky.gitbooks.io/kubernetes/architecture/
- 胡伟煌 Kubernetes 学习笔记: https://www.bookstack.cn/read/huweihuang-kubernetes-notes/README.md
- 知识图谱:https://www.processon.com/view/link/5ac64532e4b00dc8a02f05eb?spm=a2c4e.10696291.0.0.6ec019a4bYSFIw#map
- 杨明 从Docker到Kubernetes进阶: https://www.qikqiak.com/k8s-book/