教程 - 创建和运行服务

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

IMPORTANT: Tutorials are intended to give you hands-on experience working with a limited set of DC/OS features with no implied or explicit warranty of any kind. None of the information provided—including sample scripts, commands, or applications—is officially supported by Mesosphere. You should not use this information in a production environment without independent testing and validation.

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

先决条件

单命令服务

DC/OS Web 界面

从 DC/OS Web 界面创建和运行简单的服务:

  1. 单击 DC/OS Web 界面的 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. 在 Web 界面中创建服务

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

    在 DC/OS UI 中运行服务

    图 2. 在 Web 界面中查看运行的服务

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 Web 界面的 Services 视图中的服务名称,以查看其运行情况并监控运行状况。

容器化服务

DC/OS Web 界面

从 DC/OS Web 界面创建和运行容器化的服务:

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

  2. 单击 DC/OS Web 界面的 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. Web 界面中的容器化服务

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

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

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

    图 4. 在 Web 界面中查看容器化服务

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 Web 的 Services 选项卡中,单击服务名称,然后选择任务实例之一。

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