升级v6.1.0引入的不兼容问题

创建时间:2024-04-17 最近修改时间:2024-04-17

#1. 升级v6.1.0引入的不兼容问题

  • 由于应用-HTTP/RPC/SQL/NoSQL/MQ/DNS页面合并为统一的应用-调用页面
    • 仅原应用-HTTP-指标/拓扑页面的搜索历史支持升级,其他应用-XXX-指标页面的搜索历史将会丢失,如需保留请提前手动保存
    • 应用-XXX页面的历史数据不保留,升级后的新增数据将会统一显示在应用-调用页面中
  • 由于页面快速搜索框的大幅升级,原应用-XXX-详情页面中的搜索条件将不会在升级后保留,如需保留请提前手动保存
  • 由于eBPF的加入以及为以后应用协议增加做准备,应用-服务/路径/调用页面中应用协议的枚举值有变更,历史搜索条件中若存在应用协议字段需要重新选择取值,新旧版本取值差异详见下表
应用协议类型 v6.0及之前的枚举值 v6.1及之后的枚举值
未知 0 0
其他 7 1
HTTP 1 20: HTTP1,21: HTTP2
Dubbo 5 40
MySQL 3 60
Redis 4 80
Kafka 6 100
DNS 2 120

#2. 升级到v6.1.1之前的操作

#2.1 先卸载 6.1.0 版本

/usr/local/deepflow/bin/deepflow-deploy -e
1

#2.2 搜索历史和视图数据升级前操作备份 MySQL 数据

# 进入 mntnct 服务对应的 POD 执行 kubectl exec -it -n deepflow pod-xxxxxxxx sh
mysqldump -hmysql -uroot -p -P30130 deepflow --hex-blob > /usr/local/deepflow/patch/deepflow_$(date +%Y%m%d).sql
1
2

#2.3 采集器配置升级前操作

  1. 保存额外修改过的采集器本地配置文件(页面或者后台);升级后,需要将修改过的配置更新到所在的采集器组高级配置
  2. 保存额外修改过的采集器组全局配置

#2.4 升级前修改 values-custon.yaml

  1. 新增全局 replicas = tsdb + controller 节点数量
  2. 新增 hostNetWork = true [为了兼容升级环境, 新环境将全部使用 nodePort]
  3. 新增 dnsPolicy
global:
  replicas: "1"
  hostNetwork: true
  dnsPolicy: ClusterFirstWithHostNet
1
2
3
4

#3. 升级到v6.1.3之前的操作

#3.1 使用 k8s limits 限制 deepflow-agent 资源

k8s 环境下采集器不会自己限制 cpu 和 memory 用量,请使用 k8s limits 进行限制

#4. 升级到v6.1.4之前的操作

#4.1 按需重新申请授权文件

  • v6.1.4版本授权检查规则修改为:证书中的控制器名称与当前环境中控制器所在节点名称需要一致
  • 对于授权文件是POD名称的环境,需要重新申请并导入授权文件

#4.2 从区域配置更新

如存在从区域,需在从区域的 valus-custom.yaml 中 customResource.clusterEndpointSlaveToMaster.master_controller_ips 填写主区域 IP 列表

注意:6.1.4 后 global 下的 IP 列表已无需填写,详情参考 values 中备注

#5. 升级到 v6.1.7 之前的操作

#5.1 values-custom 配置更新

#5.1.1 deepflow-server 和 clickhouse 副本数控制

往后 deepflow-server 和 clickhouse 独立配置 replicas 和 hostNetwork 参数,为避免歧义,不再使用 global 全局配置。 在 valus-custom.yaml 中 deepflow.server.replicas 编辑副本数。

注意:server 副本数必须 >= clickhouse 数量

#5.1.2 计费模式

计费模式配置文件位置改动,按如下修改即可。默认为 license 模式。

原配置:

rearEnd:
  billing_method: license/voucher
1
2

现配置:

global:
   billing_method: license/voucher
1
2

#5.1.3 deepflow-server 资源限制

为防止 Server 进程内存泄露,影响宿主健康,未来部署时需主动修改 Server 控制器的资源限制。详情参考配置文件中 limit.memory

# values-custom.yaml
## server 和 clickhouse 副本数控制,server 副本数必须 >= clickhouse 数量。
deepflow:
  server:
    replicas: 1
    resources:
      ## limit.memory 需配置为节点资源的 70% and > 2Gi,如 128G,则配置为 128x0.7~=90G。
      limits:
        memory: __FIX_ME__10Gi__
  clickhouse:
    replicas: 1
1
2
3
4
5
6
7
8
9
10
11