zoukankan      html  css  js  c++  java
  • Docker swarm上线的一些问题

    简介

      由于公司高峰业务,单机服务不能承载那么多的并发量,考虑使用docker swarm作为集群。主要记录此次上线使用碰到的一些问题

    4789端口和阿里云udp端口冲突问题

      这个是最没有想到的问题,在测试环境的时候,节点之间的镜像同步发现没问题。但是上线之后,发现当更新镜像的时候,从节点一直报错No such image。首先想到的是iptable设置问题。

      通过firewall-cmd --zone=public --list-ports查看发现端口都已经开放

    • 用于集群管理通信TCP端口2377
    • TCP和UPD端口7946,用于节点之间的通信
    • UPD端口4789,用于overlay网络流量。


      检查主节点和从节点的iptables都没有发现.查看集群结点的话,也都是正常状态。链接在此

      后来在查看一个链接的时候,发现了阿里云这里有这个问题。


      这里也就是4789位系统保留端口。所以导致集群之间无法进行同步。找到问题后,把4789端口改变为5789.该问题顺利解决。

      在创建docker swarm的时候,指定UDP端口号(范围1024-49151之间).并且docker 版本必须在1.40+

      docker swarm init --advertise-addr 192.168.1.1 --data-path-port 5789
    

    集群结点崩溃

      发生的情况是,测试的时候,如果有3个结点,当其中一个Leader节点leave的时候,此时在执行命令就会报错。

    Error response from daemon: rpc error: code = 4 desc = context deadline exceeded
    

      使用该参数是保证,当丢失Leader时,强制重建集群

      docker swarm init --force-new-cluster --advertise-addr 192.168.1.1 --data-path-port 5789
    
  • 相关阅读:
    欧拉回路的判断(hdu1878)其一
    最长公共子序列(不是子串)hdu1159
    线段树(hdu1166)
    记忆化搜索(hdu1078)
    分考场问题。。。
    hdu2087
    cf540C
    x86 寄存器 | DPL,RPL,CPL 之间的联系和区别
    深度学习 | 训练网络trick——mixup
    python | Argparse中action的可选参数store_true,store_false到底是什么意思?
  • 原文地址:https://www.cnblogs.com/zhengyazhao/p/13457839.html
Copyright © 2011-2022 走看看