背景说明:

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

【docker】kubernetes集群一键部署包的更多相关文章

  1. Kubernetes集群的部署方式及详细步骤

    一.部署环境架构以及方式 第一种部署方式 1.针对于master节点 将API Server.etcd.controller-manager.scheduler各组件进行yum install.编译安 ...

  2. 在 Kubernetes 集群快速部署 KubeSphere 容器平台

    KubeSphere 不仅支持部署在 Linux 之上,还支持在已有 Kubernetes 集群之上部署 KubeSphere,自动纳管 Kubernetes 集群的已有资源与容器. 前提条件 Kub ...

  3. 高可用Kubernetes集群-15. 部署Kubernetes集群统一日志管理

    参考文档: Github:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsear ...

  4. 高可用Kubernetes集群-14. 部署Kubernetes集群性能监控平台

    参考文档: Github介绍:https://github.com/kubernetes/heapster Github yaml文件: https://github.com/kubernetes/h ...

  5. Kubernetes 集群安装部署

    etcd集群配置 master节点配置 1.安装kubernetes etcd [root@k8s ~]# yum -y install kubernetes-master etcd 2.配置 etc ...

  6. 高可用Kubernetes集群-12. 部署kubernetes-ingress

    参考文档: Github:https://github.com/kubernetes/ingress-nginx Kubernetes ingress:https://kubernetes.io/do ...

  7. 高可用Kubernetes集群-11. 部署kube-dns

    参考文档: Github介绍:https://github.com/kubernetes/dns Github yaml文件:https://github.com/kubernetes/kuberne ...

  8. K8S从入门到放弃系列-(15)Kubernetes集群Ingress部署

    Ingress是kubernetes集群对外提供服务的一种方式.ingress部署相对比较简单,官方把相关资源配置文件,都已经集合到一个yml文件中(mandatory.yaml),镜像地址也修改为q ...

  9. 云计算之路-阿里云上-容器难容:优化自建 docker swarm 集群的部署

    在上周六遭遇阿里云容器服务 swarm 版的故障之后,我们决定还是走自建 docker swarm 之路,只要不是阿里云底层的问题,我们相信会找到办法解决或避开自建 docker swarm 不稳定的 ...

随机推荐

  1. Blocks编程要点

    [老狼推荐]Blocks编程要点原文:Blocks Programming Topics链接:http://developer.apple.com/library/ios/#documentation ...

  2. 【hibernate】主键生成策略使用UUID报出如下警告:org.hibernate.id.UUIDHexGenerator - HHH000409: Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 4122 compliant UUID values;

    主键生成策略使用UUID报出如警告如下: 控制台- 2017-11-24 18:40:14 [restartedMain] WARN org.hibernate.id.UUIDHexGenerator ...

  3. ubuntu下apache添加https支持

    http是无状态,不安全的连接.而https是通过ssl加密的http连接,可靠性更强. 确保openssl安装完成,用openssl来产生和签署证书,可以自己签署,但是不安全,建议用证书机构颁发的证 ...

  4. SVG图片背景透明

    今天在调整网页的时候,将logo以原有直接贴代码形式,改为加载文件. 其实真正的目的是做SEO.上次SEO交流后得出 结论:核心在于内容的本身的优化.信噪比很重要.也就是有效信息需要占文章的主要内容, ...

  5. java模拟http的Get/Post请求,并设置ip与port代理

    本文涉及3个基本点: 1.因为很多公司的内网都设有代理,浏览器通过ip与port上网,而java代码模拟http get方式同样需要外网代理: 2.Java实现http的Get/Post请求代码: 3 ...

  6. 导出excel(利用工具类导出excel)

    /** * 添加导出功能 * @param creditPageResult * @param request * @param response */ @RequestMapping(value = ...

  7. 简单实现接口自动化测试(基于python+unittest)

    简单实现接口自动化测试(基于python+unittest) 简介 本文通过从Postman获取基本的接口测试Code简单的接口测试入手,一步步调整优化接口调用,以及增加基本的结果判断,讲解Pytho ...

  8. linux 挂载移动盘

    http://www.2cto.com/os/201411/354319.html 磁盘出现问题,有时候卸载不掉 参见http://blog.csdn.net/davil_dev/article/de ...

  9. 【Python】分析文本split()

    分析单个文本 split()方法,是以空格为分隔符将字符串拆分成多个部分,并将这些部分存储到一个列表中 title = 'My name is oliver!' list = title.split( ...

  10. lambda表达式转换sql

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; usin ...