swarm

2018年1月20日 21:14:57 关于docker 的一次分享 周天晚会准备草稿

送分小仙女□ 提交于 2020-03-04 19:26:24
2018年1月20日 21:14:57 关于docker 的一次分享 周天晚会准备草稿 我为啥会学docker呢? 仔细回想一下,其实无外乎两点: 第一个就是工作相关:之前面试的时候看到过岗位要求技能 会docker者优先录用,说明这个属于工作技能,以后或许会用得到,可以做技术储备! 第二个就是兴趣相关:玩路由器,逛论坛,发现有人说到比如群晖nas支持docker了,之前因为版本更新不能使用迅雷离线现在可以docker恢复使用啦、可以docker安装×××软件啦等等 docker的学习我觉得可以分为三步骤吧,因为目前正在快速发展迭代,或许会有变化! 第一步:就是docker的一些基本命令和概念等,学了这个可以把docker作为“虚拟机”使用了。 说到虚拟机,来说一下两者的区别把: 但是,把docker作为虚拟机使用其实是和docker的原则相违背的,docker是即开即用,他的优点在于快速启用快速部署,一个字 快!!! 同时它的一个特点就是 每个容器一般启动一般有且仅有一个进程! kvm和docker的区别总结: 1、启动时间: docker秒级 kvm分钟级启动 2、轻量级: 容器 M为单位 虚拟机以G 为级别 3、安全性:容器进程级 虚拟机隔离性更好 4、性能: 容器性能更好,少了hypervisor层开销;虚拟机需要虚拟完整的GuestOS,虚拟化开销大。 5、使用要求

Docker Swarm新版本发布对Kubernetes的意义

别等时光非礼了梦想. 提交于 2020-03-02 07:50:57
相比于普通的软件的开发速度,容器编排领域的发展速度相当惊人。基于容器的初创公司呈爆发式增长,这个领域的竞争也愈加激烈。这是一个好的开始,但是技术的选择却成为一个难题。在这样的情况下,我们目前关注了Docker和Swarm。 在Apprenda,我们的目标就是提交一个有创意的,稳定的,可以在长时间内比较好维护的编排技术。一个健康的社区有三个关键点。在对技术,社区和不同容器编排工具解决方案进行漫长的商业评估之后,我们选择了Kubernetes。然而,随着其它容器集群管理选项的增加,要重点了解相比于Kubernetes他们分别可以提供什么样的功能进行对比。 Docker即将发布1.12版本,这次的发布直接跟Kubernetes进行竞争。这次的新版本都是在名为SwarmKit的编排系统的基础上建立起来的。Docker Swarm目前增加了一些有趣的新功能,也属于Docker的一部分。比如,Docker CLI增加了一个将Swarm集群实例化的新功能。将Swarm实例化其实也就是创建一个Swarm Manager和CA证书的意思。值得注意的是,这个CA证书可以在不需要外部系统的情况下为Swarm Manager和所有Swarm集群生成证书,同时所有节点之间的交流由TLS来保证安全。这也就意味着不会再有不安全的Swarm集群了。对于创建和使用Swarm的开发者来说,安全已经完全是透明的了。

docker三剑客docker-compose、docker-machine、swarm

妖精的绣舞 提交于 2020-02-28 13:02:40
Docker三大编排工具: Docker Compose:是用来组装多容器应用的工具,可以在 Swarm集群中部署分布式应用。 Docker Machine:是支持多平台安装Docker的工具,使用 Docker Machine,可以很方便地在笔记本、云平台及数据中心里安装Docker。 Docker Swarm:是Docker社区原生提供的容器集群管理工具。 Docker Compose Github地址: https://github.com/docker/compose 简单来讲,Compose是用来定义和运行一个或多个容器应用的工具。使用compaose可以简化容器镜像的建立及容器的运行。 Compose使用python语言开发,非常适合在单机环境里部署一个或多个容器,并自动把多个容器互相关联起来。 Compose 中有两个重要的概念: 服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。 项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。 Compose是使用YML文件来定义多容器应用的,它还会用 docker-compose up 命令把完整的应用运行起来。docker-compose up 命令为应用的运行做了所有的准备工作。从本质上讲

