跨境互联网 跨境互联网
首页
  • AI 工具

    • 绘图提示词工具 (opens new window)
    • ChatGPT 指令 (opens new window)
  • ChatGPT

    • ChatGP T介绍
    • ChatGPT API 中文开发手册
    • ChatGPT 中文调教指南
    • ChatGPT 开源项目
  • Midjourney

    • Midjourney 文档
  • Stable Diffusion

    • Stable Diffusion 文档
  • 其他

    • AIGC 热门文章
    • 账号合租 (opens new window)
    • 有趣的网站
  • Vue

    • Vue3前置
  • JAVA基础

    • Stream
    • Git
    • Maven
    • 常用第三方类库
    • 性能调优工具
    • UML系统建模
    • 领域驱动设计
    • 敏捷开发
    • Java 测试
    • 代码规范及工具
    • Groovy 编程
  • 并发编程&多线程

    • 并发编程
    • 高性能队列 Disruptor
    • 多线程并发在电商系统下的应用
  • 其他

    • 面试题
  • 消息中间中间件

    • Kafka
    • RabbitMQ
    • RocketMQ
  • 任务调度

    • Quartz
    • XXL-Job
    • Elastic-Job
  • 源码解析

    • Mybatis 高级使用
    • Mybatis 源码剖析
    • Mybatis-Plus
    • Spring Data JPA
    • Spring 高级使用
    • Spring 源码剖析
    • SpringBoot 高级使用
    • SpringBoot 源码剖析
    • Jdk 解析
    • Tomcat 架构设计&源码剖析
    • Tomcat Web应用服务器
    • Zookeeper 高级
    • Netty
  • 微服务框架

    • 分布式原理
    • 分布式集群架构场景化解决方案
    • Dubbo 高级使用
    • Dubbo 核心源码剖析
    • Spring Cloud Gateway
    • Nacos 实战应用
    • Sentinel 实战应用
    • Seata 分布式事务
  • 数据结构和算法的深入应用
  • 存储

    • 图和Neo4j
    • MongoDB
    • TiDB
    • MySQL 优化
    • MySQL 平滑扩容实战
    • MySQL 海量数据存储与优化
    • Elasticsearch
  • 缓存

    • Redis
    • Aerospike
    • Guava Cache
    • Tair
  • 文件存储

    • 阿里云 OSS 云存储
    • FastDF 文件存储
  • 基础

    • Linux 使用
    • Nginx 使用与配置
    • OpenResty 使用
    • LVS+Keepalived 高可用部署
    • Jekins
  • 容器技术

    • Docker
    • K8S
    • K8S
  • 01.全链路(APM)
  • 02.电商终极搜索解决方案
  • 03.电商亿级数据库设计
  • 04.大屏实时计算
  • 05.分库分表的深入实战
  • 06.多维系统下单点登录
  • 07.多服务之间分布式事务
  • 08.业务幂等性技术架构体系
  • 09.高并发下的12306优化
  • 10.每秒100W请求的秒杀架构体系
  • 11.集中化日志管理平台的应用
  • 12.数据中台配置中心
  • 13.每天千万级订单的生成背后痛点及技术突破
  • 14.红包雨的架构设计及源码实现
  • 人工智能

    • Python 笔记
    • Python 工具库
    • 人工智能(AI) 笔记
    • 人工智能(AI) 项目笔记
  • 大数据

    • Flink流处理框架
  • 加密区

    • 机器学习(ML) (opens new window)
    • 深度学习(DL) (opens new window)
    • 自然语言处理(NLP) (opens new window)
AI 导航 (opens new window)

Revin

