Skip to content

跟踪和部署战略

Argo CD 应用程序规范提供了几种跟踪 Kubernetes 资源清单的不同方法。

在所有追踪策略中,应用程序都有自动同步选项。自动同步配置后,一旦检测到差异,就会自动应用新的资源清单。

注意 在所有跟踪策略中,任何参数覆盖优先于 Git 状态。

Helm

Helm 图表版本有语义版本因此,您可以被引用以下任何一个版本范围:

| 使用案例 | 如何使用 | 示例 | |-|-||| | 引脚指向版本(如生产中) | 使用版本号 | | 使用版本号1.2.0| 跟踪补丁(例如在预生产中) | 被引用的范围1.2.*&gt;=1.2.0<1.3.0| 跟踪次要发布(例如在 QA 中) | 被引用的范围 | 被引用的次要发布(例如在 QA 中)。1.*>=1.0.0<2.0.0| | 使用最新版本(例如在本地开发中) | | 使用星级范围 | | | 使用星级范围*>=0.0.0| | 使用最新版本,包括预发布版本 | | 使用星级范围,并带有-0后缀*-0&gt;=0.0.0-0|.

了解版本范围

Git

对于 Git,所有版本都是 Git 引用: Git

| 使用案例 | 如何提交 | 注意事项 | |-|-|-| | 将提交钉在版本上(例如生产中) | (a) 给提交打上标记(例如:"...... "或"......")。v1.2.0) 并使用该标记,或 (b) 使用提交 SHA。提交销号跟踪补丁(例如在预生产中) | 标记/重新标记提交,例如(例如v1.2) 并被引用。标签跟踪| 跟踪次要发布(例如在 QA 中) | 将提交重新标记为(例如v1) 并被引用。标签跟踪| | 被引用的最新版本(如在本地开发中) | 使用HEADmaster(假设master是您的主分支)。HEAD / 分支跟踪|

如果指定了分支名称或符号引用(如 HEAD),Argo CD 就会不断将实时状态与指定分支顶端定义的资源清单或符号引用的已解析提交进行比较。

要重新部署应用程序,请更改(至少)其中一个清单,提交并推送到跟踪分支/符号引用。 Argo CD 将检测到更改。

标签跟踪

如果指定了标签,则会引用指定 Git 标签下的清单来执行同步比较。 这与分支跟踪相比有一些优势,因为标签通常被认为更稳定,更新频率也更低,但需要人工判断什么是标签。

要重新部署应用程序,用户可使用 Git 更改标签的含义,将其重新标记到不同的提交 SHA 上。 Argo CD 会在执行比较/同步时检测标签的新含义。

承诺销号

如果指定了 Git 提交 SHA,应用程序就会被固定在指定提交时定义的清单上。 这是限制性最强的技术,通常被引用来控制生产环境。

由于提交 SHA 不能更改含义,因此要更改已固定到某个提交的应用程序的实时状态,唯一的方法就是将应用程序中的跟踪修订更新到包含新清单的不同提交。参数覆盖仍可在固定到修订版的应用程序上设置。