首页 文章 精选 留言 我的

精选列表

搜索[MaaS平台],共10000篇文章
优秀的个人博客,低调大师

Docker集中化web界面管理平台shipyard

Shipyard(github)是建立在docker集群管理工具Citadel之上的可以管理容器、主机等资源的web图形化工具。包括core和extension两个版本,core即shipyard主要是把多个 Docker host上的 containers 统一管理(支持跨越多个host),extension即shipyard-extensions添加了应用路由和负载均衡、集中化日志、部署等。 1. 几个概念 engine 一个shipyard管理的docker集群可以包含一个或多个engine(引擎),一个engine就是监听tcp端口的docker daemon。shipyard管理docker daemon、images、containers完全基于Docker API,不需要做其他的修改。另外,shipyard可以对每个engine做资源限制,包括CPU和内存;因为TCP监听相比Unix socket方式会有一定的安全隐患,所以shipyard还支持通过SSL证书与docker后台进程安全通信。 rethinkdb RethinkDB是一个shipyard项目的一个docker镜像,用来存放账号(account)、引擎(engine)、服务密钥(service key)、扩展元数据(extension metadata)等信息,但不会存储任何有关容器或镜像的内容。一般会启动一个shipyard/rethinkdb容器shipyard-rethinkdb-data来使用它的/data作为数据卷供另外rethinkdb一个挂载,专门用于数据存储。 2. 搭建过程 修改tcp监听 Shipyard 要管理和控制 Docker host 的话需要先修改 Docker host 上的默认配置使其监听tcp端口(可以继续保持Unix socket)。有以下2种方式 sudo docker -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock -d启动docker daemon。如果为了避免每次启动都写这么长的命令,可以直接在/etc/init/docker.conf中修改。 修改/etc/default/docker的DOCKER_OPTSDOCKER_OPTS="-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock"。这种方式在我docker version 1.4.1 in ubuntu 14.04上并没有生效。 重启服务 $ sudo docker -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock -d 验证 $ netstat -ant |grep 4243 tcp6 0 0 :::4243 :::* LISTEN 启动rethinkdb shipyard(基于Python/Django)在v1版本时安装过程比较复杂,既可以通过在host上安装,也可以部署shipyard镜像(包括shipyard-agent、shipyard-deploy等组件)。v2版本简化了安装过程,启动两个镜像就完成: 获取一个/data的数据卷 $sudo docker run -it -d --name shipyard-rethinkdb-data \ --entrypoint /bin/bash shipyard/rethinkdb -l 使用数据卷/data启动RethinkDB docker run -it -P -d --name shipyard-rethinkdb \ --volumes-from shipyard-rethinkdb-data shipyard/rethinkdb 部署shipyard镜像 启动shipyard控制器: sudo docker run -it -p 8080:8080 -d --name shipyard \ --link shipyard-rethinkdb:rethinkdb shipyard/shipyard 至此已经可以通过浏览器访问http://host:8080来访问shipyard UI界面了。 第一次run后,关闭再次启动时直接使用: sudo docker stop shipyard shipyard-rethinkdb shipyard-rethinkdb-data sudo docker start shipyard-rethinkdb-data shipyard-rethinkdb shipyard 图示 登录: 默认用户名/密码为 admin/shipyard 主界面: Dashboard展示在添加engine时指定的CPU以及内存的使用情况。 容器: shipyard管理的所有docker主机的所有容器,包括stop和running状态的。可以直接点击DEPLOY按钮来从镜像运行出其他容器,与docker run的选项几乎相同,可以限制CPU和内存的使用,详见shipyard的containers文档。 容器操作: 可以stop、start、restart容器,通过LOGS可以看到容器日志输出,SCALE可以批量(规模化)部署该容器,这个操作与容器的Type属性息息相关。因为shipyard可以管理多个host的docker容器,所以启动一个容器的type可以是:service——可以在具有相同label的engine上运行;unique——一个host上只允许某个镜像的一个实例运行;host——在指定的host上运行容器,启动的时候通过--label host:<host-id>语法指定docker host。 engine管理: 一个engine就是一个docker daemon,docker daemon下启动着多个containers,可以对engine限制一个整体的CPU和内存限制,shipyard通过TCP端口连接daemon。需要注意的是docker client与server的版本问题:(因为shipyard目前还在快速的完善过程,不同版本的docker应该是向下兼容的) curl -X GET http://172.29.88.223:4243/v1.15/containers/json client and server don't have same version (client : 1.15, server: 1.13) 3. shipyard-cli 目前图形化界面能做的操作其实很少,正在强大的是通过shipyard提供的命令行窗口(称作Shipyard CLI)进行管理,参考http://shipyard-project.com/docs/usage/cli/ 启动命令行交互模式: sudo docker run --rm -it shipyard/shipyard-cli 使用它甚至可以替代docker客户端。 sean@seanubt:~$ sudo docker run -it shipyard/shipyard-cli shipyard cli> shipyard help NAME: shipyard - manage a shipyard cluster USAGE: shipyard [global options] command [command options] [arguments...] VERSION: 2.0.8 COMMANDS: login login to a shipyard cluster change-password update your password accounts show accounts add-account add account delete-account delete account containers list containers inspect inspect container run run a container stop stop a container restart restart a container scale scale a container logs show container logs destroy destroy a container engines list engines add-engine add shipyard engine remove-engine removes an engine inspect-engine inspect an engine service-keys list service keys add-service-key adds a service key remove-service-key removes a service key extensions show extensions add-extension add extension remove-extension remove an extension webhook-keys list webhook keys add-webhook-key adds a webhook key remove-webhook-key removes a webhook key info show cluster info events show cluster events help, h Shows a list of commands or help for one command GLOBAL OPTIONS: --help, -h show help --generate-bash-completion --version, -v print the version 登录shipyard shipyard cli> shipyard login URL: http://172.29.88.205:8080 Username: admin Password: 查看containers shipyard cli> shipyard containers 启动一个容器 shipyard cli> shipyard run --name nginx:1.7.6 --container-name web_test \ --cpus 0.2 \ --memory 64 \ --type service \ --hostname nginx-test \ --domain example.com \ --link redis:db \ --port tcp/172.29.88.205:81:8081 \ --port tcp/::8000 \ --restart "on-failure:5" \ --env FOO=bar \ --label dev \ 查看容器日志(只能接容器ID,暂不能使用容器名) shipyard cli> shipyard logs ff2761d 关闭并移除容器 shipyard cli> shipyard destroy <container_id> 不一一列举。。。

