×

要在安装 Red Hat OpenShift GitOps Operator 到集群后使用 Argo Rollouts 并管理渐进式交付,您可以在选择的命名空间中创建和配置一个RolloutManager自定义资源 (CR) 实例。您可以为单个或多个命名空间设置RolloutManager CR 的范围。

先决条件

  • 您可以访问具有cluster-admin权限的集群。

  • 您可以访问 OpenShift Container Platform Web 控制台。

  • Red Hat OpenShift GitOps 1.9.0 或更高版本已安装在您的集群上。

创建 RolloutManager 自定义资源

要使用 Red Hat OpenShift GitOps 中的 Argo Rollouts 管理部署的渐进式交付,您必须在您选择的命名空间中创建和配置一个RolloutManager自定义资源 (CR)。默认情况下,任何新的argo-rollouts实例都只有权限管理其部署所在命名空间中的资源,但您可以根据需要在多个命名空间中使用 Argo Rollouts。

先决条件
  • Red Hat OpenShift GitOps 1.9.0 或更高版本已安装在您的集群上。

步骤
  1. 以集群管理员身份登录 OpenShift Container Platform Web 控制台。

  2. 在**管理员**视角下,点击**Operators** → **已安装的 Operators**。

  3. 从**项目**下拉菜单中创建或选择您想要创建和配置RolloutManager自定义资源 (CR) 的项目。

  4. 从已安装的 Operators 中选择**Red Hat OpenShift GitOps**。

  5. 在**详细信息**选项卡下的**提供的 API**部分,点击**RolloutManager**面板中的**创建实例**。

  6. 在**创建 RolloutManager**页面上,选择**YAML 视图**并使用默认 YAML 或根据您的需求进行编辑。

    示例:RolloutManager CR
    apiVersion: argoproj.io/v1alpha1
    kind: RolloutManager
    metadata:
      name: argo-rollout
      namespace: openshift-gitops
    spec: {}
  7. 点击**创建**。

  8. 在**RolloutManager**选项卡下的**RolloutManagers**部分,验证 RolloutManager 实例的**状态**字段是否显示为**阶段:可用**。

  9. 在左侧导航窗格中,验证命名空间范围内的支持资源的创建。

    • 点击**工作负载** → **部署**以验证argo-rollouts部署是否可用,且**状态**显示为正在运行的1 of 1 pods

    • 点击**工作负载** → **密钥**以验证argo-rollouts-notification-secret密钥是否可用。

    • 点击**网络** → **服务**以验证argo-rollouts-metrics服务是否可用。

    • 点击**用户管理** → **角色**以验证argo-rollouts角色和argo-rollouts-aggregate-to-adminargo-rollouts-aggregate-to-edit以及argo-rollouts-aggregate-to-view集群角色是否可用。

    • 点击**用户管理** → **角色绑定**以验证argo-rollouts角色绑定是否可用。

删除 RolloutManager 自定义资源

卸载 Red Hat OpenShift GitOps Operator 不会删除安装过程中创建的资源。在卸载 Red Hat OpenShift GitOps Operator 之前,您必须手动删除RolloutManager自定义资源 (CR)。

先决条件
  • Red Hat OpenShift GitOps 1.9.0 或更高版本已安装在您的集群上。

  • 您的命名空间中存在一个RolloutManager CR。

步骤
  1. 以集群管理员身份登录 OpenShift Container Platform Web 控制台。

  2. 在**管理员**视角下,点击**Operators** → **已安装的 Operators**。

  3. 点击**项目**下拉菜单,并选择包含RolloutManager CR 的项目。

  4. 从已安装的 Operators 中选择**Red Hat OpenShift GitOps**。

  5. 点击**RolloutManager**选项卡,在**RolloutManagers**部分查找 RolloutManager 实例。

  6. 点击该实例。

  7. 从下拉菜单中点击**操作** → **删除 RolloutManager**,然后在对话框中点击**删除**以确认。

  8. 在**RolloutManager**选项卡下的**RolloutManagers**部分,验证 RolloutManager 实例是否不再可用。

  9. 在左侧导航窗格中,验证命名空间范围内的支持资源的删除。

    • 点击**工作负载** → **部署**以验证argo-rollouts部署是否已删除。

    • 点击**工作负载** → **密钥**以验证argo-rollouts-notification-secret密钥是否已删除。

    • 点击**网络** → **服务**以验证argo-rollouts-metrics服务是否已删除。

    • 点击**用户管理** → **角色**以验证argo-rollouts角色和argo-rollouts-aggregate-to-adminargo-rollouts-aggregate-to-edit以及argo-rollouts-aggregate-to-view集群角色是否已删除。

    • 点击**用户管理** → **角色绑定**以验证argo-rollouts角色绑定是否已删除。