Docker 三剑客--Machine

陌路散爱 提交于 2020-02-28 10:19:26
Machine 我们知道在多个集群服务环境下,安装管理Docker的容器,要使用的是Docker Swarm,而使用Docker Swarm的情况是在多个集群的服务器已经搭建好Docker环境的情况下进行。如果在多台服务环境下,并没有安装好Docker环境,想要快速搭建一套Docker主机集群,这里就要使用到Docker Machine。 通过上面的基本简介,我们知道了Docker Machine是用来干啥的。即Docker Machine是负责使用Docker的第一步,让我们可以在多种平台上快速安装Docker环境,同时也支持多种平台,让用户可以在短时间内搭建一套Docker主机集群。 Docker Machine是Docker官方的开源项目,负责实现对Docker主机本身进行管理,由Go语言编写,开源地址为 https://github.com/docker/machine。 通过Machine用户可以在本地任意指定被Machine管理的Docker主机,并对其进行操作。Docker Machine 的定位主要是“在本地或者云环境中创建Docker”。其基本功能为: 在指定的节点上安装Docker引擎,配置其为Docker主机 集中管理所有Docker主机 总之Docker Machine 是一个工具,它允许你在虚拟宿主机上安装 Docker Engine ,并使用

部署docker swarm集群监控

依然范特西╮ 提交于 2020-02-27 08:44:09
前提 Docker 前言 现在Docker Swarm已经彻底输给了K8S,但是现在K8S依然很复杂,上手难度较Docker Swarm高,如果是小规模团队且需要容器编排的话,使用Docker Swarm还是适合的。 目前Docker Swarm有一个问题一直没有解决,如果业务需要知道用户的请求IP,则Docker Swarm满足不了要求。目前部署在Docker Swarm内的服务,无法获取到用户的请求IP。 具体可以看看这个ISSUE-> Unable to retrieve user's IP address in docker swarm mode 整体思路 思路整体来说是使用Influxdb+Grafana+cadvisor,其中 cadvisor 负责数据的收集,每一台节点都部署一个cadvisor服务,Influxdb负责数据的存储,Grafana负责数据的可视化。 演示环境 主机 IP master(manager) 192.168.1.60 node1(worker) 192.168.1.61 node2(worker) 192.168.1.62 我这里是将master节点当作监控数据存储以及可视化服务的节点作为演示,一般是拿一个worker节点做这样的工作。 初始化Docker Swarm 在master机器上初始化集群,运行 docker swarm init

使用fluentd作为docker日志驱动收集日志

孤街醉人 提交于 2020-02-27 01:44:42
前言 docker默认的日志驱动是 json-file ,每一个容器都会在本地生成一个 /var/lib/docker/containers/containerID/containerID-json.log ,而日志驱动是支持扩展的,本章主要讲解的是Fluentd驱动收集docker日志. Fluentd是用于统一日志记录层的开源数据收集器,是继Kubernetes、Prometheus、Envoy 、CoreDNS 和containerd后的第6个CNCF毕业项目,常用来对比的是elastic的logstash,相对而言fluentd更加轻量灵活,现在发展非常迅速社区很活跃,在编写这篇blog的时候github的star是8.8k,fork是1k就可见一斑. 前提 docker 了解 fluentd 配置 docker-compose 准备配置文件 docker-compose.yml version: '3.7' x-logging: &default-logging driver: fluentd options: fluentd-address: localhost:24224 fluentd-async-connect: 'true' mode: non-blocking max-buffer-size: 4m tag: "kafeidou.{{.Name}}"

13 个最火的 Java 开源项目推荐!总有一个适合你!

