工作编排工具
咱们发现咱们当初治理微服务比拟麻烦,当初只是三个微服务,如果更多会更加麻烦,怎么办呢,上面咱们就来学习下 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
本文由
传智教育博学谷
教研团队公布。如果本文对您有帮忙,欢送
关注
和点赞
;如果您有任何倡议也可留言评论
或私信
,您的反对是我保持创作的能源。转载请注明出处!