首页
  • AI 工具

    • 绘图提示词工具 (opens new window)
    • ChatGPT 指令 (opens new window)
  • ChatGPT

    • ChatGP T介绍
    • ChatGPT API 中文开发手册
    • ChatGPT 中文调教指南
    • ChatGPT 开源项目
  • Midjourney

    • Midjourney 文档
  • Stable Diffusion

    • Stable Diffusion 文档
  • 其他

    • AIGC 热门文章
    • 账号合租 (opens new window)
    • 有趣的网站
  • Vue

    • Vue3前置
  • JAVA基础

    • Stream
    • Git
    • Maven
    • 常用第三方类库
    • 性能调优工具
    • UML系统建模
    • 领域驱动设计
    • 敏捷开发
    • Java 测试
    • 代码规范及工具
    • Groovy 编程
  • 并发编程&多线程

    • 并发编程
    • 高性能队列 Disruptor
    • 多线程并发在电商系统下的应用
  • 其他

    • 面试题
  • 消息中间中间件

    • Kafka
    • RabbitMQ
    • RocketMQ
  • 任务调度

    • Quartz
    • XXL-Job
    • Elastic-Job
  • 源码解析

    • Mybatis 高级使用
    • Mybatis 源码剖析
    • Mybatis-Plus
    • Spring Data JPA
    • Spring 高级使用
    • Spring 源码剖析
    • SpringBoot 高级使用
    • SpringBoot 源码剖析
    • Jdk 解析
    • Tomcat 架构设计&源码剖析
    • Tomcat Web应用服务器
    • Zookeeper 高级
    • Netty
  • 微服务框架

    • 分布式原理
    • 分布式集群架构场景化解决方案
    • Dubbo 高级使用
    • Dubbo 核心源码剖析
    • Spring Cloud Gateway
    • Nacos 实战应用
    • Sentinel 实战应用
    • Seata 分布式事务
  • 数据结构和算法的深入应用
  • 存储

    • 图和Neo4j
    • MongoDB
    • TiDB
    • MySQL 优化
    • MySQL 平滑扩容实战
    • MySQL 海量数据存储与优化
    • Elasticsearch
  • 缓存

    • Redis
    • Aerospike
    • Guava Cache
    • Tair
  • 文件存储

    • 阿里云 OSS 云存储
    • FastDF 文件存储
  • 基础

    • Linux 使用
    • Nginx 使用与配置
    • OpenResty 使用
    • LVS+Keepalived 高可用部署
    • Jekins
  • 容器技术

    • Docker
    • K8S
    • K8S
  • 01.全链路(APM)
  • 02.电商终极搜索解决方案
  • 03.电商亿级数据库设计
  • 04.大屏实时计算
  • 05.分库分表的深入实战
  • 06.多维系统下单点登录
  • 07.多服务之间分布式事务
  • 08.业务幂等性技术架构体系
  • 09.高并发下的12306优化
  • 10.每秒100W请求的秒杀架构体系
  • 11.集中化日志管理平台的应用
  • 12.数据中台配置中心
  • 13.每天千万级订单的生成背后痛点及技术突破
  • 14.红包雨的架构设计及源码实现
  • 人工智能

    • Python 笔记
    • Python 工具库
    • 人工智能(AI) 笔记
    • 人工智能(AI) 项目笔记
  • 大数据

    • Flink流处理框架
  • 加密区

    • 机器学习(ML) (opens new window)
    • 深度学习(DL) (opens new window)
    • 自然语言处理(NLP) (opens new window)
AI 导航 (opens new window)
  • Docker

    • 基础使用-Docker是什么
    • 基础使用-为什么使用Docker
    • 基础使用-Docker安装
    • 基础使用-Docker架构
    • 基础使用-Docker部署微服务
    • 集群管理-微服务Docker打包
    • 集群管理-微服务Docker打包
    • 集群管理-任务编排工具
      • 1 什么是任务编排
        • 1.1 需要考虑的因素
      • 2 常见的任务编排工具
        • 2.1 docker-compose
        • 2.2 Kubernetes
        • 2.3 OpenShift
        • 2.4 Docker Swarm
      • 3 环境准备
        • 3.1 搭建Horbor仓库
        • 3.1.1 停止本地Harbor
        • 3.2 清理Docker环境
        • 3.2.1 清理本地环境
        • 3.2.2 查看本地环境
        • 3.2.3 删除网络配置
        • 3.3 修改Docker配置
        • 3.3.1 修改daemon
        • 3.3.2 查看修改
        • 3.3.3 重启Docker
        • 3.3.4 初始化镜像
    • 集群管理-docker-compose容器编排
    • 集群管理-Swarm集群编排
    • 集群管理-Docker Stack管理服务
    • 集群管理-portainer使用
    • 补充-Docker
    • 资料
  • k8s

  • k8s

  • Docker容器
  • Docker
Revin
2023-06-19
目录

集群管理-任务编排工具

我们发现我们现在管理微服务比较麻烦,现在只是三个微服务,如果更多会更加麻烦,怎么办呢,下面我们就来学习下docker编排工具

# 1 什么是任务编排

编排是一个新的词汇,经过阅读才明白编排指的是容器的集群化和调度,另一类含义指的是容器管理,负责管理容器化应用和组件任务。

