码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • docker swarm安装指导


          SWARM部署DOCKER集群

    1. 简介............................................................................................................................ 3

    2. 部署准备..................................................................................................................... 3

    2.1. 系统组网图........................................................................................................ 3

    2.2. 系统业务逻辑流程.............................................................................................. 4

    2.3. 部署机器准备..................................................................................................... 4

    3. 部署步骤..................................................................................................................... 4

    3.1. DOCKER ENGINE的安装(本文中使用root用户进行安装).................................. 4

    3.2. 设置网络使DOCKER ENGINE支持远程访问,以下操作每个DOCKER SERVER都要做 4

    3.3. 配置swarm manager........................................................................................... 4

    3.4. 配置swarm node................................................................................................ 5

    3.5. 安装docker register, 登录到docker_machine服务器做如下操作.......................... 5

    3.6. 安装SHIPYARD,配置DOCKER SWARM MANAGE,登录到docker manager服务器做如下操作(通过配置文件来实现节点发现功能) 5

    4. 验证............................................................................................................................ 5

    5. 管理相关..................................................................................................................... 6

    5.1. SWARM 管理命令介绍........................................................................................ 6

    1.简介

          本文主要介绍如何用利用docker swarm+shipyard来实现一个docker集群的部署,该方案适用于测试和开发环境,要求docker engine版本>=1.12.0。Docker Engine在1.12.0版本后自带了Docker SWARM

          (注:后文中红色部分的字体请根据实际情况修改)

    2.部署准备 

    2.1.系统组网图

         

    模块

    作用

    SWARM MANAGE

    提供API接口将SHIPYARD发过来的请求,转发到对应的DOCKER SERVER,并返回结果给SHIPYARD

    DOCKER ENGINE

    提供 docker daemon进程来处理DOCKER SWARM MANAGE发过来的请求,并且返回结果

    SWARM NODE

    SWARM的WORKER节点主要用于为业务容器提供运行环境

    2.2.系统业务逻辑流程

       

    2.3. 部署机器准备

         本文中部署使用两台机器作为事例,如果要多台机器部署以此类推即可,下表格中的IP请根据具体情况修改(注:请保证下面的机器能访问外网,并且能使用DNS服务)

        

    机器名

    IP

    安装模块

    操作系统

    Docker_1

    1.1.1.1

    DOCKER ENGINE

    CENTOS7

    Docker_2

    1.1.1.2

    DOCKER ENGINE

    DOCKER REGISTRY

    CENTOS7

    Docker_3

    1.1.1.3

    DOCKER ENGINE

    CENTOS7

      3.部署步骤

    3.1.DOCKER ENGINE的安装(本文中使用root用户进行安装)

         参考:Install Docker Engine | Docker Docs,根据操作系统选择对应的安装方法

    3.2.设置网络使DOCKER ENGINE支持远程访问,以下操作每个DOCKER SERVER都要做

          1登录DOCKER服务器,执行

             cd /usr/lib/systemd/system

          2编辑docker.service文件,找到如下行做如下修改,并保存

             修改前:ExecStart=/usr/bin/dockerd

             修改后:ExecStart=/usr/bin/dockerd --insecure-registry [docker_registry_addr]

          3在防火墙中做如下配置,打开对2377端口的限制和对docker0端口的限制

             firewall-cmd --permanent --zone=public --add-port=2377/tcp

             firewall-cmd --permanent --zone=trusted --add-interface=docker0

             firewall-cmd --reload

    ​​​​​​​3.3.配置swarm manager

          登录到swarm manage的机器上,执行

                   docker swarm init --advertise-addr [swarm_manager_ip]
               执行后会得到类似如下信息
                 Swarm initialized: current node (dxn1zf6l61qsb1josjja83ngz) is now a manager.
     
    
                 To add a worker to this swarm, run the following command:
                   docker swarm join \
                   --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
                   192.168.99.100:2377
     
    
                To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

    ​​​​​​​3.4.配置swarm node

          登录到docker-machine的机器上,执行上一步喜欢建SWARM MANAGER时候提示的加入NODE的语句

                   docker swarm join \
                   --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
                   192.168.99.100:2377
                如果记不到语句了可以使用如下命令来查看加入语句:
                   docker swarm join-token worker

           

    ​​​​​​​3.5.安装docker registry, 登录到docker_machine服务器做如下操作

          1 在要安装registry的机器上的/tmp/registry目录下增加配置文件config.yml内容如下(请严格按照格式缩进):

    log:

      fields:

        service: registry

    storage:

      cache:

        blobdescriptor: inmemory

      filesystem:

        rootdirectory: /var/lib/registry

      delete:

        enabled: true

    http:

      addr: :5000

      headers:

        X-Content-Type-Options: [nosniff]

    health:

      storagedriver:

        enabled: true

        interval: 10s

        threshold: 3     

          2 进入docker环境,输入如下命令

                  docker run -d -p 5000:5000 --restart=always --name registry -v /tmp/registry/config.yml:/etc/docker/registry/config.yml registry:2

    4.管理相关

    ​​​​​​​4.1.SWARM 管理命令介绍

          (参考URL:https://docs.docker.com/engine/swarm/swarm-tutorial/)

          docker swarm:  用于创建加入swarm node和swarm manager

          docker info:    查看当前SWARM集群信息

          docker node ls:查看当前SWARM 节点信息

          docker service:用于操作当前swarm中的service

               
    
  • 相关阅读:
    Java:Java和Python,哪个更适合业务应用程序开发?
    山东省专精特新|山东省“专精特新”条件|专业申报认定补贴
    C语言——二周目——数据在内存中的存储
    一. Ubuntu入门
    useGetState自定义hooks解决useState 异步回调获取不到最新值
    Vmware16安装CentOS7虚拟机
    Spring Cloud Alibaba(一)
    【10天Unity入门计划】界面介绍(1)-Scene视图
    Qt 停靠布局QDockWidget使用
    数据结构—List集合
  • 原文地址:https://blog.csdn.net/LYX_WIN/article/details/133251593
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号