【docker】kubernetes集群一键部署包
背景说明:
随着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集群一键部署包的更多相关文章
- Kubernetes集群的部署方式及详细步骤
一.部署环境架构以及方式 第一种部署方式 1.针对于master节点 将API Server.etcd.controller-manager.scheduler各组件进行yum install.编译安 ...
- 在 Kubernetes 集群快速部署 KubeSphere 容器平台
KubeSphere 不仅支持部署在 Linux 之上,还支持在已有 Kubernetes 集群之上部署 KubeSphere,自动纳管 Kubernetes 集群的已有资源与容器. 前提条件 Kub ...
- 高可用Kubernetes集群-15. 部署Kubernetes集群统一日志管理
参考文档: Github:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsear ...
- 高可用Kubernetes集群-14. 部署Kubernetes集群性能监控平台
参考文档: Github介绍:https://github.com/kubernetes/heapster Github yaml文件: https://github.com/kubernetes/h ...
- Kubernetes 集群安装部署
etcd集群配置 master节点配置 1.安装kubernetes etcd [root@k8s ~]# yum -y install kubernetes-master etcd 2.配置 etc ...
- 高可用Kubernetes集群-12. 部署kubernetes-ingress
参考文档: Github:https://github.com/kubernetes/ingress-nginx Kubernetes ingress:https://kubernetes.io/do ...
- 高可用Kubernetes集群-11. 部署kube-dns
参考文档: Github介绍:https://github.com/kubernetes/dns Github yaml文件:https://github.com/kubernetes/kuberne ...
- K8S从入门到放弃系列-(15)Kubernetes集群Ingress部署
Ingress是kubernetes集群对外提供服务的一种方式.ingress部署相对比较简单,官方把相关资源配置文件,都已经集合到一个yml文件中(mandatory.yaml),镜像地址也修改为q ...
- 云计算之路-阿里云上-容器难容:优化自建 docker swarm 集群的部署
在上周六遭遇阿里云容器服务 swarm 版的故障之后,我们决定还是走自建 docker swarm 之路,只要不是阿里云底层的问题,我们相信会找到办法解决或避开自建 docker swarm 不稳定的 ...
随机推荐
- (转)python request用法
强烈推荐!requests官方文档已有了中文版,请见http://cn.python-requests.org/zh_CN/latest/ requests是python的一个HTTP客户端库,跟ur ...
- Importance sampling
用蒙特卡洛求解积分时 (Monte Carlo 随机采样对目标积分函数做近似) importance sampling func p(x) p(x)值大的地方,Monte Carlo多采几次 值小的地 ...
- 开源 免费 java CMS - FreeCMS2.1 会员我的留言
项目地址:http://www.freeteam.cn/ 我的留言 从左側管理菜单点击我的留言进入.在这里能够查看当前登录会员的全部留言记录. 查看留言 点击留言标题能够查看留言具体内容. 删除留言 ...
- 【转载】ORM的概念, ORM到底是什么
一.ORM简介 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.简单的说,ORM是通过使 ...
- 无刷新URL 更新
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- Anaconda装OpenCV
感谢来源: http://blog.csdn.net/fairylrt/article/details/43560525 前两天看到段子说开源软件就是各种配置,这是一件很辛苦的事情. Anacond ...
- 树莓派 CPU & 主板 温度
CPU cat /sys/class/thermal/thermal_zone0/temp | awk '{print $1/1000}' 主板 /opt/vc/bin/vcgencmd measur ...
- Excel COM组件使用的注意事项和一些权限问题(转载)
1.实例化Excel的COM组件的时候,不要直接调用类,要用Microsoft提供的接口 原来的写法:Excel.ApplicationClass excelApp = new Excel.Appli ...
- PHP中输出文件,怎么区别什么时候该用readfile() , fread(), file_get_contents(), fgets()
我在服务器端(Apache环境)上放了一个安卓apk安装包的下载链接,使用readfile()读取apk文件输出下载后,手机安装apk显示解析包错误.但apk本身没问题,下载后文件的大小也是完整的.服 ...
- 彻底隐藏Nginx版本号的安全性与方法
Nginx默认是显示版本号的,如: [root@bkjz ~]# curl -I www.nginx.orgHTTP/1.1 200 OKServer: nginx/0.8.44Date: Tue, ...