利用Docker安装多节点Kubernetes

译者:王乐 校对:无

注意: 这个介绍一定程度上会比single node里的介绍要更进一步。如果你有兴趣探索Kubernetes,我们建议你从这里开始。 注意: Docker 1.7.0里的一个bug影响Docker上多节点的正常安装。 请安装Docker版本1.6.2或1.7.1.

前提条件

  1. 你需要你一台安装有正确版本的Docker的主机。

概括介绍

本指南会指导架设有2个节点的Kubernetes集群。其中包括一个支持API服务器和编排工作的主节点,和一个从主节点接受任务的从节点。你可以按照同样的步骤添加任意数量的从节点,从而假设一个庞大的集群。

这里的图标展示了最终的结果: Kubernetes Single Node on Docker

引导启动Docker

本指南同样运行两个Docker后台程序实例的模式 1) 一个引导启动的Docker容器实例用来运行例如flanneldetcd系统后台程序。 2) 一个_主_Docker容器实例来服务Kubernetes和用户容器。

这个模式是有必要的,因为flannel的后台程序是负责建立和管理Kubernetes新建的Docker容器间的相互通信。所以flannel必须要运行在主_Docker后台程序之外。为了利用容器来方便部署和管理,我们使用了这个较简单的引导启动_的Docker后台程序来实现这一点。

在安装前你可以在每个节点上选择k8s的版本:

export K8S_VERSION=<your_k8s_version (e.g. 1.0.3)>

否则, 我们会使用最新的hyperkube镜像当作默认k8s版本。

主节点

第一步是初始化主节点。 复制Kubernetes在Github上的repo,并在主节点的主机上以root身份运行脚本master.sh:

cd kubernetes/docs/getting-started-guides/docker-multinode/
./master.sh

Master done!

参考这里 for detailed instructions explanation.

添加从节点

当主节点正常运行后,你可以在不同的主机上添加更多的从节点。

复制Kubernetes在Github上的repo,并在从节点的主机上以root身份运行脚本worker.sh:

export MASTER_IP=<your_master_ip (e.g. 1.2.3.4)>
cd kubernetes/docs/getting-started-guides/docker-multinode/
./worker.sh

Worker done!

参考这里 for detailed instructions explanation.

部署DNS

参考这里 for instructions.

测试你的集群

一旦你的集群创建完毕,你可以进行测试

请参见examples directory里更多的完整应用。