zoukankan      html  css  js  c++  java
  • centos7 部署 docker swarm

    ===============================================

     2019/4/9_第3次修改                       ccb_warlock

     

    更新说明:

    2019/4/9:重新整理了docker swarm的部署步骤

    2018/12/14:精简docker-compose部署的命令;

                         增加18.09.0-ce以后的hosts(2.3 配置hosts信息)配置方法;

    ===============================================

    由于k8s的方案被搁置了,目前只能先考虑使用swarm搭建小规模的集群。经过几天对swarm的使用,对于与docker相关的docker-compose、service、stack相关内容有了更明确的理解。对比swarm与k8s也是各有千秋。

    2019/4/9,重新整理了swarm的部署顺序,将docker的安装部分拆分到centos7 部署 docker ce,根据节点类型分别整理了部署步骤。


    一、准备工作

    1.1 修改主机名(可以不修改)

    为了便于区分节点,用主机名来标记节点
    manager节点执行:

    hostnamectl --static set-hostname manager01

    worker节点执行:

    hostnamectl --static set-hostname worker01

    修改完后,重新开shell控制台。


    二、管理节点(Manager)

    2.1 安装docker ce

    可以参考下面的文章安装docker ce

    centos7 部署 docker ce:https://www.cnblogs.com/straycats/p/10680502.html

    2.2 配置hosts信息

    2.2.1 18.06.1-ce及以前版本 

    # 修改docker daemon配置

    mkdir -p /etc/docker
    vim /etc/docker/daemon.json

    增加hosts的内容,wq保存。

    {
       "hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
    }

    2.2.2 18.09.0-ce及以后版本 

    systemctl edit docker

     将下面的内容添加到文件(/etc/systemd/system/docker.service.d/override.conf)中,wq保存。

    [Service]
    ExecStart=
    ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

    # 重新加载systemctl的配置

    systemctl daemon-reload

    2.3 重启docker

    systemctl restart docker

    2.4 创建swarm集群

    # 初始化swarm集群(我使用的虚拟机IP为192.168.12.11)

    docker swarm init

    # 创建集群(当宿主机有多个IP时,需要指定IP)

    docker swarm init --advertise-addr 192.168.12.11

    创建后,该节点为manager节点(leader)。

    如果需要添加其他管理节点,可以使用下面的命令查看作为管理节点加入集群的命令。

    docker swarm join-token manager 

    三、工作节点(Worker)

    3.1 安装docker ce

    可以参考下面的文章安装docker ce

    centos7 部署 docker ce:https://www.cnblogs.com/straycats/p/10680502.html

    3.2 配置hosts信息

    3.2.1 18.06.1-ce及以前版本

    # 修改docker daemon配置

    mkdir -p /etc/docker
    vim /etc/docker/daemon.json

    增加hosts的内容,wq保存。

    {
       "hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
    }

    3.2.2 18.09.0-ce及以后版本

    systemctl edit docker

     将下面的内容添加到文件(/etc/systemd/system/docker.service.d/override.conf)中,wq保存。

    [Service]
    ExecStart=
    ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

    # 重新加载systemctl的配置

    systemctl daemon-reload

    3.3 重启docker

    systemctl restart docker 

    3.4 将该工作节点添加到swarm集群中

    # 查看作为工作节点接入集群的命令

    docker swarm join-token worker

    # 将自己注册到该集群(192.168.12.11)

    docker swarm join --token SWMTKN-1-1w1q09p1z37n4j24usz9lwb0i01t2ecuxn4ad5ctfdpks4270r-5p5mmiw6u77skwd49sxovztxc 192.168.12.11:2377

    PS.命令中的token信息根据实际情况更换。

      


    参考资料:

    1.https://stackoverflow.com/questions/51923078/unable-to-start-the-docker-daemon-if-file-etc-docker-daemon-json-exist

    2.https://docs.docker.com/engine/reference/commandline/dockerd/

  • 相关阅读:
    块数据加密模式
    "jobTracker is not yet running"(hadoop 配置)
    平衡搜索树
    Programming Assignment 3: Collinear Points
    Programming Assignment 2: Randomized Queues and Deques
    Programming Assignment 1: Percolation
    1007. Maximum Subsequence Sum (25)
    Link List
    1081. Rational Sum (20)
    strassen algorithm
  • 原文地址:https://www.cnblogs.com/straycats/p/8978135.html
Copyright © 2011-2022 走看看