当前位置:网站首页>Hashicopy之nomad应用编排方案07(提交Job)

Hashicopy之nomad应用编排方案07(提交Job)

2022-06-11 13:12:00 华为云

一 背景

在Nomad中,作业的描述及其所有需求都保存在一个称为“作业文件”的文件中。此作业文件驻留在本地磁盘上,强烈建议您将作业文件签入源代码管理。
在Nomad中提交作业的一般流程是:

  1. 根据作业规范编写作业文件
  2. 使用Nomad服务器计划和检查更改
  3. 将作业文件提交到Nomad服务器
  4. (可选)检查作业状态和日志

这里有一个非常基本的例子让你开始。

二 编写一个Job文件

Nomad试图在它的工作规范中在轻松和表达之间取得平衡。Nomad还提供了Nomad init命令来生成示例作业文件。有关Nomad作业规范的更详细信息,请参阅Nomad文档。
下面是一个示例作业文件,它首先运行一个小型docker容器web服务器。

job "docs" {  datacenters = ["dc1"]  group "example" {    network {      port "http" {        static = "5678"      }    }    task "server" {      driver = "docker"      config {        image = "hashicorp/http-echo"        ports = ["http"]        args = [          "-listen",          ":5678",          "-text",          "hello world",        ]      }    }  }}

此作业文件以纯文本形式存在于本地工作站上。当您对此作业文件感到满意时,您将计划并审查计划程序决定。将作业文件提交给源代码管理通常是最佳实践,尤其是在团队中工作时。

三 计划一个Job

作业文件编写完成后,您可能希望预览Nomad在运行时所做的更改。nomad job plan命令调用调度程序的一个演练,并输出将执行哪些调度决策。

nomad job plan httpecho.nomad

请注意,没有采取任何行动。此作业未运行。这是一次完全的演习,没有拨款。

四 提交一个Job

假设计划的输出看起来可以接受,现在要求Nomad执行该作业。这是通过nomad job run命令完成的。您可以选择提供由plan命令提供的modify索引,以确保从计划到现在之间没有对此作业进行任何更改。

既然计划了作业,它可能正在运行,也可能没有运行。您需要检查分配状态和日志,以确保作业正确启动。关于检查状态的下一节详细介绍了检查此作业状态的方法。

五 更新和应用一个Job

对作业进行更新时,最好始终运行plan命令,然后运行run命令。例如:

六 运行一个Job

现在,假设输出正常,执行nomad job run命令。包括check-index参数可确保作业在计划阶段和运行阶段之间没有更改。

有关高级作业更新策略(如金丝雀构建和构建绿色部署)的更多详细信息,请参阅有关作业更新策略的文档。

参考链接

原网站

版权声明
本文为[华为云]所创,转载请带上原文链接,感谢
https://bbs.huaweicloud.com/blogs/358902