docker swarm 集群搭建

一、购买服务器

  1. 首先准备4台阿里云服务器,我这里用的是测试的,购买的按量付费的,共享型,1核2G


     
  2. 网络择默认的,但是服务器需要在同一安全组中


     
  3. 登录凭证选择自定义密码,方便登录操作


     
  4. 分组设置,默认就行


     
  5. 确认订单信息,勾选服务协议,并创建实例

     


     
  6. 购买成功后可在控制台查看

二、安装docker

  1. 使用xshell连接服务


     
  2. 在xshell窗口中右键->发送键输入到所有会话


     
  3.     安装gcc相关环境
    yum -y install gcc
    yum -y install gcc-c++


     

  4.     卸载旧版本
    sudo yum remove docker \
        docker-client \
        docker-client-latest \
        docker-common \
        docker-latest \
        docker-latest-logrotate \
        docker-logrotate \
        docker-engine


     

  5. 安装需要的软件包

    yum install -y yum-utils


     

  6. 设置镜像仓库

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  7. 更新yum软件包索引

    yum makecache fast


     

  8. 安装Docker CE

    yum install -y docker-ce docker-ce-cli containerd.io


     

  9. 设置docker开机启动

    systemctl enable docker


     

  10. 启动docker

    systemctl start docker


     

  11. 通过查看docker版本查看是否安装成功

    docker --version


     

三、搭建docker swarm集群

  1. 单个服务器操作即可,所以去除“发送键盘输入的所有会话”

     


     
  2. 在服务器1,生成主节点,172.21.133.50为服务器内部ip,根据自己的实际情况修改
    docker swarm init --advertise-addr 172.21.133.50


    如果清楚了这个信息可以通过命令来获取对应的加入命令
    # 加入manager
    docker swarm join-token manager
    # 加入worker
    docker swarm join-token worker


     
  3. 在服务器2,加入服务器2的节点,可以看到以worker角色加入了
    docker swarm join --token SWMTKN-1-5688aph68i9r9mfw3x10znz5wdw33esy2aeapnjzjkr6ks1r3q-140isnfwtzgrbjxbo9ckx7xwq 172.21.133.50:2377


     

  4. 在服务器1,查看节点信息

    docker node ls


     

  5. 在服务器3,作为worker加入节点

    docker swarm join --token SWMTKN-1-5688aph68i9r9mfw3x10znz5wdw33esy2aeapnjzjkr6ks1r3q-140isnfwtzgrbjxbo9ckx7xwq 172.21.133.50:2377


     

  6. 在服务器1,现在集群上已有3个节点


     

  7. 在服务器4,作为manager加入集群

    # 在服务器1上生成加入manager的token
    docker swarm join-token manager
    # 在服务器4上运行服务器1上生成的命令
    docker swarm join --token SWMTKN-1-5688aph68i9r9mfw3x10znz5wdw33esy2aeapnjzjkr6ks1r3q-bpew4e7mdkumvdag65ubvvqcf 172.21.133.50:2377

四、测试使用

  1. 创建一个nginx服务
    docker service create -p 8888:80 --name my-nginx nginx


    注意:

    # 容器启动!不具有扩缩容
    docker run
    # 服务启动!具有扩缩容,滚动更新!
    docker service

    启动服务后会有随机副本,可在其他服务器上查看


     

  2. 启动3个副本,动态扩缩荣
     

    docker service update --replicas 3 my-nginx


    并且可以在别的服务器中看到服务


    并可以在浏览器中进行访问,只要在集群中的服务器都可以访问


     

  3. 甚至可以扩容10个,会随机分配容器个数。服务可以有多个副本动态扩缩容,实现高可用。

    docker service update --replicas 10 my-nginx


     

  4. 也可以使用scale进行扩缩容,与update效果一样

    docker service scale my-nginx=5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值