dcos-cli, 数据中心的命令行 !

分享于 

11分钟阅读

GitHub

  繁體 雙語
The command line for your datacenter!
  • 源代码名称:dcos-cli
  • 源代码网址:http://www.github.com/dcos/dcos-cli
  • dcos-cli源代码文档
  • dcos-cli源代码下载
  • Git URL:
    git://www.github.com/dcos/dcos-cli.git
    Git Clone代码到本地:
    git clone http://www.github.com/dcos/dcos-cli
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/dcos/dcos-cli
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    dc/os 命令行 接口

    dc/os 命令行 接口( adv。CLI ) 是一个跨平台 命令行 工具,它提供了一种用户友好而强大的方式来管理 dc/os集群。

    安装和使用

    如果你是的用户,请按照安装指导进行操作。 否则,按照下面的说明设置开发环境。

    详细的帮助和用法信息可以通过 dcos help 命令和通过 dcos <subcommand> --help的特定子命令获得。

    通用文档和 dc/os的其他文档在文档中提供。

    解析CLI输出

    CLI输出可以是空格分隔表,可以由你所喜欢的unix/linux工具( 如 rtc。awk和 grep ) 在使用 --json 标志时处理。

    如果使用 JSON,那么可以将它与强大的工具结合起来。 以下示例安装了在 dc/操作系统库中可用的每个软件包:

    dcos package search --json | jq '.[0].packages[].name' | xargs -L 1 dcos package install --yes

    注意:CLI输出支持支持stdout和stderr的UTF-8 编码。 请按照你的平台说明进行操作。

    插件开发依赖项

    • 要下载 dc/os CLI的源代码,必须安装 git插件。
    • python 版本 3.5. x 必须安装。
    • 如果 make env 失败,你可能缺少加密所需的依赖项。 有关更多信息或者使用我们的,请参见这里的,使用所有必需的依赖项构建。
    • 必须安装 virtualenv 并在系统路径上安装,才能安装旧版子命令。 新的子命令被打包为平台特定的可以执行或者平台特定的Zip归档文件。
    • 若要运行安装程序中的安装程序脚本,则必须安装 win_bash,才能在 Windows 中运行安装脚本。

    设置

    确保你满足安装软件包的要求。

    为 dcos cli克隆 git repo:

    git clone git@github.com:dcos/dcos-cli.git

    将目录更改为 repo 目录:

    cd dcos-cli

    为dcos项目创建一个 python 虚拟环境:

    cd python/lib/dcos
    make env

    为dcoscli项目创建一个 virtualenv:

    cd python/lib/dcoscli
    make env

    配置环境并运行

    dcoscli 目录中,source 将 virtualenv 激活脚本添加到你的PATH 中的dcos 命令行 接口:

    source env/bin/activate

    配置 CLI,更改以下适合你的本地安装 dc/os的值:

    dcos cluster setup http://dcos-ea-1234.us-west-2.elb.amazonaws.com

    通过调用 dc/os CLI帮助来启动:

    dcos help

    运行测试

    设置

    在运行 dc/os CLI集成测试之前,需要获得一个集群并运行以测试。 目前,测试套件只支持针对企业 dc/os进行测试。

    给出这些约束后,使用这些功能启动群集的简单方法是使用以下配置列表使用 dcos启动插件:

    launch_config_version: 1
    deployment_name: ${CLI_TEST_DEPLOYMENT_NAME}
    installer_url: ${CLI_TEST_INSTALLER_URL}
    platform: aws
    provider: onprem
    aws_region: us-west-2
    aws_key_name: ${CLI_TEST_SSH_KEY_NAME}
    ssh_private_key_filename: ${CLI_TEST_SSH_KEY_PATH}
    os_name: cent-os-7
    instance_type: m4.large
    num_masters: 1
    num_private_agents: 1
    num_public_agents: 1
    dcos_config:
     cluster_name: DC/OS CLI Integration Tests
     resolvers:
     - 10.10.0.2
     dns_search: us-west-2.compute.internal
     master_discovery: static

    如果 CLI_TEST_DEPLOYMENT_NAME 是用户自定义的NAME,CLI_TEST_INSTALLER_URL 是安装在安装程序所需版本的dcos_generate_config.ee.sh 脚本的URL,CLI_TEST_SSH_KEY_NAME 是安装的机器的本地路径,CLI_TEST_SSH_KEY_PATH 是安装在上的键的本地路径。

    然而,下载企业版 dcos_generate_config.ee.sh/os的脚本的URL并没有公开。 对于中级员工,可以在这里找到最新的企业 dc/os主构建网址:

    https://mesosphere.onelogin.com/notes/45791

    对于其他人,你仍然可以针对非企业集群运行集成测试套件( 例如。 社区 dc/os,但是请注意,运行完整的测试套件会失败。 查看运行的的下面部分,看看如何限制集成测试套件运行的测试集。

    社区 dc/os的最新主构建的网址是:

    https://downloads.dcos.io/dcos/testing/master/dcos_generate_config.sh

    初始化

    一旦集群启动并运行,就需要修改环境以运行测试。 你可以使用一个简单的脚本来修改你的环境,如下所示。

    注意:请确保你从顶层的目录运行这里脚本( 例如。 在中不包括 )。

    注意:你需要定制脚本中适合你设置的前几行代码。 你需要修改的变量的描述可以在下面的脚本中找到

    注意:该脚本将修改你的全球文件。 因为我们依赖静态命名的主机来运行我们的集成测试,所以这是必要的。 将来,我们希望删除这里限制:

    # You must set these variables yourself.
    export CLI_TEST_DCOS_URL=<cluster-ip-or-url>
    export CLI_TEST_SSH_KEY_PATH=<path-to-ssh-key>
    export CLI_TEST_SSH_USER=<ssh-user-name>
    # With the variables set 上面, run the script below verbatim
    export DCOS_DIR=$(mktemp -d)
    export CLI_TEST_MASTER_PROXY=true
    deactivate>/dev/null 2>&1 || true
    cd cli
    make clean env
    source env/bin/activate
    dcos cluster setup ${CLI_TEST_DCOS_URL} 
     --insecure 
     --username=bootstrapuser 
     --password=deleteme
    dcos config set core.reporting false
    dcos config set core.timeout 5
    deactivate
    cd -

    CLI_TEST_DCOS_URL: 保存你正在测试的群集的URL或者IP地址。 如果使用 dcos-launch 启动集群,可以通过运行 dcos-launch describe 来获得集群的IP。

    CLI_TEST_SSH_KEY_PATH: 指向 private 密钥文件,该文件用于在集群中的节点中。 如果使用 dcos-launch 启动集群,那么它应该指向 dcos-launch 配置中使用的相同文件。 这是由 node 集成测试使用的。

    CLI_TEST_SSH_USER: 将用于ssh的用户名保存到集群的节点中。 如果使用上面列出的配置启动集群,则必须将它的设置为 centos。 这是由 node 集成测试使用的。

    运行

    现在你的环境已经设置好了,我们可以开始运行测试了。 我们在 dcos 包( python/lib/dcos ) 和 dcoscli 包( python/lib/dcoscli ) 中都有测试。

    运行测试时,将当前目录更改为这两个位置之一,并按照以下说明操作。

    注意:你的必须你的virtualenv 使你的测试不能被停用为了通过以下命令运行测试。 这是非常重要的,经常是混乱的一点。

    如果你想运行完整的测试套件,只需运行:

    make test

    如果只想运行 MATCH 运行特定 Pattern 运行的单元测试:

    env/bin/tox -e py35-unit/<test-file>.py -- -k <test-pattern>

    如果只运行 MATCH 运行特定 Pattern 运行的集成测试:

    env/bin/tox -e py35-integration/<test-file>.py -- -k <test-pattern>

    其他有用的命令

    列出所有受支持的测试环境:

    env/bin/tox --listenvs

    运行一组特定的测试:

    env/bin/tox -e <testenv>

    运行特定的单元测试 模块:

    env/bin/tox -e py35-unit/<test-file>.py

    运行特定的集成测试模块:

    env/bin/tox -e py35-integration/<test-file>.py

    插件发布

    只需通过自动化TeamCity构建插件发布新版本的dc/os CLI,这将在添加新标记时自动启动。

    标签被用作版本号,必须遵循常规的 PEP-440 版本方案。

    自动构建启动三个工作来构建平台依赖可以执行文件( 在 Windows,OS X 和Linux中)。

    可执行文件被推送到 s3,并在 https://downloads.dcos.io/binaries/cli/<平台>/x86-64/<标记>/dcos上可用。 每个平台可执行文件和发布说明的链接都在以下位置发布: https://github.com/dcos/dcos-cli/releases/tag/<标记>

    自动化构建还使用 publish_to_pypi.sh 脚本插件将两个软件包发布到 PyPI:

    这些软件包可以由中间层/安装脚本库中的dc/os CLI安装脚本安装。


    COM  数据  COMM  Comma  命令行  
    相关文章