升级定制版

您可以使用 kubectl 插件来升级Custom Edition

Instana kubectl 插件与 Instana Enterprise 操作员总是同步发布。 Instana 后端的更新与 Instana Enterprise操作员版本的发布相互独立。

您可以使用 Instana kubectl 插件来检查支持的 Instana 后端版本,并根据需要更新后端。 在经历了多达 4 次 Instana 后端版本发布后, Instana Enterprise 操作员的新版本现已发布。
重要提示: 对于 Custom Edition, 不支持在升级后回滚 Instana 后端。

如需在线升级 Custom Edition,请参阅 “在线升级 Custom Edition ”。

要在物理隔离环境中升级 Custom Edition,请参阅 《在物理隔离环境中升级 Custom Edition》

定制版兼容性对照表

在安装、升级或迁移 Custom Edition 之前,务必确保部署中的所有组件均兼容。 每个定制版仅支持特定版本的 Instana 后端,使用不受支持的组合可能会导致部署失败或出现意外行为。 兼容性矩阵可帮助您确定某个 Custom Edition 版本支持哪些 Instana 后端版本。

在规划部署时,您必须使用此矩阵来选择 “自定义版本 ”与后端版本的有效组合。 请使用此表格:

  • 确定与您所选的 Custom Edition 版本兼容的 Instana 后端版本
  • 在安装或升级前验证版本组合
  • 通过确定支持的目标版本来规划升级。

下表列出了 “自定义版 ”的版本及其兼容的 Instana 后端版本。

表 1. “定制版 ”的兼容版本
定制版 Instana 后端版本
1.11.x 3.319
1.10.x 3.317
1.9.x 3.315
1.8.x 3.313, 3.311, 3.309
1.7.x 3.307, 3.305
1.6.x 3.303, 3.301
1.5.x 3.299
1.4.x 3.297, 3.295
1.3.x 3.293
1.2.x 3.291, 3.289, 3.287
1.1.x 3.285, 3.283, 3.281

先决条件

在升级 Instana 之前,请确保满足以下先决条件:

  • 多国办事处有足够的能力。 如果群集已接近其请求容量,请添加一个额外的节点,以避免 pod 陷入待处理状态。
  • Elasticsearch 节点拥有足够的磁盘空间。 如果磁盘使用率超过 80%, Elasticsearch 节点会自动切换到只读模式,这可能会导致升级过程卡住或无提示地失败。
  • 这些数据存储版本与您计划升级到的 Instana 版本兼容。 有关数据存储版本的信息,请参阅《 安装第三方数据存储操作员》。

升级步骤

Instana kubectl 插件与 Instana Enterprise 操作员总是同步发布。 Instana 后端的更新与 Instana Enterprise操作员版本的发布相互独立。

您可以使用 Instana kubectl 插件来检查支持的 Instana 后端版本,并根据需要更新后端。 在经历了多达 4 次 Instana 后端版本发布后, Instana Enterprise 操作员的新版本现已发布。

升级操作员

当 Instana Enterprise 操作员发布新版本时,您可以按照以下步骤进行升级:

  1. 安装目标版本的 Instana kubectl 插件。 Instana kubectl 插件与 Instana Enterprise Operator 采用版本绑定机制,因此请安装与您正在安装的 Operator 版本相匹配的插件版本。 如需更多信息,请参阅 《安装 Instana kubectl 插件》

  2. 请使用以下任一方法升级操作符,此时新操作符将采用默认的 Instana 后端版本:

    注:

    • 请确保您已应用或生成新的 YAML 清单文件。 请勿直接更新现有 YAML 清单文件中的镜像版本。 如果您更新现有 YAML 清单中的镜像版本,可能会遗漏 CustomResourceDefinition (CRD)的更新或其他更改,从而导致无法预料的错误。

    • 要升级到特定版本,您可能需要执行一些额外的操作。 请参阅 升级说明 部分。 跳过一个版本时,请确保考虑到升级说明(包括跳过版本和目标版本的升级说明)。

升级后端

