在读完<Docker技术入门与实践>这本书后,基本上已对Docker了有一些入门的理解,以及我们为什么要使用Docker 答:我们发现在实际工作中,通过openstack一旦把一个VM创建给开发,或者测试人员后,便很难再回收回来. openstack使用的KVM或Xen,均是采用声明内存的方式,并且内存是独占方式,无论开发和测试人员有没有用这台机器,它就占坑在那里, 所以开发和测试环境,最先出现的瓶颈应该就是内存不足,导致后续无法再开通开发或测试的虚拟机.常规小服务器开到十几.二十台左右就没法…
10.40.100.143 docker-node0.venic.com 10.40.100.144 docker-node1.venic.com     原用swarm镜像   直接启动     10.40.100.143上  docker run -d  --restart=always --name node0 docker-registry.venic.com:5000/swarm:latest join --advertise=10.40.100.143:2375 consul://d…
参考官网集群配置方式 https://hub.docker.com/r/progrium/consul/   集群中需要manager与node能通信consul的发现服务,不然,管理节点选举不了,无法执行docker 命令. 集群中consul工作3台的机器,大于等2台时,集群仍正常工作,如果,发生只有1台时,集群失效,无法选择管理节点,需要启动数据再次达到3台的标准后,集群才能慢慢恢复.   测试最终得出一个惊人结论,我把consul集群删除后,重新拉起时,元数据全部自动发现恢复.    …
Docker-Compose是一个部署多个容器的简单但是非常必要的工具.   登录Docker客户端的服务器(默认是安装了docker-engine的服务器),再安装compose插件 # yum install python-pip python-dev -y # pip install -U docker-compose   查看版本 # docker-compose -v docker-compose version 1.9.0, build 2585387   # 查看帮助 # dock…
10.40.42.10上,也就是对应的VRRP中的10.40.42.1和2上,配置nginx tcp代理   # cat 4000_manager.venic.com_10.40.100.141-142_4000.conf upstream manager.venic.com {     server 10.40.100.141:4000;     server 10.40.100.142:4000;   } server {     listen 4000;     proxy_pass ma…
主机分配如下,支持双活,中断其中1台,primary会通过consul自动重新选举   10.40.100.141 docker-manager0.venic.com 10.40.100.142 docker-manager1.venic.com   首先在镜像服务器上148上,拉取一个官网 的 consul镜像,方便等下在其它三台上快速启动 # docker pull  swarm && docker tag swarm:latest docker-registry.venic.com:…
  在10.40.100.148上   # docker run -d -p 5000:5000 --restart=always --name docker-registry.venic.com -v /data:/var/lib/registry  registry   参数说明:   --restart=always 是将来重启宿主机的docker服务时,容器也能自启动 -v /docker/registry/data:/var/lib/registry  是将镜像文件存放目录挂载到本地硬…
