1.Kubernetes的架构和组件,在部署时,它的每一个组件都是一个需要被执行的、单独的二进制文件,所以不难想象,SaltStack这样的运维工具或由社区维护的脚本的功能,就是要把这些二进制文件传输到指定的机器当中,然后编写控制脚本来启停这些组件
2.kubelet是Kubernetes项目用来操作Docker等容器运行时的核心组件,可是除了跟容器运行时打交道外,kubelet在配置容器网络、管理容器数据卷时,都需要直接操作宿主机。到目前为止,在容器里运行kubelet,依然没有很好的解决办法,所以不推荐用容器去部署Kubernetes项目
3.kubeadm选择了一种妥协方案:把kubelet直接运行在宿主机上,然后使用容器部署其他的Kubernetes组件,所以使用kubeadm的第一步,是在机器上手动安装kubeadm、kubelet和kubectl这三个二进制文件