从 1.0.0 及更高版本开始,新版本发布时,您可以升级 Instana 后端。
注意: 对于旧版本(包括后端 279 及更早版本、stanctl 1.6.0 或 Operator 1.0.0 ),您必须以不超过两个版本的增量进行后端升级。 例如,您只能从版本 275 或更高版本升级到版本 279。 如需更多信息,请参阅旧版 Instana 的文档
  1. 若要升级到更高版本的 Instana 后端,您可以使用该 versions 命令的以下子命令。 所有命令都有一个可选的 --download-key 标记。 如果不指定该标志,则使用现有安装的下载密钥。

    • 该子 identify 命令会列出当前可用的、与已安装的 Custom Edition 兼容的 Instana 后端版本。
    • 该子 list-images 命令会打印 Instana Kubernetes 操作符及其所有 Instana 组件的图像列表。 您可以使用 --instana-version 标记指定操作符版本。 如果不使用标记,则会列出所有可用的操作符版本,然后可以选择一个版本。
    • update 命令将现有安装升级到新版本。 您可以使用 --instana-version 标记指定升级版本。 否则,将显示所有支持的升级版本。 然后您可以选择一个版本。 或者,您可以在核心配置中设置要升级到的后端版本,然后应用该配置,请参阅以下示例代码。
      ...
      spec:
        imageConfig:
          tag: 3.xxx.xxx-0
      ...
       
  2. 运行以下命令以验证 Instana 后端升级:

    kubectl get core -n instana-core
     
    kubectl get units -n instana-units
     

升级注意事项

有关特定版本的要求,请参阅以下说明。

升级至 1.11.x 版本

从 1.10.0 版本升级无需执行任何特殊步骤。

注意:IBM Z 和 LinuxONE 目前尚不支持定制版 1.11.x。

升级至 1.10.x 版本

从 1.9.0 版本升级无需执行任何特殊操作。

注意:IBM Z 和 LinuxONE 目前尚不支持定制版 1.10.x。

升级至 1.9.x 版本

从 1.8.0 版本升级无需执行任何特殊步骤。

注意: 定制版 1.9.x 仅支持 Linux x86_64。
注意: 目前,“定制版” 1.9.x 尚未在 Power( ppc64le )、 IBM Z 以及 LinuxONE 上提供支持。

升级至 1.8.0 版本

注意: 定制版 1.8.0 仅支持 Linux x86_64。
注意: Power( ppc64le )、 IBM Z 以及 LinuxONE 目前尚不支持自定义版本 1.8.0。

将 ClickHouse 数据存储升级至版本 25.8.6.11。 请使用图片版本 25.8.13.73-2-lts-ibm

将 ClickHouseKeeper 数据存储升级至版本 25.8.6.11。 请使用图片版本 25.8.13.73-2-lts-ibm

升级至 1.7.0 版本

从版本 1.6.0 升级无需执行任何特殊步骤。

升级至 1.6.0 版本

从版本 1.5.0 升级无需执行任何特殊步骤。

升级至 1.5.0 版本

Core Secret 中 downloadKey 已废弃已久的 已被移除。 现在仅从单元密钥中读取。 如果您的安装环境仍将该密钥 downloadKey 保存在 Core Secret 中,您必须更新安装环境,并将该密钥移至 Unit Secret。

有关配置单元密钥的信息,请参阅 “单元密钥 ”。

升级至 1.4.0 版本

从版本 1.3.0 升级无需执行任何特殊步骤。

升级至 1.3.0 版本

在升级到 1.3.0 之前,请完成以下任务:

  • Instana Enterprise Operator 和 Webhook 的映像配置是分开的。 请参考新的 Instana Enterprise 操作员配置选项 ,更新您的 kubectl 插件自定义值文件。

  • 可选:如果您计划启用新的网关控制器来管理自定义版本环境中的入站流量,请完成以下配置更改:

    • 启用网关控制器,更多详细信息请参阅 “网关配置 ”。
    • 请将网关负载均衡器中的 .spec.selector["app.kubernetes.io/component"]: gateway 选择器标签更新为以下示例中所示的条目:
    apiVersion: v1
    kind: Service
    metadata:
      namespace: instana-core
      name: loadbalancer-gateway
    spec:
      type: LoadBalancer
      ...
      selector:
        ...
        app.kubernetes.io/component: gateway-v2
        ...
     

    此更新旨在确保入站流量被转发至新的 Gateway-v2 组件Pod。

  • 将 ClickHouse 数据存储升级至 24.8.x 版本。 请使用图片版本 24.8.12.28-5-lts-ibm

  • 将 Elasticsearch 数据存储升级至 8.x 版本。 要升级数据存储,请按照以下示例更新您的 Elasticsearch 配置,以避免服务中断:

将:

config:
      node.master: true
      node.data: true
      node.ingest: true
 

替换为:

    config:
      node.roles:
        - master
        - data
        - ingest
 

