容器编排工具鉴赏- docker-compose 、Kubernetes、OpenShift、Docker Swarm
任务编排工具
我们发现我们现在管理微服务比较麻烦,现在只是三个微服务,如果更多会更加麻烦,怎么办呢,下面我们就来学习下docker编排工具
什么是任务编排
编排是一个新的词汇,经过阅读才明白编排指的是容器的集群化和调度。另一类含义指的是容器管理,负责管理容器化应用和组件任务。
docker毫无疑问是一个优秀的开源工具。但是,仅靠docker引擎和容器就不能进行复杂的应用程序部署。对于部署复杂的应用程序体系结构的容器群集,必须进行适当的配置。容器化的应用程序应该能够根据应用程序资源需求进行扩展和缩小。
需要考虑的因素
我们需要一个有效管理容器的良好框架。容器的生命周期很短,在进行容器编排时,要考虑的主要因素是
- 联网
- 高可用性
- 易于部署
- 良好的服务发现。
常见的任务编排工具
docker-compose
docker-compose是基于docker的编排工具,使容器的操作能够批量的,可视的执行,是一个管理多个容器的工具,比如可以解决容器之间的依赖关系,当在宿主机启动较多的容器时候,如果都是手动操作会觉得比较麻烦而且容器出错,这个时候推荐使用 dockerd的单机编排工具 docker-compose。
Kubernetes
Kubernetes是一个开源的,开箱即用的容器集群管理器和业务流程。它具有出色的构建 调度器 和资源管理器,用于以更有效和高度可用的方式部署容器。Kubernetes已成为许多组织事实上的容器编排工具。kubernetes项目由google与世界各地的贡献者维护。它提供了本机Docker工具不提供的许多功能。而且,使用kubernetes很容易上手。
OpenShift
Openshift建立在kubernetes之上。Openshift项目由Redhat维护。它同时具有开源(openshift orgin)和企业版(openshift容器平台)。连同核心的Kubernetes功能,它提供了用于容器管理和编排的开箱即用组件。
Docker Swarm
Docker生态系统包括从开发到生产部署框架的工具。在该列表中,docker swarm适用于集群管理。可以使用docker-compose,swarm,overlay网络和良好的服务发现工具(例如etcd或consul)的组合来管理Docker容器集群。
与其他开源容器集群管理工具相比,Docker swarm在功能方面仍日趋成熟。考虑到庞大的Docker贡献者,Docker swarm拥有其他工具拥有的所有最佳功能不会太久。Docker记录了在生产中使用docker swarm 的良好生产计划。
环境准备
我们这里面主要讲解
docker-compose
、swarm
的编排工具
搭建Horbor仓库
我们刚才讲解了本地搭建Horbor仓库,但是我们本地搭建很占用资源,我们用了一台服务器专门来做Horbor的仓库,地址是
https://manager-hongbaoyu-java.itheima.net:8443/
停止本地Harbor
因为使用了单独的Harbor服务器,本地的Harbor就可以停掉了
cd /usr/local/harbor/harbor/ && docker-compose down
清理Docker环境
清理本地环境
因为使用任务编排,本地的服务都可以删除掉了
# 停止并删除所有容器 docker rm -f $(sudo docker ps -a -q) # 删除所有镜像 docker rmi $(docker images -q)
查看本地环境
可以查看下本地的Docker环境
docker ps -a docker images
删除网络配置
因为我们自己配置了Docker网络,我们删除掉
docker network rm learn-docker-network
修改Docker配置
因为我们使用了独立的Horbor仓库,可以将配置到Docker中的本地仓库地址替换为新的仓库地址
修改daemon
# 修改daemon文件删除本地仓库地址 vi /etc/docker/daemon.json
在
daemon.json
中增加如下内容
"insecure-registries": ["manager-hongbaoyu-java.itheima.net:8443"],
查看修改
# 查看daemon配置 cat /etc/docker/daemon.json
新的仓库地址是
manager-hongbaoyu-java.itheima.net:8443
重启Docker
systemctl daemon-reload service docker restart
初始化镜像
将服务器的需要的镜像初始化
docker pull mysql:5.7.33;\ docker pull nacos/nacos-server;\ docker pull manager-hongbaoyu-java.itheima.net:8443/library/learn-docker-web:1.0-SNAPSHOT;\ docker pull manager-hongbaoyu-java.itheima.net:8443/library/learn-docker-gateway:1.0-SNAPSHOT;\ docker pull manager-hongbaoyu-java.itheima.net:8443/library/learn-docker-storage:1.0-SNAPSHOT
本文由
传智教育博学谷
教研团队发布。如果本文对您有帮助,欢迎
关注
和点赞
;如果您有任何建议也可留言评论
或私信
,您的支持是我坚持创作的动力。转载请注明出处!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
微软为 Vue.js 推出 Power BI 组件
微软此前已经发布了适用于 React 和 Angular 的 Power BI 组件,这使得两大知名前端框架能够在利用它们的 Web 应用中直接使用各种 Power BI 功能。如今微软再接再厉,为另一大知名框架 Vue.js 也引入了 Power BI 组件,至此前端三大框架算是一个都没有落下了。 随着适用于 Vue.js 的 Power BI 组件推出,开发者现在可以通过在他们的 Vue 应用中嵌入报告、仪表盘、问答等内容,充分利用数据分析平台所带来的各种优势,并为终端用户提供更加丰富的使用体验。对开发者而言,这个组件也可以节省大量的时间和精力,并专注于应用的核心功能上。 该组件目前已经在 npm 和 GitHub 上公开提供给 Web 开发者。如果开发者有任何反馈和功能建议,都可以在 GitHub 仓库和微软 Power BI Embedded Analytics Ideas 论坛上提交。
- 下一篇
Molink-模组连接套件,让设备不再孤单
通过网络连接实现设备之间的互联互通是物联网应用的核心,当前物联网设备普遍通过通信模组连接到网络中,通信模组在物联网应用中扮演着不可或缺的角色。同时,由于物联网应用场景的需求各异,各个通信模组厂商都推出了许多针对不同应用场景的通信模组,导致不同厂商、型号的通信模组AT指令集之间存在许多不兼容的地方。这些不兼容的AT指令集给开发者带来了不便,也让物联网终端产品的通信模组优化升级十分困难。 01 Molink 简介 Molink即ModuleLinkKit(模组连接套件),是一整套针对嵌入式模组开发套件。MoLink提供了模组多实例管理、模组功能适配并向开发者提供统一易用的API(应用程序接口)。它通过架构设计和模组适配实现了对不同的通信模组的统一控制,并向上层框架和应用提供统一的API接口,使开发者不必关心不同模组之间的差异即可完成网络相关应用的开发。同时MoLink组件设计兼容了通信模组的OpenCPU开发模式,极大提升了用户程序的可移植性,应用程序的无线连网功能可在AT模式和OpenCPU模式下无缝切换。 02 Molink 架构设计 Molink模组连接套件向上层框架和用户应用提供统...
相关文章
文章评论
共有0条评论来说两句吧...