×

次要版本更新

如果您使用**自动**更新批准选项安装了日志记录 Operators,则您的 Operators 会自动接收次要版本更新。您无需执行任何手动更新步骤。

如果您使用**手动**更新批准选项安装了日志记录 Operators,则必须手动批准次要版本更新。有关更多信息,请参阅手动批准挂起的 Operator 更新

主要版本更新

对于主要版本更新,您必须完成一些手动步骤。

有关主要版本兼容性和支持信息,请参阅OpenShift Operator 生命周期

升级 Red Hat OpenShift Logging Operator 以监视所有命名空间

在 5.7 及更早版本的日志记录中,Red Hat OpenShift Logging Operator 只监视openshift-logging命名空间。如果您希望 Red Hat OpenShift Logging Operator 监视集群中的所有命名空间,则必须重新部署 Operator。您可以完成以下步骤来重新部署 Operator,而无需删除日志记录组件。

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

  • 您具有管理员权限。

步骤
  1. 运行以下命令删除订阅

    $ oc -n openshift-logging delete subscription <subscription>
  2. 运行以下命令删除 Operator 组

    $ oc -n openshift-logging delete operatorgroup <operator_group_name>
  3. 运行以下命令删除集群服务版本 (CSV)

    $ oc delete clusterserviceversion cluster-logging.<version>
  4. 按照“安装日志记录”文档重新部署 Red Hat OpenShift Logging Operator。

验证
  • 检查OperatorGroup资源中的targetNamespaces字段是否不存在或设置为空字符串。

    为此,请运行以下命令并检查输出

    $ oc get operatorgroup <operator_group_name> -o yaml
    示例输出
    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: openshift-logging-f52cn
      namespace: openshift-logging
    spec:
      upgradeStrategy: Default
    status:
      namespaces:
      - ""
    # ...

更新 Red Hat OpenShift Logging Operator

要将 Red Hat OpenShift Logging Operator 更新到新的主要版本,必须修改 Operator 订阅的更新通道。

先决条件
  • 您已安装 Red Hat OpenShift Logging Operator。

  • 您具有管理员权限。

  • 您可以访问 AWS 上的 Red Hat OpenShift 服务 Web 控制台,并且正在查看**管理员**视角。

步骤
  1. 导航到**Operators** → **已安装的 Operators**。

  2. 选择**openshift-logging**项目。

  3. 单击**Red Hat OpenShift Logging** Operator。

  4. 单击**订阅**。在**订阅详细信息**部分,单击**更新通道**链接。此链接文本可能是**stable**或**stable-5.9**,具体取决于您当前的更新通道。

  5. 在**更改订阅更新通道**窗口中,选择最新的主要版本更新通道**stable-5.9**,然后单击**保存**。请注意cluster-logging.v5.9.<z>版本。

  6. 等待几秒钟,然后转到**Operators** → **已安装的 Operators**以验证 Red Hat OpenShift Logging Operator 版本是否与最新的cluster-logging.v5.9.<z>版本匹配。

  7. 在**Operators** → **已安装的 Operators**页面上,等待**状态**字段报告**成功**。

  8. 检查LokiStack自定义资源是否包含v13模式版本,如果缺少则添加它。有关正确添加v13模式版本的信息,请参阅“升级 LokiStack 存储模式”。

更新 Loki Operator

要将 Loki Operator 更新到新的主要版本,必须修改 Operator 订阅的更新通道。

先决条件
  • 您已安装 Loki Operator。

  • 您具有管理员权限。

  • 您可以访问 AWS 上的 Red Hat OpenShift 服务 Web 控制台,并且正在查看**管理员**视角。

步骤
  1. 导航到**Operators** → **已安装的 Operators**。

  2. 选择**openshift-operators-redhat**项目。

  3. 单击**Loki Operator**。

  4. 单击**订阅**。在**订阅详细信息**部分,单击**更新通道**链接。此链接文本可能是**stable**或**stable-5.y**,具体取决于您当前的更新通道。

  5. 在**更改订阅更新通道**窗口中,选择最新的主要版本更新通道**stable-5.y**,然后单击**保存**。请注意loki-operator.v5.y.z版本。

  6. 等待几秒钟,然后单击**Operators** → **已安装的 Operators**。验证 Loki Operator 版本是否与最新的loki-operator.v5.y.z版本匹配。

  7. 在**Operators** → **已安装的 Operators**页面上,等待**状态**字段报告**成功**。

  8. 检查LokiStack自定义资源是否包含v13模式版本,如果缺少则添加它。有关正确添加v13模式版本的信息,请参阅“升级 LokiStack 存储模式”。

