背景说明:

随着docker使用的逐步深入,docker的管理变得越来越麻烦,单纯的通过docker命令行的方式进行管理已经不能满足需求,同时也存在效率低下的问题。所以急需一个docker集群管理工具,要求是开源、稳定、持续发展。从上网看,开源的项目有很多,大部分都比较陈旧,个人感觉shipyard比较合适,简单实用,但是shipyard最近在github上通知关闭项目,不再维护,本来还想既然这个是开源项目,那就拿到源码自己改造也行,结果是用go写的,只会python,go搞不定。所以放弃了。

目前最大的应该就是谷歌的kubernetes了,也就是k8s,但是这个有一个公认的难题,集群搭建极其复杂,并且由于某些原因,国内访问不了goole,很多资料和源码也不好下载,形成第一道门槛,为此,个人花了一周的时间,研究k8s的搭建,做了如下两个部署包,实现一键部署。包中包含了k8s程序以及依赖,可以直接执行。说明如下:

环境说明:

Kubernetes版本:v1.8.3

操作系统:centos7

docker版本:17.03ce

集群环境:

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提供了所有需要的接口,技术上没有什么难度,就看个人愿不愿意做了。

最新文章

  1. 减小服务器负担,Apache启用mod_expires模块
  2. Myeclipse 加载ojdbc14.jar步骤
  3. autolayout的各种坑
  4. 20145218 《Java程序设计》第二周学习总结
  5. iOS block的用法
  6. c#基础语言编程-序列化
  7. Linux的正常关机
  8. 攻略三战的完美体验3Castle Fantisia阿兰·梅希亚战争艾伦西战记它包含重做版本(这是新的艾伦·梅希亚大战)
  9. UVA 10537 - The Toll! Revisited(dijstra扩张)
  10. Extjs4 up 和down的用法
  11. duilib绘制边框
  12. [noip 2015]运输计划 [LCA][树链剖分]
  13. Ubuntu16.04部署phantomjs的一个问题
  14. Selenuim自动化测试模型
  15. java设计模式--UML类图
  16. MySQL -- 异步I/O
  17. uva11552
  18. Windows server 2008 被ntlmssp安装攻击 解决
  19. “Unable to open kernel device \\.\Global\vmx86
  20. Error creating bean with name 'as' defined in class path resource

热门文章

  1. Learn How To Attach PL/SQL Library In Oracle Forms
  2. Upan
  3. ElasticSearch的备份迁移方案
  4. 2017.2.20 activiti实战--第二章--搭建Activiti开发环境及简单示例(二)简单示例
  5. Hibernate之load和get的差别
  6. 性能测试报告模板 V1.0
  7. 给java类加static修饰编译器会说什么?
  8. 统一建模语言(UML,Unified Modeling Language)
  9. 高阶函数:filter()
  10. Flume-1-7-0用户手册