教程 - 创建和运行服务

创建和部署服务及容器化服务

重要: Mesosphere 不支持本教程、相关脚本或命令,它们不提供任何形式的保证。本教程的目的是为了演示功能,可能不适合在生产环境中使用。在您的环境中使用类似的解决方案之前,您必须进行调整、验证和测试。

本教程介绍如何使用 DC/OS GUI 和 CLI 创建和部署简单的单命令服务和容器化服务。

先决条件

单命令服务

DC/OS GUI

从 DC/OS GUI 创建和运行简单服务:

  1. 单击 DC/OS GUI 的 Services 选项卡,然后单击 RUN A SERVICE

  2. 单击 Single Container

    1. SERVICE ID 字段,输入服务名称。
    2. COMMAND 字段,输入 sleep 10
    3. 单击 MORE SETTINGS,然后选择容器运行时间。
    • DOCKER ENGINE 如果您需要 Docker 软件包的特定功能,请使用此选项。如果选择此选项,则必须在 CONTAINER IMAGE 字段中指定 Docker 容器镜像。
    • UNIVERSAL CONTAINER RUNTIME (UCR) Universal Container Runtime (UCR) 使用本地 Mesos 引擎。支持 Docker 文件格式、多个容器 (pod) 以及 GPU 资源。如果选择此选项,则可选择在 CONTAINER IMAGE 字段中指定 Docker 容器镜像。

    如需更多信息,请参阅使用容器化工具

  3. 单击查看和运行运行服务

    在 DC/OS UI 中创建服务

    图 1. 在 GUI 中创建服务

  4. 单击 Services 视图中的服务名称,以查看其运行情况并监控运行状况。

    在 DC/OS UI 中运行服务

    图 2. 在 GUI 中查看运行的服务

DC/OS CLI

从 DC/OS CLI 创建和运行简单服务:

  1. 使用以下内容创建名为 my-app-cli.json 的 JSON 文件:

    1. {
    2. "id": "/my-app-cli",
    3. "cmd": "sleep 10",
    4. "instances": 1,
    5. "cpus": 1,
    6. "mem": 128,
    7. "portDefinitions": [
    8. {
    9. "protocol": "tcp",
    10. "port": 10000
    11. }
    12. ],
    13. "requirePorts": false
    14. }
  2. 使用以下命令运行服务。

    1. dcos marathon app add my-app-cli.json
  3. 运行以下命令以验证您的服务是否正在运行:

    1. dcos marathon app list

您还可以单击 DC/OS GUI 的 Services 视图中的服务名称,以查看其运行情况并监控运行状况。

容器化服务

DC/OS GUI

从 DC/OS GUI 创建并运行容器化服务:

  1. 转到 Mesosphere Docker Hub 存储库hello-dcos 页面,并记下最新的图像标签。

  2. 单击 DC/OS GUI 的 Services 选项卡,然后单击 RUN A SERVICE

  3. 单击 Single Container,在 SERVICE ID 字段中输入您的服务名称。

  4. 单击 Container Settings 选项卡,在 CONTAINER IMAGE 字段中输入以下内容:mesosphere/hello-dcos:<image-tag>。使用您在步骤 1 中复制的标记替换 <image-tag>

    DC/OS UI 中的容器化服务

    图 3. GUI 中的容器化服务

  5. 单击查看和运行运行服务

  6. Services 选项卡中,单击服务名称,然后选择任务实例之一。单击 Logs,然后切换到 STDERRSTDOUT 以查看服务的输出。

    在 DC/OS UI 中运行容器化服务

    图 4. 在 GUI 中查看容器化服务

DC/OS CLI

从 CLI 创建并运行容器化服务:

  1. 转到 Mesosphere Docker Hub 存储库hello-dcos 页面,并记下最新的图像标签。

  2. 使用以下内容创建名为 hello-dcos-cli.json 的 JSON 文件。将 docker:image 字段中的 <image-tag> 替换为您在步骤 1 中复制的标记。

    1. {
    2. "id": "/hello-dcos-cli",
    3. "instances": 1,
    4. "cpus": 1,
    5. "mem": 128,
    6. "container": {
    7. "type": "DOCKER",
    8. "docker": {
    9. "image": "mesosphere/hello-dcos:<image-tag>",
    10. "forcePullImage": false,
    11. "privileged": false
    12. }
    13. },
    14. "acceptedResourceRoles": ["slave_public"],
    15. "portDefinitions": [
    16. {
    17. "protocol": "tcp",
    18. "port": 10001
    19. }
    20. ],
    21. "requirePorts": false
    22. }
  3. 使用以下命令运行服务。

    1. dcos marathon app add hello-dcos-cli.json
  4. 运行以下命令以验证您的服务是否正在运行:

    1. dcos marathon app list
  5. 在 DC/OS GUI 的 Services 选项卡中,单击服务名称,然后选择任务实例之一。

  6. 单击 Logs,然后切换到 STDERR (STDOUT) 视图以查看服务的输出。