升级 LokiStack 存储模式

如果您将 Red Hat OpenShift Logging Operator 与 Loki Operator 一起使用,则 Red Hat OpenShift Logging Operator 5.9 或更高版本支持LokiStack自定义资源中的v13模式版本。建议升级到v13模式版本,因为它将是未来支持的模式版本。

步骤
  • 按如下方式在LokiStack自定义资源中添加v13模式版本

    apiVersion: loki.grafana.com/v1
    kind: LokiStack
    # ...
    spec:
    # ...
      storage:
        schemas:
        # ...
          version: v12 (1)
        - effectiveDate: "<yyyy>-<mm>-<future_dd>" (2)
          version: v13
    # ...
    1 不要删除。数据保留在其原始模式版本中。保留以前的模式版本以避免数据丢失。
    2 在协调世界时 (UTC) 时区设置尚未开始的未来日期。

    要编辑LokiStack自定义资源,您可以运行oc edit命令

    $ oc edit lokistack <name> -n openshift-logging
验证
  • 在指定的effectiveDate日期或之后,请检查在 Web 控制台的**管理员** → **观察** → **警报**中是否有**LokistackSchemaUpgradesRequired**警报。

更新 OpenShift Elasticsearch Operator

要将 OpenShift Elasticsearch Operator 更新到最新版本,您必须修改订阅。

Logging 5.9 版本不包含 OpenShift Elasticsearch Operator 的更新版本。如果您目前使用的是 Logging 5.8 版本随附的 OpenShift Elasticsearch Operator,它将继续与 Logging 一起使用,直到 Logging 5.8 结束生命周期 (EOL)。作为使用 OpenShift Elasticsearch Operator 管理默认日志存储的替代方法,您可以使用 Loki Operator。有关 Logging 生命周期日期的更多信息,请参阅 与平台无关的 Operators

先决条件
  • 如果您使用 Elasticsearch 作为默认日志存储,并使用 Kibana 作为 UI,请在更新 Red Hat OpenShift Logging Operator 之前更新 OpenShift Elasticsearch Operator。

    如果您按错误的顺序更新 Operators,Kibana 将不会更新,并且不会创建 Kibana 自定义资源 (CR)。要解决此问题,请删除 Red Hat OpenShift Logging Operator pod。当 Red Hat OpenShift Logging Operator pod 重新部署时,它将创建 Kibana CR,Kibana 将再次可用。

  • Logging 状态正常

    • 所有 pod 的状态均为 ready

    • Elasticsearch 集群状态正常。

  • 您的 Elasticsearch 和 Kibana 数据已备份

  • 您具有管理员权限。

  • 您已安装 OpenShift CLI (oc) 以进行验证步骤。

步骤
  1. 在 Red Hat Hybrid Cloud Console 中,单击Operators已安装的 Operators

  2. 选择**openshift-operators-redhat**项目。

  3. 单击OpenShift Elasticsearch Operator

  4. 单击SubscriptionChannel

  5. 更改订阅更新通道窗口中,选择stable-5.y 并单击保存。请记下 elasticsearch-operator.v5.y.z 版本。

  6. 等待几秒钟,然后单击Operators已安装的 Operators。验证 OpenShift Elasticsearch Operator 版本是否与最新的 elasticsearch-operator.v5.y.z 版本匹配。

  7. 在**Operators** → **已安装的 Operators**页面上,等待**状态**字段报告**成功**。