筅森魡賤 提交于 2020-02-26 16:42:54
更多开源项目推荐: https://github.com/Snailclimb/awesome-java Guide 哥注:下面这些推荐的项目几乎都和 Spring Boot 有关,毕竟这年头没有理由再搞 SSM/SSH 这些东西了。 商城系统 Guide 哥注:下面的商城系统大多比较复杂比如 mall ,如果没有 Java 基础和 Spring Boot 都还没有摸熟的话不推荐过度研究下面几个项目或者使用这些项目当作毕业设计。 mall :mall 项目是一套电商系统,包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现。 mall-swarm : mall-swarm 是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch 等核心技术,同时提供了基于 Vue 的管理后台方便快速搭建系统。 onemall :mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba 。 litemall : 又一个小商城。litemall = Spring Boot 后端 + Vue 管理员前端 + 微信小程序用户前端 + Vue

compose文件在swarm中创建集群

丶灬走出姿态 提交于 2020-02-25 18:29:27
简介 一、与上面环境不一致之处: 1.使用了etcd集群 集群地址为:10.0.102.214:2379,10.0.102.175:2379,10.0.102.191:2379 2.解决网络通信问题: 让docker stack 共用同一网络:因stack部署时会以stack名称创建网络,所以保持相同stack名字在同一网络中。如下所示: docker stack deploy -c compose_swarm_1.yaml stack名 docker stack deploy -c compose_swarm_2.yaml stack名 docker stack deploy -c compose_swarm_3.yamlstack名 准备工作 各个节点创建需要挂载的目录及准备挂载的文件(如开启binlog的Mariadb配置文件) #mkdir /data1/ #mkdir /etc/my.cnf.d 在k8s-node-3节点上创建开启binlog的mariadb配置文件 # vim /etc/my.cnf.d/bin-log.cnf [mysqld] log-bin= mysql-bin log_slave_updates = 1 expire_logs_days = 20 server-id = 211 master节点部署操作 [root@node-1 ~]#

Docker Swarm 创建overlay网络

巧了我就是萌 提交于 2020-02-13 23:51:57
环境: CentOS Linux release 7.4.1708 (Core) Docker version 19.03.5, build 633a0ea 管理节点:192.168.1.220 工作节点:192.168.1.221 工作节点:192.168.1.222 一、创建网络与服务 1、管理节点:创建overlay网络名字为my-network [root@docker-01 ~]# docker network create --driver overlay my-network pc3xhx63syp9p65ot6yaqm2ej [root@docker-01 ~]# docker network ls NETWORK ID NAME DRIVER SCOPE pc3xhx63syp9 my-network overlay swarm 00c1eda0108e none null local 2、管理节点:创建服务并使用overlay网络。 注:busybox启动失败后manager尝试重启容器,但是busybox容器内没有持续运行的任务,manager会将它关闭,所以没有启动成功。向容器添加ping www.baidu.com持续动作避免容器关闭。 [root@docker-01 ~]# docker service create --replicas 3 -

Docker Swarm

℡╲_俬逩灬. 提交于 2020-02-13 21:23:33
实践中会发现,生产环境中使用单个 Docker 节点是远远不够的,搭建 Docker 集群势在必行。然而,面对 Kubernetes, Mesos 以及 Swarm 等众多容器集群系统,我们该如何选择呢?它们之中,Swarm 是 Docker 原生的,同时也是最简单,最易学,最节省资源的,比较适合中小型公司使用。 Docker Swarm 介绍 Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令。目前,Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具。它可以把多个 Docker 主机组成的系统转换为单一的虚拟 Docker 主机,使得容器可以组成跨主机的子网网络。 Docker Swarm 是一个为 IT 运维团队提供集群和调度能力的编排工具。用户可以把集群中所有 Docker Engine 整合进一个「虚拟 Engine」的资源池,通过执行命令与单一的主 Swarm 进行沟通,而不必分别和每个 Docker Engine 沟通。在灵活的调度策略下,IT 团队可以更好地管理可用的主机资源,保证应用容器的高效运行。 Docker Swarm 优点 任何规模都有高性能表现 对于企业级的 Docker Engine