目录 一.系统环境 二.前言 三.使用registry搭建私有镜像仓库 3.1 环境介绍 3.2 k8smaster节点配置镜像仓库 3.3 k8sworker1节点配置从私有仓库上传和拉取镜像 3.3.1 上传镜像到私有仓库 3.3.2 从私有仓库里拉取镜像 四.附录:删除私有仓库镜像的Python脚本 一.系统环境 服务器版本 docker软件版本 CPU架构 CentOS Linux release 7.4.1708 (Core) Docker version 20.10.12 x86_6…
目录 一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离线包 4.2.2 配置harbor用户信息,项目信息 4.3 k8sworker1节点配置从harbor私有仓库上传和拉取镜像 4.3.1 上传镜像到harbor私有仓库 4.3.2 从harbor私有仓库里拉取镜像 一.系统环境 服务器版本 docker软件版本 CPU架构 CentOS Linux relea…
目的 学习docker的集群管理,摸索出高可用的docker微服务架构方案.本篇文章只初步的了解下swarm(docker新版已集成了swarm)的使用,了解docker的发现服务的基础方法(docker hub 提供的内置方法,其他的比如:etcd.consul.zookeeper) 环境 三台虚拟主机: 192.168.139.128 (master,node1) 192.168.139.129(node2) 192.168.138.130(node3) 操作系统:centos7.3 Doc…
前言 因工作需要,我对基于Apache Mesos 的 Docker 集群作了一点研究,并搭建了一套环境,以下是资料分享. 1. Apache Mesos概述 Apache Mesos是一款开源群集管理软件,能将数据中心中的CPU.内存.存储.其它资源全部虚拟化并进行管理(引用自百度).它被一些人认为是继OpenStack之后的“下一代云计算平台”,“代表云计算的未来“. 根据网络资料,Apache Mesos具有高可靠性,经过严酷的生产环境考验.目前Twitter.Mac等公司在使用它. 现在…
搭建docker本地镜像仓库并提供权限校验及UI界面 docker本地镜像仓库的作用跟maven私服差不多,特别是公司级或者是小组级开发好的docker仓库可以上传到本地镜像仓库中,需要用时,直接从本地镜像仓库中拉取镜像即可,因为镜像仓库在自己公司,可以做到安全可控了.下面介绍搭建本地镜像仓库的过程. 1.环境准备 docker本地镜像仓库本身也是一个docker镜像,为此如果需要搭建本地镜像仓库,则首先要搭建docker的环境,具体搭建docker环境的步骤,大家可以之前的一篇文章:<Cent…
一.docker安装 这里我们安装docker-ce 的18.03版本 yum    -y remove docker  删除原有版本 #安装依赖包 [root@Docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2 #添加docker的CE版本的yum源配置文件 [root@Docker ~]# curl   https://download.docker.com/linux/centos/docker-ce…
Docker 集群环境实现的新方式 近几年来,Docker 作为一个开源的应用容器引擎,深受广大开发者的欢迎.随着 Docker 生态圈的不断建设,应用领域越来越广.云计算,大数据,移动技术的快速发展,加之企业业务需求的不断变化,紧随技术更新的步伐,导致企业架构要随时更改以适合业务需求.当前,越来越多的公司都已将以 Docker 为代表的容器技术用于企业级业务平台,比如:腾讯,京东,美团,新浪,阿里巴巴等互联网公司.数据的安全.Docker 容器的稳定运行是众多用户关注的,这就要求我们提供一套行…
近几年来,Docker 作为一个开源的应用容器引擎,深受广大开发者的欢迎.随着 Docker 生态圈的不断建设,应用领域越来越广.云计算,大数据,移动技术的快速发展,加之企业业务需求的不断变化,紧随技术更新的步伐,导致企业架构要随时更改以适合业务需求.当前,越来越多的公司都已将以 Docker 为代表的容器技术用于企业级业务平台,比如:腾讯,京东,美团,新浪,阿里巴巴等互联网公司.数据的安全.Docker 容器的稳定运行是众多用户关注的,这就要求我们提供一套行之有效的管理大型容器集群的整体解决方…
对于有多台服务器来讲,如果每一台都去手动操控,那将会是一件非常浪费时间的事情,毕竟时间这东西,于我们而言,十分宝贵,或许在开始搭建环境的时候耗费点时间,感觉是正常的,我也如此,花费大堆时间在采坑和填坑的路上,但是当你踩完后,还通过手动管理的方式去维护,那便是折磨,因此对于多台服务器下的容器编排管理,借助工具将会节省着大把时间,现如今有名的容器编排工具,K8s.Docker Swarm,甚至功能更强大的Rancher,本次我将使用且是我唯一使用过的Docker Swarm工具搭建Docker集群并…
前言 Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令,docker swarm是创建服务器集群的工具,只需要几条命令就可以创建一个服务器集群.它内置一些服务器集群需要的工具,比如说:服务查找,网络,负载均衡等等 一.环境 centos 7.3 Docker version 1.12.6 ip 角色 192.168.6.130 manager 192.168.6.131…
为Docker构建原生的集群管理工具的计划早在2014年初就开始了,当时作为一个通信协议项目,称为Beam.之后,它被实现为一种后台程序,使用Docker API来控制异构化的分布式系统.项目重新命名为libswarm,Swarmd是其后台程序.项目保持了之前的理念,允许任何Docker客户端连接到Docker Engine池里.该项目的第三代被重新进行设计,使用相同的Docker Remote API集,并且在2014年11月份重命名为“Swarm”.基本上,Swarm最重要的部分就是其远程A…
一.简介 docker集群管理工具有swarm.k8s.mesos等,我所用到的是swarm和k8s,这篇文章主要介绍swarm:swarm是docker集成的原生 管理工具,只要你安装上docker之后,就可以直接使用docker swarm -h 来查看用法 二.组建集群 刚刚已经说过swarm是原生集成的,所以搭建起来也是比较简单的,我们在manager节点只需要运行docker swarm init --advertise-addr  IP地址 就可以生成一个token串,和一个node…
docker从1.12版(及后续版本)集成了swarmkit.可以方便的实现docker集群.它有哪些特点呢: 集成了集群功能 分散设计:manager和worker两种节点. 声明式服务模式 可伸缩 达到期望值--当某些有节点崩溃的时候,会在其他节点创建相应容器. 跨主机网络--采用overlay网络,docker可在不同的主机间通讯. 服务发现--内置服务发现功能,不需要额外使用etcd.consul.zookeeper. 负载均衡 安全通信 安全回滚 docker命令概览 从命令 dock…
引言 前一篇介绍如何简单的搭建一个可视化管理的docker集群,本篇将在此基础之上引入etcd发现服务. 目的 使用etcd发现服务解决swarm内置发现服务的不稳定问题.etcd采用raft算法,这里有篇容易理解的raft算法 Etcd是一个高可用的 Key/Value 存储系统,主要用于分享配置和服务发现. 简单:支持 curl 方式的用户 API (HTTP+JSON) 安全:可选 SSL 客户端证书认证 快速:单实例可达每秒 1000 次写操作 可靠:使用 Raft 实现分布式 安装et…
HashiCorp 公司推出的Consul是一款分布式高可用服务治理与服务配置的工具.关于其配置与使用可以参考这篇文章 consul 简介与配置说明. 一般,我们会在多台主机上安装并启动 consul,在开发时这可能会比较不方便,所以这里介绍如何使用 vagrant 和 docker 来简化开发环境的搭建. 利用 vagrant 创建虚拟机 Vagrant 是 HashiCorp 公司的产品, 用于创建和部署虚拟化开发环境,支持常见的操作系统.由于其安装比较简单,参照官方文档即可,此处不再赘述.…
最近kubernetes很火,加上我又在寻找适合快速搭建测试环境的方法,kubernetes的理念很适合用于测试环境的搭建. 因此在学习的过程中写下此教程(记录)以供回顾. 0x00 环境准备 0x00 0x00 环境要求 0x00 0x01 预备内容 0x00 0x02 安装虚拟环境Ubuntu 0x00 0x03 404 Not Found 0x01 准备kubernetes虚拟镜像 0x01 0x00 安装CRI Docker 0x01 0x01 安装kubeadm 0x01 0x02 其…
为什么使用Docker " 从我个人使用的角度讲的话  部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docker.com 里面的镜像也很方便 节约了很多自己生成镜像的时间 相当于提高了复用率 " 安装Docker " 我这里使用 Ubuntu 14.04 系统上安装 ? 1 curl -s https://get.docker.io/ubuntu/ | sudo sh Ubuntu 其他版本可能需…
docker 集群 Docker 容器 移除所有的容器和镜像(大扫除) 用一行命令大扫除: docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi $(docker images -q -a) 注:shell 中的 $() 和 `` 类似,会先执行这里面的内容,上面的脚本会出现如下 docker kill "pids" ; docker kill 在 docker 中用于停止容器,docker rm…
docker集群管理 ps:docker machine     docker swarm       docker compose  在Docker Machine发布之前,你可能会遇到以下问题: 你需要登录主机,按照主机及操作系统特有的安装以及配置步骤安装Docker,使其能运行Docker容器. 你需要研发一套工具管理多个Docker主机并监控其状态. 你在本地开发,产品部署在公有云平台,你希望能尽可能的减小两个环境的差异性 Docker Machine的出现解决了以上问题. Docker…
接着Kubernetes容器集群管理环境 - 完整部署(上篇)继续往下部署: 八.部署master节点master节点的kube-apiserver.kube-scheduler 和 kube-controller-manager 均以多实例模式运行:kube-scheduler 和 kube-controller-manager 会自动选举产生一个 leader 实例,其它实例处于阻塞模式,当 leader 挂了后,重新选举产生新的 leader,从而保证服务可用性:kube-apiserve…
一.简介 kubernetes又叫做k8s,是Google开发的一款开源的docker集群管理工具,在这里对它的“发家史”,我不做过多的阐述,有时间大家可以自己去百度一下: 下面我要讲的就是容易混淆的部分(当然搭建的过程也会简单的阐述),我研究的就是一个单间的集群环境,如果大家想变成高可用的话,请百度^_^ 二.集群的搭建 我使用的二进制包进行的安装,前提是需要去官网上下载二进制包,下载的包名称以及地址截图如下(下载那一个包就OK了): 部署分布如下: manager kube-apiserve…
http://blog.liuts.com/post/247/ 一.前言        Kubernetes 是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动态扩缩容等功能套件,目前最新版本为0.6.2.本文介绍如何基于Centos7.0构建Kubernetes平台,在正式介绍之前,大家有必要先理解Kubernetes几个核心概念及其承担的功能.以下为Kubernetes的架构设计图:1. Pods        在Kuberne…
1. Mesos简介 1.1 Mesos Apache Mesos 是一个分布式系统的管理软件,对集群的资源进行分配和管理. Mesos主要由以下几部分组成: Master: 管理各Slave节点 Slave: 为集群提供资源 Framework: scheduler从Master请求资源,executor在Slave上执行任务 Slave节点上的每个executor是一个容器 官方文档: http://mesos.apache.org/documentation/latest/architec…