在 Linux 上安装 Argo Rollouts CLI

您可以在 Linux 上安装 Argo Rollouts CLI。

先决条件
  • 您已安装 OpenShift Container Platform CLI (oc)。

步骤
  1. 通过运行以下命令下载最新版本的 Argo Rollouts CLI 二进制文件kubectl-argo-rollouts

    $ curl -LO https://github.com/argoproj/argo-rollouts/releases/latest/download/kubectl-argo-rollouts-linux-amd64
  2. 通过运行以下命令确保kubectl-argo-rollouts二进制文件可执行。

    $ chmod +x ./kubectl-argo-rollouts-linux-amd64
  3. 通过运行以下命令将kubectl-argo-rollouts二进制文件移动到系统路径。

    # mv ./kubectl-argo-rollouts-linux-amd64 /usr/local/bin/kubectl-argo-rollouts

    确保您拥有运行此命令的超级用户权限。

  4. 通过运行以下命令并接收类似的输出,验证插件是否已正确安装。

    $ oc argo rollouts version
    示例输出
    kubectl-argo-rollouts: v1.6.6+737ca89
      BuildDate: 2024-02-13T15:39:31Z (1)
      GitCommit: 737ca89b42e4791e96e05b438c2b8540737a2a1a
      GitTreeState: clean
      GoVersion: go1.20.14 (2)
      Compiler: gc
      Platform: linux/amd64 (3)
    
    1 Argo Rollouts 二进制文件的构建日期信息。
    2 用于构建 Argo Rollouts 二进制文件的 Go 语言版本。
    3 用于构建 Argo Rollouts 二进制文件的平台。

在 Mac OS 上安装 Argo Rollouts CLI

如果您是 macOS 用户,您可以使用Homebrew包管理器安装 Argo Rollouts CLI。

先决条件
  • 您已安装 Homebrew (brew) 包管理器。

步骤
  • 运行以下命令以安装 Argo Rollouts CLI

    $ brew install argoproj/tap/kubectl-argo-rollouts

在 Argo CD 实例上启用 Argo Rollouts UI

要在 Argo CD 实例上启用 Argo Rollouts UI,请完成以下步骤。

先决条件
  • 您可以访问具有cluster-admin权限的集群。

  • 您已在 OpenShift Container Platform 集群上安装了 Red Hat OpenShift GitOps Operator。

  • 您已配置了**RolloutManager**自定义资源 (CR)。

步骤
  1. 登录 OpenShift Container Platform Web 控制台。

  2. 在 Web 控制台的**管理员**视角下,点击**Operators** → **已安装的 Operators**。

  3. 从已安装的 Operators 列表中选择**Red Hat OpenShift GitOps**,然后点击**Argo CD**选项卡。

  4. openshift-gitops命名空间下的**Argo CD**选项卡中选择 Argo CD 实例。

  5. 点击**YAML**并添加以下配置以配置 Argo Rollouts UI

    示例:在 Argo CD CR 中启用 Argo Rollouts UI
    apiVersion: argoproj.io/v1beta1
    kind: ArgoCD
    metadata:
      name: argocd
    spec:
      server:
        enableRolloutsUI: true (1)
    1 将此值设置为true以配置enableRolloutsUI字段。
  6. 点击**保存**。

  7. 在 Web 控制台的**管理员**视角中,导航到Red Hat 应用程序菜单图标 菜单 → **OpenShift GitOps** → **集群 Argo CD**。Argo CD Web UI 的登录页面将显示在新窗口中。

  8. 要在 Argo CD Web UI 中访问 Argo Rollouts UI,请配置包含 Argo Rollouts 资源的示例应用程序。

    enableRolloutsUI 字段会重启 Argo CD 服务器部署 pod,因此 Argo Rollouts 扩展在 Argo CD Web UI 中启用需要几秒钟。