乐趣区

关于java:容器编排工具鉴赏-dockercompose-KubernetesOpenShiftDocker-Swarm

工作编排工具

咱们发现咱们当初治理微服务比拟麻烦,当初只是三个微服务,如果更多会更加麻烦,怎么办呢,上面咱们就来学习下 docker 编排工具

什么是工作编排

编排是一个新的词汇,通过浏览才明确编排指的是容器的集群化和调度。另一类含意指的是容器治理,负责管理容器化利用和组件工作。

​ docker 毫无疑问是一个优良的开源工具。然而,仅靠 docker 引擎和容器就不能进行简单的应用程序部署。对于部署简单的应用程序体系结构的容器群集,必须进行适当的配置。容器化的应用程序应该可能依据应用程序资源需要进行扩大和放大。

须要思考的因素

咱们须要一个无效治理容器的良好框架。容器的生命周期很短,在进行容器编排时,要思考的次要因素是

  1. 联网
  2. 高可用性
  3. 易于部署
  4. 良好的服务发现。

常见的工作编排工具

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-composeswarm 的编排工具

搭建 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

本文由 传智教育博学谷 教研团队公布。

如果本文对您有帮忙,欢送 关注 点赞 ;如果您有任何倡议也可 留言评论 私信,您的反对是我保持创作的能源。

转载请注明出处!

退出移动版