优秀的个人博客,低调大师

众推平台架构——分布式爬虫

分布式爬虫架构 经过新一轮的投票,项目的范围已经基本确定。 大家决定 全力以付,集中攻克“分布式爬虫”。 分布式爬虫架构1 使用队列,即生产者,消费都模式。 由于生产者将规则生成到队列,然后由爬虫集群(消费者)到队列中取规则,然后按优先级等规则进行爬取。 分布式爬虫架构2 类似于webmagic,webmagic的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。webmagic采用完全模块化的设计,功能覆盖整个爬虫的生命周期(链接提取、页面下载、内容抽取、持久化),支持多线程抓取,分布式抓取,并支持自动重试、自定义UA/cookie等功能。 分布式爬虫架构3 分布式爬虫架构3,参考的Cola是一个分布式的爬虫框架,用户只需编写几个特定的函数,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。 基于Cola实现的爬虫位于contrib/目录下。目前实现了四个爬虫: wiki:维基百科。 weibo:新浪微博爬虫。从初始用户出发,然后是其关注和粉丝,依次类推,抓取指定个数的新浪微博用户的微博、个人信息、关注和粉丝。其中,用户微博只获取了内容、赞的个数、转发和评论的个数等等,而没有具体去获取此微博被转发和评论的内容。 generic(unstable):通用爬虫,只需配置,而无需修改代码。目前Cola实现了一个抽取器(cola/core /extractor),能够从网页正文中自动抽取主要内容,即去除类似边栏和底脚等内容。但是,此抽取器目前准确度还不够,效率也不够高,所以需要谨慎 使用。 weibosearch(unstable):新浪微博搜索的爬虫。这个爬虫使用 cola.core.opener.SpynnerOpener,基于spynner实现了一个Opener能够执行JavaScript和Ajax代 码。目前这个爬虫存在的问题是:新浪微博可能会将其识别成机器人,因此有可能会让输入验证码。 wiki和weibo之前有所提及。主要说明generic和weibosearch。 分布式爬虫架构4 设计方式参考hadoop等分布式运算架构。 控制结点类似于hadoop的namenode,工作结点类似于datanode。存储可以根据代理适配到DB或者Mongo集群等。 有想参与的可以一起进来讨论 群号 194338168 想深度参与的加,不想参与的就别往里进了,现在需要的主要是开发和文档两类人。群会定期往出清人! (项目会开源出来)

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册