zoukankan      html  css  js  c++  java
  • docker集中化管理平台--shipyard部署

    Shipyard是建立在docker集群管理工具Citadel之上的可以管理容器、主机等资源的web图形化工具,包括core和extension两个版本,core即shipyard主要是把多个 host上的 containers 统一管理(支持跨越多个host),extension即shipyard-extensions添加了应用路由和负载均衡、集中化日志、部署等;Shipyard是在Docker Swarm实现对容器、镜像、docker集群、仓库、节点进行管理的web系统。

    shipyard特点:

      1)支持节点动态集群,可扩展节点的规模(swarm、etcd方案)
      2)支持镜像管理、容器管理、节点管理等功能
      3)可视化的容器管理和监控管理
      4)在线容console终端

     

     Shipyard环境包括一下docker容器:

    1)RethinkDB
    deploy首先启动的就是RethinkDB容器,shipyard采用RethinkDB作为数据库来保存用户等信息
    2)Discovery
    为了使用Swarm,我们需要一个外部的密钥值存储群容器,shipyard默认是采用了etcd。
    3)shipyard_certs
    证书管理容器,实现证书验证功能
    4)Proxy
    默认情况下,Docker引擎只监听Socket,我们可以重新配置引擎使用TLS或者使用一个代理容器,转发请求从TCP到Docker监听的UNIX Socket。
    5)Swarm Manager
    Swarm管理器
    6)Swarm Agent
    Swarm代理,运行在每个节点上。
    7)Controller
    shipyard控制器,Remote API的实现和web的实现。

    Shipyard环境部署:

    下载官方一键部署脚本

    https://shipyard-project.com/deploy            这个地址已经失效
    提取密码: kgqi
    chmod 755 shipyard-deploy
    sh shipyard-deploy
    Deploying Shipyard
     -> Starting Database
     -> Starting Discovery
     -> Starting Cert Volume
     -> Starting Proxy
     -> Starting Swarm Manager
     -> Starting Swarm Agent
     -> Starting Controller
    Waiting for Shipyard on 172.16.60.213:8080
     
    Shipyard available at http://172.16.60.213:8080
    Username: admin Password: shipyard
    Username: admin Password: shipyard
    查看启动的容器:

    如果想要修改web访问端口,则操作如下:

    cat shipyard-deploy |grep 8080
    echo "  PORT: specify the listen port for the controller (default: 8080)"
    SHIPYARD_PORT=${PORT:-8080}
    比如将脚本中默认的8080端口改为80端口
    sed -i 's/8080/80/g' shipyard-deploy 
    然后重新部署即可
    删除Shipyard环境操作
    cat shipyard-deploy |ACTION=remove bash
    Removing Shipyard
     -> Removing Database
     -> Removing Discovery
     -> Removing Cert Volume
     -> Removing Proxy
     -> Removing Swarm Agent
     -> Removing Swarm Manager
     -> Removing Controller
    Done
    Shipyard添加节点
    cat shipyard-deploy| ACTION=node DISCOVERY=etcd://172.16.60.218:4001 bash
    。。。。。。
    Node added to Swarm: 172.16.60.220
    此处的ip为主节点ip。
    删除节点机
    cat shipyard-deploy |ACTION=remove bash -s
    Removing Shipyard
     -> Removing Database
     -> Removing Discovery
     -> Removing Cert Volume
     -> Removing Proxy
     -> Removing Swarm Agent
     -> Removing Swarm Manager
     -> Removing Controller
    Done
    Shipyard现在的开发者已经不再维护,但是可以在github上找到相关程序的源代码,我找到的源码链接附在下面:
    该项目后端使用go语言进行开发,底层使用了swarm对docker进行跨主机连接,是页面化管理docker的一个较为不错的工具,也可以对其进行二次开发,借鉴使用。
    原文链接:https://www.cnblogs.com/kevingrace/p/6867820.html,这个大神docker学的很溜,跟着老司机不翻车的哟,哈哈哈。
  • 相关阅读:
    Docker-(三).Dockerfile
    Docker-(二).使用操作
    Docker-(一).安装
    Mac-brew install mysql
    Mac-brew
    Selenium HTMLTestRunner 执行测试成功但无法生成报告
    12.Python爬虫利器三之Xpath语法与lxml库的用法
    11.Python-第三方库requests详解(三)
    10.Python-第三方库requests详解(二)
    9.Python爬虫利器一之Requests库的用法(一)
  • 原文地址:https://www.cnblogs.com/yanwanglol/p/10009854.html
Copyright © 2011-2022 走看看