自己在学习k8s时,也是摸石头过河,踩了很多坑,记录下来,给初学者一些启发,光看《k8s权威指南》是学不会的
二进制安装k8s,参考网上很多教程,比如<手工搭建k8s>。按照这些教程,安装etcd,docker,k8s的组件,这些步骤都做完后,但是通过命令:
kubectl get nodes
// 发现两个node节点都是not ready
然后一顿百度,发现家可能是虚拟机,在一台机器上,没有网络划分的问题,但是我在多台机器上部署,需要需要网络插件oci,于是我选择了为docker量身定制的flannel。按照<k8s集群上安装flannel网络>,发现怎么都启动不起来。然后各种百度问题,找到一些靠谱的解释:<etcd在k8s集群上的使用>, 原因大概是etcd有v2和v3两个版本,而这个连个版本存在着巨大的差距,于是问题定位到了etcd这边。
这其中就有部署etcd的小插曲,etcd最简单的就是一切采用默认参数运行,这样确实很好,但是却出问题了。