教程 - 创建和运行服务
创建和部署服务及容器化服务
重要: Mesosphere 不支持本教程、相关脚本或命令,它们不提供任何形式的保证。本教程的目的是为了演示功能,可能不适合在生产环境中使用。在您的环境中使用类似的解决方案之前,您必须进行调整、验证和测试。
本教程介绍如何使用 DC/OS Web 界面和 CLI 创建和部署简单的单命令服务和容器化服务。
先决条件
单命令服务
DC/OS Web 界面
从 DC/OS Web 界面创建和运行简单的服务:
- 单击 DC/OS Web 界面的 Services 选项卡,然后单击 RUN A SERVICE。
-
单击 Single Container。
- 在 SERVICE ID 字段,输入服务名称。
-
在 COMMAND 字段,输入
sleep 10
。 -
单击 MORE SETTINGS,然后选择容器运行时间。
- DOCKER ENGINE 如果您需要 Docker 软件包的特定功能,请使用此选项。如果选择此选项,则必须在 CONTAINER IMAGE 字段中指定 Docker 容器镜像。
- UNIVERSAL CONTAINER RUNTIME (UCR) Universal Container Runtime (UCR) 使用本地 Mesos 引擎。支持 Docker 文件格式、多个容器 (pod) 以及 GPU 资源。如果选择此选项,则可选择在 CONTAINER IMAGE 字段中指定 Docker 容器镜像。
- 单击查看和运行和运行服务。 图 1. 在 Web 界面中创建服务
- 单击 Services 视图中的服务名称,以查看其运行情况并监控运行状况。 图 2. 在 Web 界面中查看运行的服务
DC/OS CLI
从 DC/OS CLI 创建和运行简单服务:
-
使用以下内容创建名为
my-app-cli.json
的 JSON 文件:{
"id": "/my-app-cli",
"cmd": "sleep 10",
"instances": 1,
"cpus": 1,
"mem": 128,
"portDefinitions": [
{
"protocol": "tcp",
"port": 10000
}
],
"requirePorts": false
}
-
使用以下命令运行服务。
dcos marathon app add my-app-cli.json
-
运行以下命令以验证您的服务是否正在运行:
您还可以单击 DC/OS Web 界面的 Services 视图中的服务名称,以查看其运行情况并监控运行状况。dcos marathon app list
容器化服务
DC/OS Web 界面
从 DC/OS Web 界面创建和运行容器化的服务:
-
转到 Mesosphere Docker Hub 存储库 的
hello-dcos
页面,并记下最新的图像标签。 - 单击 DC/OS Web 界面的 Services 选项卡,然后单击 RUN A SERVICE。
- 单击 Single Container,在 SERVICE ID 字段中输入您的服务名称。
-
单击 Container Settings 选项卡,在 CONTAINER IMAGE 字段中输入以下内容:
mesosphere/hello-dcos:<image-tag>
。使用您在步骤 1 中复制的标记替换<image-tag>
。 图 3. Web 界面中的容器化服务 - 单击查看和运行和运行服务。
- 在 Services 选项卡中,单击服务名称,然后选择任务实例之一。单击 Logs,然后切换到 STDERR 和 STDOUT 以查看服务的输出。 图 4. 在 Web 界面中查看容器化服务
DC/OS CLI
从 CLI 创建并运行容器化服务:
-
转到 Mesosphere Docker Hub 存储库 的
hello-dcos
页面,并记下最新的图像标签。 -
使用以下内容创建名为
hello-dcos-cli.json
的 JSON 文件。将docker:image
字段中的<image-tag>
替换为您在步骤 1 中复制的标记。{
"id": "/hello-dcos-cli",
"instances": 1,
"cpus": 1,
"mem": 128,
"container": {
"type": "DOCKER",
"docker": {
"image": "mesosphere/hello-dcos:<image-tag>",
"forcePullImage": false,
"privileged": false
}
},
"acceptedResourceRoles": ["slave_public"],
"portDefinitions": [
{
"protocol": "tcp",
"port": 10001
}
],
"requirePorts": false
}
-
使用以下命令运行服务。
dcos marathon app add hello-dcos-cli.json
-
运行以下命令以验证您的服务是否正在运行:
dcos marathon app list
- 在 DC/OS Web 的 Services 选项卡中,单击服务名称,然后选择任务实例之一。
- 单击 Logs,然后切换到 STDERR (STDOUT) 视图以查看服务的输出。