在官方Kubernetes multinode Docker指南中,提到您需要另一个Docker实例:
A bootstrap Docker instance which is used to start etcd and flanneld, on which the Kubernetes components depend
那么什么是引导实例?如何确保在重启时保持运行?
答案 0 :(得分:1)
documentation详细解释了Docker引导实例的用途:
本指南使用运行Docker的两个实例的模式 守护进程:1)一个bootstrap Docker实例,用于启动etcd和 flanneld,Kubernetes组件所依赖的2)主要的Docker 用于Kubernetes基础架构和用户的实例 预定的容器
这种模式是必要的,因为法兰绒守护进程负责 用于设置和管理互连所有网络的网络 由Kubernetes创建的Docker容器。要实现这一点,它必须运行 在主Docker守护进程之外。但是,它仍然有用 用于部署和管理的容器,因此我们创建了一个更简单的 bootstrap守护进程实现此目的。
总之,特殊的bootstrap docker守护进程运行kubernetes依赖的位,释放由kubernetes管理的普通docker守护进程。这是一个利用 etcd 和 flanneld 都可以作为容器运行的事实。或者,人们必须在本地将它们设置为服务。
至于确保bootstrapping docker守护程序在重新启动后仍能存活,答案就在代码中。这是在运行 master.sh 脚本时调用的位置。
因此代码尝试为额外的docker守护程序进程设置服务。