引导dockerdeamon

在官方的Kubernetes多节点Docker指南中提到,您需要另一个Docker实例:

A bootstrap Docker instance which is used to start etcd and flanneld, on which the Kubernetes components depend 

那么什么是引导实例,以及如何确保在重新启动时保持运行?

文档给出了有关Docker引导实例目的的详细说明:

本指南使用运行Docker守护进程的两个实例的模式:1)引导Docker实例,用于启动Kubernetes组件依赖的etcd和flanneld 2)用于Kubernetes基础结构和用户的主要Docker实例预定的容器

这种模式是必须的,因为flannel守护进程负责设置和pipe理互连所有由Kubernetes创build的Docker容器的networking。 为了达到这个目的,它必须在主要的Docker守护进程之外运行。 但是,使用容器进行部署和pipe理仍然很有用,所以我们创build一个更简单的引导守护程序来实现这一点。

总而言之,特殊的引导docker守护程序运行kubernetes依赖的位,释放正常的docker守护进程以由kubernetespipe理。 这是一个技巧,利用了这个事实,即etcdflanneld可以作为容器运行。 另外一个人将不得不在本地设置为服务。

至于确保引导docker守护进程重新生存,答案在代码中。 这是运行master.sh脚本时被调用的地方

所以代码尝试为额外的docker守护进程设置一个服务。