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
    
  • 相关阅读:
    xcode开发笔记
    css样式笔记
    weex开发的笔记
    启动优化优秀文章和部分内容摘录
    备注Weex开发
    ARKit的使用示例
    数据结构:数据结构可分为几类?
    JAVAWEB应用模块(一)登录模块
    IDEA常用操作链接
    java中成员变量,局部变量,静态变量的辨析
  • 原文地址:https://www.cnblogs.com/zhengyazhao/p/13457839.html
Copyright © 2011-2022 走看看