docker毫无疑问是一个优秀的开源工具,但是,仅靠docker引擎和容器就不能进行复杂的应用程序部署,对于部署复杂的应用程序体系结构的容器群集,必须进行适当的配置,容器化的应用程序应该能够根据应用程序资源需求进行扩展和缩小。

# 1.1 需要考虑的因素

我们需要一个有效管理容器的良好框架,容器的生命周期很短,在进行容器编排时,要考虑的主要因素是

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

# 2 常见的任务编排工具

# 2.1 docker-compose

img

docker-compose是基于docker的编排工具,使容器的操作能够批量的,可视的执行,是一个管理多个容器的工具,比如可以解决容器之间的依赖关系,当在宿主机启动较多的容器时候,如果都是手动操作会觉得比较麻烦而且容器出错,这个时候推荐使用 docker的单机编排工具 docker-compose。

# 2.2 Kubernetes

img

Kubernetes是一个开源的,开箱即用的容器集群管理器和业务流程,它具有出色的构建 调度器 和资源管理器,用于以更有效和高度可用的方式部署容器,Kubernetes已成为许多组织事实上的容器编排工具,kubernetes项目由google与世界各地的贡献者维护,它提供了本机Docker工具不提供的许多功能,而且,使用kubernetes很容易上手。

# 2.3 OpenShift

img

Openshift建立在kubernetes之上,Openshift项目由Redhat维护,它同时具有开源(openshift orgin)和企业版(openshift容器平台),连同核心的Kubernetes功能,它提供了用于容器管理和编排的开箱即用组件。

# 2.4 Docker Swarm

img

Docker生态系统包括从开发到生产部署框架的工具,在该列表中,docker swarm适用于集群管理,可以使用docker-compose,swarm,overlay网络和良好的服务发现工具(例如etcd或consul)的组合来管理Docker容器集群。

与其他开源容器集群管理工具相比,Docker swarm在功能方面仍日趋成熟,考虑到庞大的Docker贡献者,Docker swarm拥有其他工具拥有的所有最佳功能不会太久,Docker记录了在生产中使用docker swarm 的良好生产计划。

# 3 环境准备

我们这里面主要讲解docker-compose、swarm的编排工具

# 3.1 搭建Horbor仓库

我们刚才讲解了本地搭建Horbor仓库,但是我们本地搭建很占用资源,我们用了一台服务器专门来做Horbor的仓库,地址是https://manager-hongbaoyu-java.itheima.net:8443/

image-20210331173641861

# 3.1.1 停止本地Harbor

因为使用了单独的Harbor服务器,本地的Harbor就可以停掉了

 cd /usr/local/harbor/harbor/ && docker-compose down
1

image-20210331174001299

# 3.2 清理Docker环境

# 3.2.1 清理本地环境

因为使用任务编排,本地的服务都可以删除掉了

# 停止并删除所有容器
docker rm -f $(sudo docker ps -a -q)
# 删除所有镜像
docker rmi $(docker images -q)
1
2
3
4

image-20210331174315450

# 3.2.2 查看本地环境

可以查看下本地的Docker环境

docker ps -a
docker images
1
2

image-20210331174403323

# 3.2.3 删除网络配置

因为我们自己配置了Docker网络,我们删除掉

docker network rm learn-docker-network
1

image-20210331174924816

# 3.3 修改Docker配置

因为我们使用了独立的Horbor仓库,可以将配置到Docker中的本地仓库地址替换为新的仓库地址

# 3.3.1 修改daemon

# 修改daemon文件删除本地仓库地址
vi /etc/docker/daemon.json
1
2

在daemon.json中增加如下内容

"insecure-registries": ["manager-hongbaoyu-java.itheima.net:8443"],
1

# 3.3.2 查看修改

# 查看daemon配置
cat /etc/docker/daemon.json
1
2

新的仓库地址是manager-hongbaoyu-java.itheima.net:8443

image-20210331175934187

# 3.3.3 重启Docker

systemctl daemon-reload
service docker restart
1
2

# 3.3.4 初始化镜像

将服务器的需要的镜像初始化

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
1
2
3
4
5
上次更新: 2025/04/03, 11:07:08
集群管理-微服务Docker打包
集群管理-docker-compose容器编排

← 集群管理-微服务Docker打包 集群管理-docker-compose容器编排→

最近更新
01
tailwindcss
03-26
02
PaddleSpeech
02-18
03
whisper
02-18
更多文章>
Theme by Vdoing | Copyright © 2019-2025 跨境互联网 | 豫ICP备14016603号-5 | 豫公网安备41090002410995号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式