用Docker管理一个小型OAR开发集群。
oar-docker的Python项目详细描述
使用Docker构建自己的OAR集群
----------
OAR Docker是一组Docker映像,专门为部署自己的OAR集群而配置。我们的主要想法是在一台简单的笔记本电脑上建立一个小型开发集群,其中包含前端、服务器和一些节点,这些节点只需几秒钟就可以启动。
为什么要使用OAR Docker?
---------
各种情况可能会影响您:
-在群集上快速测试OAR
-获得时间:十节点群集(或更多)仅在几秒钟内启动,并在不到一秒钟内清理完毕。
-节省资源:Docker允许用户对节点进行池在
各种系统之间,资源利用率因此大大降低。
-同步卷:允许您继续在主机上工作,但
使用来宾计算机中的资源编译或运行项目。
要求:
-python>;=2.7
-docker>;=1.3
配置版本)::
$pip install git+https://github.com/oar team/oar docker.git
用法:oardocker[options]command1[args]…[命令2[参数]…]…
].
--cgroup path text cgroup文件系统路径[默认值:/sys/fs/cgroup]。
--docker binary text docker客户端二进制文件[默认值:docker]。
--详细详细模式。
--调试启用调试
--版本显示版本和退出。
-h,--帮助显示此消息并退出。
s
exec在现有节点中运行命令。
init初始化新环境。
install install and configure oar from src
logs获取所有节点或仅一个节点的日志。
reset重新启动容器
start create and start the nodes
集群的状态输出状态
停止并删除所有节点
您已经有了oar源,最好是直接初始化oar源目录中的
oardocker项目::
$cd path/to/oar/src
$oardocker init-e jessie
它允许您导入dockerfile
和其他配置文件。
为此,有几个选项可用。
/>您还可以从git存储库启动安装:
$oardocker install git+https://github.com/oar team/oar.git
我们启动一个包含5个节点的oar集群:
$oardocker start-n 5
群集::
$oardocker connect frontend server nodexx
$oardocker logs[frontend server nodexx]
s<;none:none>;
$oar docker destroy删除所有图像和容器
evelop on oar,我们经常需要安装oar,
启动集群并连接到它::
$oar docker install$pwd start-n 10-v$pwd:/home/docker/oar_src connect frontend
"stop"命令在
每个"start"、"install"和"build"之前自动启动…如果我们多次启动
最后一个命令,我们将始终获得相同的结果。实验和开发(甚至)更快是很有用的。
security
--
oar docker是一个开发项目,也是一个测试项目。它绝不是安全的。
此外,使用的私有ssh密钥也是不安全的,因为它是公共的(您可以在源代码中找到它)。
相关资源
----
-`a minimal ubuntu base image modified for docker-friendly`\br/>-`got a minute?使用Docker `
OAR Docker ChangeLog
==
1.3.0版
----
2016年6月13日发布
-重新安装oar.sh脚本(apache2配置+chmod 0600 oar.conf)
-添加newapi apache2 config(用于python oar api)
-通过systemd修复apache2启动
-使用清单重新处理端口绑定
-为oar api将端口绑定添加到6668
-更改用于转发的默认主机端口号
1.2.0版
----
2016年3月30日发布
-将前端http服务器从nginx还原到apache
-固定oar rest api单元测试-
于2016年2月10日发布
-将基本映像版本更新为1.3.2
-配置Debian分支以固定来自SID(nginx,systemd)的一些最新包
-取消屏蔽systemd tmpfiles安装服务(固定45)
-固定/etc/再次使用最新版本的挂载点Docker的(>;1.9)
-添加了基于Jessie One的新Coorm env
-使init脚本可执行
-如果没有安装脚本设置为manifest,则不支持安装操作。json
-添加了manifest.json文件以描述环境
-如果缺少,请尝试提取Docker映像
-添加了`--rebuild``选项来重建图像,即使已经完成了
-将原始OAR服务器日志发送到journalCTL
-在``oardocker exec``cmd
version 1.0.0
----
于2015年11月18日发布安全性
-使用systemd作为容器的默认init
-改进了使用systemd激活套接字的ressources。
-使用tmpfiles.d创建运行时易失性文件(pid,/var/run etc.)
-使用/etc/profile向容器传递环境变量
-不再不安全re ssh keys
-通过nginx替换apache2修复了所有web服务(api、monika…)-通过向cent添加rsyslog节点改进了日志记录对所有日志重新排序
-在"oardocker logs"命令中添加了"`--no tail`"和"`--lines/-n`"选项
-手动创建资源,因为它比oar_resources_ini(无ssh连接)快
-删除了未使用的脚本
-oar3 ready
0.6.0版
----
released 2015年10月22日
-删除了喘息环境(已修复39)
-默认情况下已登录到stdout
-已修复oar.conf权限以允许普通用户读取它
-在单击中禁用unicode文本警告-添加了用于api进行身份验证的identd start
-已启用mod cgi(用于monika)
-让oar makefile配置web工具
-cigri base的新模板
-固定资源初始化
-固定字符串格式
-默认情况下不分配伪tty
-为oar 2.5.3及更旧版本设置固定oar节点和oar服务器init.d脚本
-重新调整新oarsources_init options
-在前端设置cosystem和部署作业并安装oar节点
0.5.10版
----
2015年7月3日发布
-make/etc/oar/job_resource_cgroup.pl一个符号链接,用于改进调试(修复了34个)
-通过re修复了api已转换为旧版本0.5.9
----
2015年7月1日发布的版本0.5.9
----
-设置oarexec_debug_mode=1以改善开发环境(已修复34)
0.5.8版
----
2015年6月29日发布的版本0.5.8
ns
-bumped base images version to 1.2
version 0.5.7
----
2015年6月25日发布
-bumped base images version to 1.1(包括Apache2 Suexec和Pidentd)
-修复了setup_resources script(fixed_33)的标记
-fixed OAR API Apache configu定量
0.5.6版
----
2015年6月23日发布
-使用杰西作为默认环境
0.5.5版
----
2015年6月12日发布
-关于持久bash历史的小错误修复
0.5.4版
----
于2015年6月2日发布
-将基本映像版本提升到1.0.4
-将persistent.bash_history和.pyhistory添加到-ro、:rw和:cow options添加到`--volume`` option
-修复了jessie中的phppgadmin和oarapi 403错误
-修复了jessie中的oarapi 403错误
-删除了dDockerfile中的升级包安装
-Debian Jessie中的固定Rest客户端安装
-在基本映像中安装了Chandler
-在OAR安装之后配置了PostgreSQL
-更新wait-pgsql脚本:如果未提供主机,则使用Unix套接字
0.5.3版
-————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————/>-当接收到sigint(fixed 27)时运行清理脚本并终止容器中的所有进程
-将基本映像更新为1.0.3版
-改进的oardocker cgroup cleanup
-在oardocker stop上清理oardocker nodes cgroup(fixed 27)
-配置oarsh以获取当前的cpuset from the containers(fixed 30)
-添加了丑陋的补丁来修复/etc/hosts mount with docker>;=1.6.0
0.5.2版
----
2015年5月5日发布colmet节点上的连接
0.5.1版
——
2015年4月21日发布
-与docker py==1.1.0的固定兼容性
0.5.0版
——
-于2015年4月2日发布
-从图像中删除chandler和ruby
-ins在服务器上安装了libdatatime perln jessie one
-基于用kameleon构建的oardocker/debian7和oardocker/debian8映像
0.4.3版
----
2015年2月23日发布的
-添加了--调试选项
-将默认的docker api设置为1.15(25)
-解决phpphadmin apache install
-removed drawgantt svg权限错误(23)
-修复了``oardocker init``子命令(22)
-在生成期间将workdir上载到容器
-更新了dockerfile以执行自定义设置.sh脚本
0.4.2版
----
2015年1月28日发布在安装OAR(固定的20)之前从源代码中删除未连接的OAR文件(git clean)
0.4.0版
----
2015年1月24日发布
-python3支持
-在所有容器输出前面加上容器主机名(如docker oar logs子命令)
-在oardocker build子命令中添加了`--force rm``和`--pull``选项
-允许用户使用位于``.oardocker/images/<;image_name>;/``
中的custom_setup.sh脚本生成自定义映像-添加了在重置容器时关闭容器
-更新/etc/hosts的正确方法
-从依赖项中删除dockerpy包
-删除oardocker ssh/ssh config子命令
-添加`--verbose``选项
-修复oardocker logs子命令
0.3.2版
----
2014年12月16日发布显示x11应用程序的容器
-在python启动时自动加载oar模块
-在"oardocker start"中添加"env"选项以设置自定义环境变量
-在"oardocker exec"中添加"workdir"选项
0.3.1版2014年11月27日发布的
**错误修复**:
-修复dockerfiles"from"语句
**改进**:
-删除可用env中的隐式"默认"别名
0.3.0版
----
**功能**:
-添加了"oardocker execer"``命令
-使用"oardocker init"管理多个环境变量:添加了喘息的jessie python基映像
**错误修复**:
-由于jessie中中断了oar api而将默认环境还原为debian喘息
-修复了区域设置问题
**改进**:
-更好的同步OAR服务器和PostgreSQL服务之间的ISIS
<0.2.0版
----
2014年11月5日发布ker ssh``和``oardocker ssh config``从现在起就被弃用
**改进**:
-删除了supervisor,只使用my_init.d statup scripts使init进程不那么复杂
-自定义的帮助参数接受``-h``和`--help``
-对一些任务而不是api
**错误修复**:
-确保/etc/hosts文件包含2014年10月28日发布的localhost条目
0.1.4版
----
-如果文件名以"~"结尾,则忽略我的init脚本
-添加了等待postgres的wait-pgsql脚本ql可用
-固定monika配置(db server hostname is server)
-删除旧代码
-使cgroup mount脚本适应job_resource_manager_cgroup.pl并删除旧的cpuset解决方法
-固定cpu/核心/线程关联
0.1.3版
----
2014年9月10日
-添加了"oar reset"命令以重新启动容器
-添加了有关带有git信息的oardocker映像的更好的注释
-使用了默认的作业资源管理器脚本(来自oar源)
-在容器中装载主机cgroup路径(默认路径为/sys/fs/cgroup)
-从ssh_config中删除停止的容器
-删除dnsmasq并为节点安装自定义/etc/hosts(need docker>;=1.2.0)
0.1.2版
----
2014年9月16日发布
-与旧版本的git保持兼容
-不命名容器
-将oar src作为带unionfs fuse的写目录副本安装
-包含时停止安装r在``oardocker install`
期间失败-向打印版本添加了选项
-允许与不同用户进行ssh连接
0.1.1版
----
2014年9月11日发布
-小错误修复
0.1版
----
2014年9月11日发布
OAR Docker首次公开发布
----------
OAR Docker是一组Docker映像,专门为部署自己的OAR集群而配置。我们的主要想法是在一台简单的笔记本电脑上建立一个小型开发集群,其中包含前端、服务器和一些节点,这些节点只需几秒钟就可以启动。
为什么要使用OAR Docker?
---------
各种情况可能会影响您:
-在群集上快速测试OAR
-获得时间:十节点群集(或更多)仅在几秒钟内启动,并在不到一秒钟内清理完毕。
-节省资源:Docker允许用户对节点进行池在
各种系统之间,资源利用率因此大大降低。
-同步卷:允许您继续在主机上工作,但
使用来宾计算机中的资源编译或运行项目。
要求:
-python>;=2.7
-docker>;=1.3
配置版本)::
$pip install git+https://github.com/oar team/oar docker.git
用法:oardocker[options]command1[args]…[命令2[参数]…]…
].
--cgroup path text cgroup文件系统路径[默认值:/sys/fs/cgroup]。
--docker binary text docker客户端二进制文件[默认值:docker]。
--详细详细模式。
--调试启用调试
--版本显示版本和退出。
-h,--帮助显示此消息并退出。
s
exec在现有节点中运行命令。
init初始化新环境。
install install and configure oar from src
logs获取所有节点或仅一个节点的日志。
reset重新启动容器
start create and start the nodes
集群的状态输出状态
停止并删除所有节点
您已经有了oar源,最好是直接初始化oar源目录中的
oardocker项目::
$cd path/to/oar/src
$oardocker init-e jessie
它允许您导入dockerfile
和其他配置文件。
为此,有几个选项可用。
/>您还可以从git存储库启动安装:
$oardocker install git+https://github.com/oar team/oar.git
我们启动一个包含5个节点的oar集群:
$oardocker start-n 5
群集::
$oardocker connect frontend server nodexx
$oardocker logs[frontend server nodexx]
s<;none:none>;
$oar docker destroy删除所有图像和容器
evelop on oar,我们经常需要安装oar,
启动集群并连接到它::
$oar docker install$pwd start-n 10-v$pwd:/home/docker/oar_src connect frontend
"stop"命令在
每个"start"、"install"和"build"之前自动启动…如果我们多次启动
最后一个命令,我们将始终获得相同的结果。实验和开发(甚至)更快是很有用的。
security
--
oar docker是一个开发项目,也是一个测试项目。它绝不是安全的。
此外,使用的私有ssh密钥也是不安全的,因为它是公共的(您可以在源代码中找到它)。
相关资源
----
-`a minimal ubuntu base image modified for docker-friendly`\br/>-`got a minute?使用Docker `
OAR Docker ChangeLog
==
1.3.0版
----
2016年6月13日发布
-重新安装oar.sh脚本(apache2配置+chmod 0600 oar.conf)
-添加newapi apache2 config(用于python oar api)
-通过systemd修复apache2启动
-使用清单重新处理端口绑定
-为oar api将端口绑定添加到6668
-更改用于转发的默认主机端口号
1.2.0版
----
2016年3月30日发布
-将前端http服务器从nginx还原到apache
-固定oar rest api单元测试-
于2016年2月10日发布
-将基本映像版本更新为1.3.2
-配置Debian分支以固定来自SID(nginx,systemd)的一些最新包
-取消屏蔽systemd tmpfiles安装服务(固定45)
-固定/etc/再次使用最新版本的挂载点Docker的(>;1.9)
-添加了基于Jessie One的新Coorm env
-使init脚本可执行
-如果没有安装脚本设置为manifest,则不支持安装操作。json
-添加了manifest.json文件以描述环境
-如果缺少,请尝试提取Docker映像
-添加了`--rebuild``选项来重建图像,即使已经完成了
-将原始OAR服务器日志发送到journalCTL
-在``oardocker exec``cmd
version 1.0.0
----
于2015年11月18日发布安全性
-使用systemd作为容器的默认init
-改进了使用systemd激活套接字的ressources。
-使用tmpfiles.d创建运行时易失性文件(pid,/var/run etc.)
-使用/etc/profile向容器传递环境变量
-不再不安全re ssh keys
-通过nginx替换apache2修复了所有web服务(api、monika…)-通过向cent添加rsyslog节点改进了日志记录对所有日志重新排序
-在"oardocker logs"命令中添加了"`--no tail`"和"`--lines/-n`"选项
-手动创建资源,因为它比oar_resources_ini(无ssh连接)快
-删除了未使用的脚本
-oar3 ready
0.6.0版
----
released 2015年10月22日
-删除了喘息环境(已修复39)
-默认情况下已登录到stdout
-已修复oar.conf权限以允许普通用户读取它
-在单击中禁用unicode文本警告-添加了用于api进行身份验证的identd start
-已启用mod cgi(用于monika)
-让oar makefile配置web工具
-cigri base的新模板
-固定资源初始化
-固定字符串格式
-默认情况下不分配伪tty
-为oar 2.5.3及更旧版本设置固定oar节点和oar服务器init.d脚本
-重新调整新oarsources_init options
-在前端设置cosystem和部署作业并安装oar节点
0.5.10版
----
2015年7月3日发布
-make/etc/oar/job_resource_cgroup.pl一个符号链接,用于改进调试(修复了34个)
-通过re修复了api已转换为旧版本0.5.9
----
2015年7月1日发布的版本0.5.9
----
-设置oarexec_debug_mode=1以改善开发环境(已修复34)
0.5.8版
----
2015年6月29日发布的版本0.5.8
ns
-bumped base images version to 1.2
version 0.5.7
----
2015年6月25日发布
-bumped base images version to 1.1(包括Apache2 Suexec和Pidentd)
-修复了setup_resources script(fixed_33)的标记
-fixed OAR API Apache configu定量
0.5.6版
----
2015年6月23日发布
-使用杰西作为默认环境
0.5.5版
----
2015年6月12日发布
-关于持久bash历史的小错误修复
0.5.4版
----
于2015年6月2日发布
-将基本映像版本提升到1.0.4
-将persistent.bash_history和.pyhistory添加到-ro、:rw和:cow options添加到`--volume`` option
-修复了jessie中的phppgadmin和oarapi 403错误
-修复了jessie中的oarapi 403错误
-删除了dDockerfile中的升级包安装
-Debian Jessie中的固定Rest客户端安装
-在基本映像中安装了Chandler
-在OAR安装之后配置了PostgreSQL
-更新wait-pgsql脚本:如果未提供主机,则使用Unix套接字
0.5.3版
-————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————/>-当接收到sigint(fixed 27)时运行清理脚本并终止容器中的所有进程
-将基本映像更新为1.0.3版
-改进的oardocker cgroup cleanup
-在oardocker stop上清理oardocker nodes cgroup(fixed 27)
-配置oarsh以获取当前的cpuset from the containers(fixed 30)
-添加了丑陋的补丁来修复/etc/hosts mount with docker>;=1.6.0
0.5.2版
----
2015年5月5日发布colmet节点上的连接
0.5.1版
——
2015年4月21日发布
-与docker py==1.1.0的固定兼容性
0.5.0版
——
-于2015年4月2日发布
-从图像中删除chandler和ruby
-ins在服务器上安装了libdatatime perln jessie one
-基于用kameleon构建的oardocker/debian7和oardocker/debian8映像
0.4.3版
----
2015年2月23日发布的
-添加了--调试选项
-将默认的docker api设置为1.15(25)
-解决phpphadmin apache install
-removed drawgantt svg权限错误(23)
-修复了``oardocker init``子命令(22)
-在生成期间将workdir上载到容器
-更新了dockerfile以执行自定义设置.sh脚本
0.4.2版
----
2015年1月28日发布在安装OAR(固定的20)之前从源代码中删除未连接的OAR文件(git clean)
0.4.0版
----
2015年1月24日发布
-python3支持
-在所有容器输出前面加上容器主机名(如docker oar logs子命令)
-在oardocker build子命令中添加了`--force rm``和`--pull``选项
-允许用户使用位于``.oardocker/images/<;image_name>;/``
中的custom_setup.sh脚本生成自定义映像-添加了在重置容器时关闭容器
-更新/etc/hosts的正确方法
-从依赖项中删除dockerpy包
-删除oardocker ssh/ssh config子命令
-添加`--verbose``选项
-修复oardocker logs子命令
0.3.2版
----
2014年12月16日发布显示x11应用程序的容器
-在python启动时自动加载oar模块
-在"oardocker start"中添加"env"选项以设置自定义环境变量
-在"oardocker exec"中添加"workdir"选项
0.3.1版2014年11月27日发布的
**错误修复**:
-修复dockerfiles"from"语句
**改进**:
-删除可用env中的隐式"默认"别名
0.3.0版
----
**功能**:
-添加了"oardocker execer"``命令
-使用"oardocker init"管理多个环境变量:添加了喘息的jessie python基映像
**错误修复**:
-由于jessie中中断了oar api而将默认环境还原为debian喘息
-修复了区域设置问题
**改进**:
-更好的同步OAR服务器和PostgreSQL服务之间的ISIS
<0.2.0版
----
2014年11月5日发布ker ssh``和``oardocker ssh config``从现在起就被弃用
**改进**:
-删除了supervisor,只使用my_init.d statup scripts使init进程不那么复杂
-自定义的帮助参数接受``-h``和`--help``
-对一些任务而不是api
**错误修复**:
-确保/etc/hosts文件包含2014年10月28日发布的localhost条目
0.1.4版
----
-如果文件名以"~"结尾,则忽略我的init脚本
-添加了等待postgres的wait-pgsql脚本ql可用
-固定monika配置(db server hostname is server)
-删除旧代码
-使cgroup mount脚本适应job_resource_manager_cgroup.pl并删除旧的cpuset解决方法
-固定cpu/核心/线程关联
0.1.3版
----
2014年9月10日
-添加了"oar reset"命令以重新启动容器
-添加了有关带有git信息的oardocker映像的更好的注释
-使用了默认的作业资源管理器脚本(来自oar源)
-在容器中装载主机cgroup路径(默认路径为/sys/fs/cgroup)
-从ssh_config中删除停止的容器
-删除dnsmasq并为节点安装自定义/etc/hosts(need docker>;=1.2.0)
0.1.2版
----
2014年9月16日发布
-与旧版本的git保持兼容
-不命名容器
-将oar src作为带unionfs fuse的写目录副本安装
-包含时停止安装r在``oardocker install`
期间失败-向打印版本添加了选项
-允许与不同用户进行ssh连接
0.1.1版
----
2014年9月11日发布
-小错误修复
0.1版
----
2014年9月11日发布
OAR Docker首次公开发布