zoukankan      html  css  js  c++  java
  • shipyard 管理swarm集群(附etcd发现服务方法)

    docker swarm集群

    第一步:安装swarm集群

    192.168.132.131----->(manger1,node)
    192.168.132.132----->(manger2,node)
    192.168.132.133----->(node)
    192.168.132.135----->(node)

    manger1 主机

    启动 Consel 服务后端

    #启动 consel 服务容器,映射到主机的 8500 端口。
    $ docker run -d -p 8500:8500 --name=consul progrium/consul -server -bootstrap

    启动主管理节点

    启动一个主管理节点,映射到主机的 4000 端口,并获取所在主机地址为 <manager0_ip>。其中 4000 端口是 Swarm 管理器的默认监听端口,用户也可以指定映射为其它端口。

    $ docker run -d -p 4000:4000 swarm manage -H :4000 --replication --advertise <manager0_ip>:4000 consul://<consul_ip>:8500  #manager0 本机ip

    manger2 主机

    启动备用管理节点

    $ docker run -d swarm manage -H :4000 --replication --advertise <manager1_ip>:4000 consul://<consul_ip>:8500    #manager1 本机ip

    所有node节点

    启动工作节点

    docker run -d swarm join --advertise=<node_ip>:2375 consul://<consul_ip>:8500    #工作节点ip

    测试:

    docker -H 192.168.132.131:4000 info

    docker -H 192.168.132.132:4000 info

    关闭 manger1的swarm 管理节点,去管理节点2上 docker -H 192.168.132.132:4000 info 发现 role 变为 primary

    安装shipyard

    Shipyard是一款开源的图形化的Docker管理工具,官方有自动安装脚本,使用非常方便。复制、粘贴、使用,就这么简单。先不研究他是如何实现的,安装使用起来再说。

    所有操作均在manger1节点

    # docker pull rethinkdb
    # docker pull microbox/etcd
    # docker pull shipyard/docker-proxy
    # docker pull swarm
    # docker pull shipyard/shipyard
    
    
    #1. 数据存储(rethinkdb)
    docker run -ti -d --name shipyard-rethinkdb rethinkdb
    
    #2.Docker代理服务(shipyard/docker-proxy)
    docker run -ti -d -p 2376:2375 --hostname=$HOSTNAME --name shipyard-proxy -v /var/run/docker.sock:/var/run/docker.sock -e PORT=2375 shipyard/docker-proxy
    
    #3 启动shipyard
    docker run -ti -d --name shipyard-controller --link shipyard-rethinkdb:rethinkdb --link shipyard-swarm-manager:swarm -p 8083:8080 shipyard/shipyard server -d tcp://swarm:4000
    
    
    注解: 
    tcp://swarm:4000 表示swarm集群的管理地址(端口为搭建集群时的管理端口)
    
    --link shipyard-swarm-manager:swarm
    shipyard-swarm-manager 表示的是swarm manger的容器名称
    
    
    #然后访问:http://manger1_ip:8083
    默认用户名/密码 admin/shipyard

    注解:
    10.211.55.20:2375 为node节点ip和端口
    10.211.55.20:4001 为本地管理端口(及管理节点的ip和端口,类似于consul服务)

    另一种方法安装

    $ curl -s https://shipyard-project.com/deploy | bash -s

    ip:8080 admin shipyard

    etcd 服务 添加集群方法:

    管理节点:(etcd自动发现,与consul自动发现功能相同)
    
    #启动发现服务
    docker run -ti -d -p 4001:4001 -p 7001:7001 --name shipyard-discovery microbox/etcd -name discovery
    
    4001 类似于 consul的8500端口
    
    
    #启动管理节点: docker run -ti -d --name shipyard-swarm-manager swarm manage --host tcp://0.0.0.0:3375 etcd://10.211.55.20:4001

    10.211.55.20为本机ip,类似于consul服务ip和端口,tcp://0.0.0.0:3375 为管理节点的管理端口

    node节点:添加节点到集群

    docker run -ti -d --name shipyard-swarm-agent swarm join --addr 10.211.55.20:2375 etcd://10.211.55.20:4001
  • 相关阅读:
    利用ResultFilter实现asp.net mvc3 页面静态化
    c#的DateTime.Now函数详解
    C#中使用DES和AES加密解密
    C#实现DES加密解密,AES加密解密
    MyEclipse的破解代码,适用各个版本
    C# DataGridView分页显示
    C# 对话框使用大全
    C# 通过串口发送短信
    C# axWindowsMediaPlayer制作播放器
    C#关于log4net(Log For Net)
  • 原文地址:https://www.cnblogs.com/FRESHMANS/p/8442509.html
Copyright © 2011-2022 走看看