背景说明:node
随着docker使用的逐步深刻,docker的管理变得愈来愈麻烦,单纯的经过docker命令行的方式进行管理已经不能知足需求,同时也存在效率低下的问题。因此急需一个docker集群管理工具,要求是开源、稳定、持续发展。从上网看,开源的项目有不少,大部分都比较陈旧,我的感受shipyard比较合适,简单实用,可是shipyard最近在github上通知关闭项目,再也不维护,原本还想既然这个是开源项目,那就拿到源码本身改造也行,结果是用go写的,只会python,go搞不定。因此放弃了。python
目前最大的应该就是谷歌的kubernetes了,也就是k8s,可是这个有一个公认的难题,集群搭建极其复杂,而且因为某些缘由,国内访问不了goole,不少资料和源码也很差下载,造成第一道门槛,为此,我的花了一周的时间,研究k8s的搭建,作了以下两个部署包,实现一键部署。包中包含了k8s程序以及依赖,能够直接执行。说明以下:linux
环境说明:git
Kubernetes版本:v1.8.3github
操做系统:centos7docker
docker版本:17.03cecentos
集群环境:服务器
3台虚拟机(提早安装好docker)工具
######docker安装方式#################阿里云
yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
#####################################
master主机:192.168.1.107
node1节点:192.168.1.110
node2节点:192.168.1.111
#k8s的程序包未通过任何改动,是官方原版的1.8.3包。我的写了安装脚本
kubernetes-master下载连接
连接: https://pan.baidu.com/s/1slyrxut 密码: 7y96
kubernetes-node下载连接
连接: https://pan.baidu.com/s/1dHhcR3z 密码: w43e
使用方式:
master安装:
1,下载kubernetes-master包,解压到任意目录,执行readme_and_install.sh脚本,根据提示输入master ip地址
node安装:
2,下载kubernetes-node包,解压到任意目录,执行readme_and_install.sh脚本,根据提示输入master和node的ip地址
3,都安装完成以后,在master执行(如提示kubectl命令未找到,执行source /etc/profile后再执行)
kubectl get nodes
应该能看到两个节点,表示集群安装成功。
总结:
通过本次研究k8s,我的感受这个东西暂时不敢用在正式项目上,缘由以下:
1,k8s是goole的项目,全部资料和源码都在goole上存放(虽然在github上也有,可是真正下载的时候仍是连接谷歌服务器),致使国内下载和查询很困难,出了问题很差查资料。
2,k8s过于复杂,虽然提供的功能不少,编排、自动部署、持续集成。可是正是因为过于丰富的功能,致使部署和使用很是复杂,单靠我的力量,出了问题搞不定。
3,目前互联网公司大部分使用公有云,好比阿里云,aws和微软云,他们都提供了docker管理工具,相较于本身研究k8s,不如直接使用公有云提供的管理工具,好比aws的ecs(管理工具不收费,只按照真实的ec2使用收费)。
后记
shipyard中止维护挺惋惜的,shipyard知足了现阶段对docker管理的全部需求,界面还能够,同时又可以管理docker集群。不过经过shipyard的设计思路却是给我了很多灵感,若是我的时间充足,我感受我宁愿本身写一套相似于shipyard的docker管理工具,也不肯意使用k8s,毕竟我的开发的管理工具可以针对具体业务进行有重点的设计,并且docker提供了全部须要的接口,技术上没有什么难度,就看我的愿不肯意作了。