验证
  1. 通过输入以下命令并观察输出,验证所有 Elasticsearch pod 是否都具有Ready状态

    $ oc get pod -n openshift-logging --selector component=elasticsearch
    示例输出
    NAME                                            READY   STATUS    RESTARTS   AGE
    elasticsearch-cdm-1pbrl44l-1-55b7546f4c-mshhk   2/2     Running   0          31m
    elasticsearch-cdm-1pbrl44l-2-5c6d87589f-gx5hk   2/2     Running   0          30m
    elasticsearch-cdm-1pbrl44l-3-88df5d47-m45jc     2/2     Running   0          29m
  2. 通过输入以下命令并观察输出,验证 Elasticsearch 集群状态是否为green

    $ oc exec -n openshift-logging -c elasticsearch elasticsearch-cdm-1pbrl44l-1-55b7546f4c-mshhk -- health
    示例输出
    {
      "cluster_name" : "elasticsearch",
      "status" : "green",
    }
  3. 通过输入以下命令并观察输出,验证 Elasticsearch 定时作业是否已创建

    $ oc project openshift-logging
    $ oc get cronjob
    示例输出
    NAME                     SCHEDULE       SUSPEND   ACTIVE   LAST SCHEDULE   AGE
    elasticsearch-im-app     */15 * * * *   False     0        <none>          56s
    elasticsearch-im-audit   */15 * * * *   False     0        <none>          56s
    elasticsearch-im-infra   */15 * * * *   False     0        <none>          56s
  4. 通过输入以下命令并观察输出,验证日志存储是否已更新到正确的版本以及索引是否为green

    $ oc exec -c elasticsearch <any_es_pod_in_the_cluster> -- indices

    验证输出是否包含app-00000xinfra-00000xaudit-00000x.security 索引

    索引状态为绿色的示例输出
    Tue Jun 30 14:30:54 UTC 2020
    health status index                                                                 uuid                   pri rep docs.count docs.deleted store.size pri.store.size
    green  open   infra-000008                                                          bnBvUFEXTWi92z3zWAzieQ   3 1       222195            0        289            144
    green  open   infra-000004                                                          rtDSzoqsSl6saisSK7Au1Q   3 1       226717            0        297            148
    green  open   infra-000012                                                          RSf_kUwDSR2xEuKRZMPqZQ   3 1       227623            0        295            147
    green  open   .kibana_7                                                             1SJdCqlZTPWlIAaOUd78yg   1 1            4            0          0              0
    green  open   infra-000010                                                          iXwL3bnqTuGEABbUDa6OVw   3 1       248368            0        317            158
    green  open   infra-000009                                                          YN9EsULWSNaxWeeNvOs0RA   3 1       258799            0        337            168
    green  open   infra-000014                                                          YP0U6R7FQ_GVQVQZ6Yh9Ig   3 1       223788            0        292            146
    green  open   infra-000015                                                          JRBbAbEmSMqK5X40df9HbQ   3 1       224371            0        291            145
    green  open   .orphaned.2020.06.30                                                  n_xQC2dWQzConkvQqei3YA   3 1            9            0          0              0
    green  open   infra-000007                                                          llkkAVSzSOmosWTSAJM_hg   3 1       228584            0        296            148
    green  open   infra-000005                                                          d9BoGQdiQASsS3BBFm2iRA   3 1       227987            0        297            148
    green  open   infra-000003                                                          1-goREK1QUKlQPAIVkWVaQ   3 1       226719            0        295            147
    green  open   .security                                                             zeT65uOuRTKZMjg_bbUc1g   1 1            5            0          0              0
    green  open   .kibana-377444158_kubeadmin                                           wvMhDwJkR-mRZQO84K0gUQ   3 1            1            0          0              0
    green  open   infra-000006                                                          5H-KBSXGQKiO7hdapDE23g   3 1       226676            0        295            147
    green  open   infra-000001                                                          eH53BQ-bSxSWR5xYZB6lVg   3 1       341800            0        443            220
    green  open   .kibana-6                                                             RVp7TemSSemGJcsSUmuf3A   1 1            4            0          0              0
    green  open   infra-000011                                                          J7XWBauWSTe0jnzX02fU6A   3 1       226100            0        293            146
    green  open   app-000001                                                            axSAFfONQDmKwatkjPXdtw   3 1       103186            0        126             57
    green  open   infra-000016                                                          m9c1iRLtStWSF1GopaRyCg   3 1        13685            0         19              9
    green  open   infra-000002                                                          Hz6WvINtTvKcQzw-ewmbYg   3 1       228994            0        296            148
    green  open   infra-000013                                                          KR9mMFUpQl-jraYtanyIGw   3 1       228166            0        298            148
    green  open   audit-000001                                                          eERqLdLmQOiQDFES1LBATQ   3 1            0            0          0              0
  5. 通过输入以下命令并观察输出,验证日志可视化工具是否已更新到正确的版本

    $ oc get kibana kibana -o json

    验证输出是否包含具有ready状态的 Kibana pod

    具有 ready 状态 Kibana pod 的示例输出
    [
    {
    "clusterCondition": {
    "kibana-5fdd766ffd-nb2jj": [
    {
    "lastTransitionTime": "2020-06-30T14:11:07Z",
    "reason": "ContainerCreating",
    "status": "True",
    "type": ""
    },
    {
    "lastTransitionTime": "2020-06-30T14:11:07Z",
    "reason": "ContainerCreating",
    "status": "True",
    "type": ""
    }
    ]
    },
    "deployment": "kibana",
    "pods": {
    "failed": [],
    "notReady": []
    "ready": []
    },
    "replicaSets": [
    "kibana-5fdd766ffd"
    ],
    "replicas": 1
    }
    ]