1.6. 配置 ImagePullPolicy


GitOps Operator 允许管理员在多个级别上配置 imagePullPolicy,以控制 Argo CD 组件如何拉取容器镜像。

imagePullPolicy 配置遵循分级优先级系统,其中最具体的配置具有优先权:

  • 使用 spec.imagePullPolicy 字段在 Argo CD CR 中定义 实例级别策略。
  • 通过 GitOps Operator Subscription 中的 IMAGE_PULL_POLICY 环境变量定义的 全局级策略。
  • 默认策略 - IfNotPresent 在没有指定以前的配置时使用。
值描述

Always

始终拉取(pull)镜像。

IfNotPresent

只有在本地没有镜像时拉取镜像。

Never

永不拉取(pull)镜像。

您可以通过在 Operator 的 Subscription 中设置 IMAGE_PULL_POLICY 环境变量来为 Operator 管理的所有 Argo CD 实例定义全局镜像拉取策略。例如:

apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: openshift-gitops-operator
spec:
  config:
    env:
      - name: IMAGE_PULL_POLICY
        value: "Always"

实例级配置覆盖 Operator 级别策略,并将配置仅应用到 CR 中定义的特定实例。

以下示例演示了如何为 Argo CD 实例中所有组件配置 imagePullPolicy。

apiVersion: argoproj.io/v1beta1
kind: ArgoCD
metadata:
  name: argocd
  namespace: argocd
spec:
  imagePullPolicy: IfNotPresent

以下示例演示了如何为 GitOpsService 实例中所有组件定义 imagePullPolicy。

apiVersion: pipelines.openshift.io/v1alpha1
kind: GitOpsService
metadata:
  name: gitops-service
  namespace: openshift-gitops
spec:
  imagePullPolicy: Always

以下示例演示了如何为 RolloutsManager 实例中所有组件设置 imagePullPolicy。

apiVersion: argoproj.io/v1alpha1
kind: RolloutManager
metadata:
  name: argo-rollout
  labels:
    example: basic
spec:
  imagePullPolicy: Always

通过在适当的级别上配置 imagePullPolicy,您可以控制为 GitOps 组件更新容器镜像的频率。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部