3.5. 重要的流收集器配置注意事项


创建 FlowCollector 实例后,您可以重新配置它,但 pod 被终止并重新创建,这可能会具有破坏性。因此,您可以考虑在第一次创建 FlowCollector 时配置以下选项:

其他资源

有关流收集器规格和 Network Observability Operator 架构和资源使用的常规信息,请参阅以下资源:

3.5.1. 迁移删除了 FlowCollector CRD 的存储版本

Network Observability Operator 版本 1.6 会删除 FlowCollector API 的旧和已弃用的 v1alpha1 版本。如果您之前在集群中安装此版本,它可能仍然在 FlowCollector CRD 的 storedVersion 中被引用,即使它已从 etcd 存储中删除,这会阻止升级过程。这些引用需要手动删除。

删除存储版本有两个选项:

  1. 使用 Storage Version Migrator Operator。
  2. 卸载并重新安装 Network Observability Operator,确保安装处于干净的状态。

先决条件

  • 已安装旧版本的 Operator,并希望准备集群来安装最新版本的 Operator。或者您试图安装 Network Observability Operator 1.6 并遇到错误:Failed risk of data loss updating "flowcollectors.flows.netobserv.io": new CRD removes version v1alpha1 that is listed as a stored version on the existing CRD

流程

  1. 验证旧的 FlowCollector CRD 版本仍然在 storedVersion 中被引用:

    $ oc get crd flowcollectors.flows.netobserv.io -ojsonpath='{.status.storedVersions}'
  2. 如果 v1alpha1 出现在结果列表中,请按照以下步骤 a 使用 Kubernetes Storage Version Migrator 或 Step b 来卸载并重新安装 CRD 和 Operator。

    1. 选项 1: Kubernetes Storage Version Migrator: 创建一个 YAML 来定义 StorageVersionMigration 对象,如 migrate-flowcollector-v1alpha1.yaml

      apiVersion: migration.k8s.io/v1alpha1
      kind: StorageVersionMigration
      metadata:
        name: migrate-flowcollector-v1alpha1
      spec:
        resource:
          group: flows.netobserv.io
          resource: flowcollectors
          version: v1alpha1
      1. 保存该文件。
      2. 运行以下命令来应用 StorageVersionMigration

        $ oc apply -f migrate-flowcollector-v1alpha1.yaml
      3. 更新 FlowCollector CRD,以从 storedVersion 中手动删除 v1alpha1

        $ oc edit crd flowcollectors.flows.netobserv.io
    2. 选项 2:FlowCollector CR 的 Network Observability Operator 1.5 版本保存到文件中,如 flowcollector-1.5.yaml

      $ oc get flowcollector cluster -o yaml > flowcollector-1.5.yaml
      1. 按照"卸载 Network Observability Operator"中的步骤,它会卸载 Operator 并删除现有的 FlowCollector CRD。
      2. 安装 Network Observability Operator 最新版本 1.6.0。
      3. 使用在第 b 步中保存的备份创建 FlowCollector

验证

  • 运行以下命令:

    $ oc get crd flowcollectors.flows.netobserv.io -ojsonpath='{.status.storedVersions}'

    结果列表应该不再显示 v1alpha1,仅显示最新版本 v1beta1

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.