5.18. 在基础架构节点上运行 GitOps control plane 工作负载


您可以使用基础架构节点防止额外的账单成本。

您可以使用 OpenShift Container Platform 在 Red Hat OpenShift GitOps Operator 安装的基础架构节点上运行特定的工作负载。默认情况下,它由 Red Hat OpenShift GitOps Operator 安装的工作负载包括在 openshift-gitops 命名空间中,包括该命名空间中的默认 Argo CD 实例。

注意

任何安装到用户命名空间的其他 Argo CD 实例都无权在 Infrastructure 节点上运行。

5.18.1. 将 GitOps 工作负载移到基础架构节点

您可以将 Red Hat OpenShift GitOps 安装的默认工作负载移到基础架构节点。可移动的工作负载有:

  • kam deployment
  • 集群部署(后端服务)
  • openshift-gitops-applicationset-controller 部署
  • openshift-gitops-dex-server 部署
  • openshift-gitops-redis 部署
  • openshift-gitops-redis-ha-haproxy 部署
  • openshift-gitops-repo-sever 部署
  • openshift-gitops-server 部署
  • openshift-gitops-application-controller statefulset
  • openshift-gitops-redis-server statefulset

流程

  1. 运行以下命令,将现有节点标记为基础架构:

    $ oc label node <node-name> node-role.kubernetes.io/infra=
  2. 编辑 GitOpsService 自定义资源(CR)以添加基础架构节点选择器:

    $ oc edit gitopsservice -n openshift-gitops
  3. GitOpsService CR 文件中,将 runOnInfra 字段添加到 spec 部分,并将其设置为 true。此字段将 openshift-gitops 命名空间中的工作负载移到基础架构节点:

    apiVersion: pipelines.openshift.io/v1alpha1
    kind: GitopsService
    metadata:
      name: cluster
    spec:
      runOnInfra: true
  4. 可选:在基础架构节点上应用污点并隔离工作负载,并防止其他工作负载调度到这些节点上。

    $ oc adm taint nodes -l node-role.kubernetes.io/infra
    infra=reserved:NoSchedule infra=reserved:NoExecute
  5. 可选: 如果您将污点应用到节点,您可以在 GitOpsService CR 中添加容限:

    spec:
      runOnInfra: true
      tolerations:
      - effect: NoSchedule
        key: infra
        value: reserved
      - effect: NoExecute
        key: infra
        value: reserved

要验证工作负载是否已调度到 Red Hat OpenShift GitOps 命名空间中的基础架构节点上,请点击任何 pod 名称,并确保已添加了 Node selectorTolerations

注意

在默认 Argo CD CR 中手动添加节点选择器Tolerations 都会被 GitOpsService CR 中的切换和容限覆盖。

5.18.2. 其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.