此外,请使用该镜像版本 8.15.3_v0.15.0 ,并更新 Elasticsearch 清单中的 spec.version 相关内容,使其与升级后的镜像版本保持一致,以避免升级时出现错误。

升级至 1.2.0 版本

在升级到 1.2.0 之前,请完成以下任务:

  • 在自定义 ClickHouseInstallation 资源中,通过在 default/allow_experimental_analyzer: "0" profiles 部分添加 来禁用查询分析器。
  • 将 ClickHouse 数据存储升级至 24.3 版本。 使用图片版本 24.3.12.75-lts-ibm
注意: 如果您使用的是 Linux® on Power® ( ppc64le ) 的主机,请勿将镜像版本升级至 24.3.12.75-lts-ibm. 请继续使用该图片版本 23.3.2.37-4-lts-ibm

如果您是从早于 1.0.0 的版本进行升级,请查看版本模式的变更以及 kubectl 插件管理方面的变更。

升级至 1.1.0 版本

从 1.0.0 版升级无需特殊步骤。

如果您是从早于 1.0.0 的版本进行升级,请查看版本模式的变更以及 kubectl 插件管理方面的变更。

升级至 1.0.0 版本

通用升级说明和版本方案已更新。 不过,对于 Build 1.0.0 的 Instana 后端更新,无需执行任何特殊操作。

升级至 277 版

如果你从版本 273 或更早版本升级,请按照升级至版本 275 。 从版本 275 开始升级不需要特殊步骤。

升级至 275 版

从 Instana 275版本开始, ClickHouselogs 数据库中引入了一个新表,该表利用 ClickHouse 的TTL机制,随着时间的推移自动将数据移至冷存储,并在必要时将其过期。

需要更新 ClickHouse 数据存储配置,才能应用 release-275 迁移。

继续执行以下步骤:

  1. 通过更新 Core 规范,将您的 Instana 后端设置为 maintenance 模式:
    kubectl patch core <core_name> -n <core_namespace> --type='merge' -p='{"spec": {"operationMode": "maintenance"}}'
     
  2. 将以下配置添加到您的ClickHouseInstallation资源:

    • <disks>中定义新的 cold_disk ,创建名为 logs_policy_v4 的新策略,并在新策略中引用 cold_disk :

      config.d/storage.xml: |
         <clickhouse>
           <storage_configuration>
             <disks>
               <default/>
               <cold_disk>
                 <path>/var/lib/clickhouse-cold/</path>
               </cold_disk>
             </disks>
             <policies>
               <logs_policy>
                 <volumes>
                   <data>
                     <disk>default</disk>
                   </data>
                   <cold>
                     <disk>cold_disk</disk>
                   </cold>
                 </volumes>
               </logs_policy>
               <logs_policy_v4>
                 <volumes>
                   <tier1>
                     <disk>default</disk>
                   </tier1>
                   <tier2>
                     <disk>cold_disk</disk>
                   </tier2>
                 </volumes>
               </logs_policy_v4>
             </policies>
           </storage_configuration>
        </clickhouse>
       
    • 定义一个新的 volumeClaimTemplate ClickHouse 可用于为 cold_disk 创建额外的 PVC:

      volumeClaimTemplates:
        ...
        ...
        - name: instana-clickhouse-data-cold-volume
          spec:
            accessModes:
               - ReadWriteOnce
            resources:
               requests:
               storage: 100Gi
            # storageClassName: <lower_or_cheaper_tier_storageclassname>
       
    • 最后,通过在 podTemplates中定义 volumeMounts ,在 ClickHouse Pod 中安装新卷:

      containers:
        - name: instana-clickhouse
          ...
          ...
          volumeMounts:
            - mountPath: /var/lib/clickhouse-cold/
              name: instana-clickhouse-data-cold-volume
       

      如需查看完整的 ClickHouseInstallation 资源( YAML ),请访问:

    • 在继续升级到 release-275 之前,请确保 ClickHouse 在应用新更改后显示 Completed 状态。 使用以下命令:

      % kubectl get clickhouseinstallation -n instana-clickhouse
      
      NAME      CLUSTERS   HOSTS   STATUS      AGE
      instana   1          2       Completed   4d1h
       
  3. 通过更新 Core 配置文件,将您的 Instana 后端恢复为 normal 模式:

    kubectl patch core <core_name> -n <core_namespace> --type='merge' -p='{"spec": {"operationMode": "normal"}}'
     
  4. 请按照升级步骤将系统升级至 Instana 275。

升级至 273 版

升级不需要任何特殊步骤。