ochothon, mesos+marathon/ochopod代理+ 工具包+ CLI !

分享于 

9分钟阅读

GitHub

  繁體 雙語
Mesos+Marathon/Ochopod web-shell + toolkit + CLI !
  • 源代码名称:ochothon
  • 源代码网址:http://www.github.com/autodesk-cloud/ochothon
  • ochothon源代码文档
  • ochothon源代码下载
  • Git URL:
    git://www.github.com/autodesk-cloud/ochothon.git
    Git Clone代码到本地:
    git clone http://www.github.com/autodesk-cloud/ochothon
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/autodesk-cloud/ochothon
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    Ochothon

    Join the chat at https://gitter.im/autodesk-cloud/ochothon

    概述

    这个项目是一个小型开发 PaaS,利用了 Ochopod,并将它的覆盖在马拉松。 这是马拉松相当于英镑 Ochonetes

    你可以使用任何香草网/马拉松设置或者 be,也可以采用,它提供了一个精巧的VPC安装和仪表板。

    这个代理托管我们的小工具包,允许你创建。查询和管理你的Ochopod容器。 它还允许你直接CURL命令,这是构建你自己的/cd/cd管道的好方法。

    正在启动

    步骤 1: 在本地安装 CLI

    只需安装我们的CLI接口,它只需要英镑的python。 然后,你将获得一个多用途的ocho 命令行脚本。 举个例子:

    
    $ pip install git+https://github.com/autodesk-cloud/ochothon.git
    
    
    $ ocho
    
    
    usage: ocho [-h] command [extra arguments [extra arguments.. .]]
    
    
    ocho: error: too few arguments
    
    
    
    
    步骤 2: 安装 DCOS

    你知道怎么做。 只要仔细阅读他们的 文档 脚本将轻松部署为一个 inside ( 而且你可以进入他们非常酷的仪表盘)的整个堆栈。 确保至少指定一个 public 从属以运行我们的代理。

    步骤 3: 部署代理容器

    我们使用一个简单的代理机制与容器交互。 只需使用附加的 dcos.json 配置来设置它。 如果你希望保护代理,你可以编辑这里文件并定义一个秘密令牌( 它用于内部SHA1-HMAC挑战)。 举个例子:

    
    "ochothon_token":"my cool secret token"
    
    
    
    

    现在为你的一个主控形状颁发 HTTP POST,以生成代理任务:

    
    $ curl -s -XPOST http://<MASTER IP>:8080/v2/apps -d@dcos.json -H"Content-Type: application/json"
    
    
    
    

    这几乎是。 只需等待 ocho代理任务启动并从运行它的位置检查。

    注意它的内部EC2地址( 通常像 ip-172-20-0-11.ec2.internal 一样)。 进入你的AWS控制台,并找出它的从属 MATCHES。 当然,你需要的是从 public IP (。比如 你可以从工作站访问的)。 从现在开始,( 或者相应的主机名) 将是你唯一需要访问的东西- - ( 例如你可以将它添加到本地 /etc/hosts。)。 你也可以根据自己的需要轻松地防火墙。

    如果你杀死了任务,不要惊慌,只是创建一个新的( 这是完全无状态的)。

    步骤 4: 测试

    只需运行CLI并键入 help。 你应该得到支持的工具列表的响应。 举个例子:

    
    $ ocho cli my-cluster
    
    
    welcome to the ocho CLI! (CTRL-C to exit)
    
    
    my-cluster> help
    
    
    available commands -> bump, deploy, exec, grep, kill, log, ls, off, on, poll, port, reset, scale
    
    
    
    

    请注意,你必须在我的集群映射到你的代理 IP ( 在 /etc/hosts 中),以便使 上面 能够工作。

    不使用 mesos dns

    如果你想在普通 mesos/马拉松设置上运行代理,并且不打算安装 mesos-dns你必须手动为所有主机指定 IP。

    你可以通过在的JSON配置中添加一个收费的$MARATHON_MASTER 环境变量来实现这样的操作。 使用简单的逗号分隔连接字符串,并确保使用 private IP地址。 举个例子:

    
    "env":
    
    
     {
    
    
    "ochopod_cluster":"portal",
    
    
    "ochopod_debug":"true",
    
    
    "ochopod_token":"",
    
    
    "MARATHON_MASTER":"10.37.202.103:8080,10.169.225.66:8080"
    
    
     }
    
    
    
    

    现在你已经设置好了,可以远程向代理发出命令。 你害怕使用CURL还是觉得懒惰? 没有 problemo,使用我们自己包含的小 ! 你只需要在本地安装 python 2.7 + 你可以设置 $OCHOPOD_PROXY 环境变量,以避免在 命令行 上传递代理 IP。 在该交互式会话中键入的任何命令都将被中继到你的代理 ! 如果你喜欢CURL目录,也可以这样做。

    如果你正在与代理服务器通信以获得一个秘密令牌,你必须 export $OCHOPOD_TOKEN 环境变量并将它的设置为正确值。 不设置或者将它的设置为错误值将导致失败。

    代理支持一组完成各种任务的工具。 在CLI中输入 help,得到其中的一个列表。 每个工具还支持 --help switch,它将打印出你需要知道的所有细节。 举例来说,

    
    $ ocho cli my-cluster
    
    
    welcome to the ocho CLI! (CTRL-C to exit)
    
    
    my-cluster> help
    
    
    available commands -> bump, deploy, exec, grep, kill, log, ls, off, on, poll, port, reset, scale
    
    
    
    my-cluster> grep --help
    
    
    usage: ocho grep [-h] [-d] [clusters [clusters.. .]]
    
    
    
    Displays high-level information for the specified cluster(s).
    
    
    
    positional arguments:
    
    
     clusters 1+ clusters (can be a glob pattern, e.g foo*)
    
    
    
    optional arguments:
    
    
     -h, --help show this help message and exit
    
    
     -d, --debug debug mode
    
    
    
    

    模板图像

    你可以通过运行 ocho init 轻松地开始你自己的映像。 这个工具将在本地克隆指定的库,并将它的设置为。 举个例子:

    
    $ ocho init
    
    
    > enter a short identifier to describe what the image does (e.g web or database): my-app
    
    
    > enter the docker repo/image to push to upon a CI build (e.g foo/bar): opaugam/ochopod-my-image
    
    
    template ready in ochopod-marathon-my-app/
    
    
    
    

    最终检查

    你已经设置好了。使用命令行工具,你应该可以看到门户本身。 举个例子:

    
    $ ocho cli my-cluster
    
    
    welcome to the ocho CLI! (CTRL-C to exit)
    
    
    my-cluster> grep
    
    
    <*> -> 100% replies (1 pods total) ->
    
    
    
    cluster | pod IP | process | state
    
    
     | | |
    
    
    marathon.portal #1 | 10.169.225.66 | running | leader
    
    
    
    

    文档

    你可以为我们的在线文档 ,例如设计笔记和更多

    可以在文档/文档中找到英镑的 Sphinx 材料。 进入那里,为你喜欢的目标构建,例如:

    
    $ cd docs
    
    
    $ make html
    
    
    
    

    文档将写入到 _docs/构建/html文档。 这就是Sphinx的基础,如果你想定制输出,你有很多选项和旋钮。

    更多示例

    查看我的 git images图像,代码示例 &,更多

    支持

    有关这里项目的更多信息,请联系 autodesk.cloud. opensource@autodesk.com

    许可证

    © 2015 Autodesk公司保留所有权利

    在Apache许可以证下许可以证版本 2.0 ("许可以证") ;你可以能不使用这里文件,除了符合许可以证。 你可以获得许可证的副本在*

    http://www.apache.org/licenses/LICENSE-2.0

    在规定的法律或者书面许可下,在许可条款下分发的软件在不保证任何种类的担保或者条件的前提下分发,或者明示或者隐含。 查看许可协议下特定语言的许可权限和限制的许可证。


    tool  工具箱  Proxy  Mesos  
    相关文章