升级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
#2.3 采集器配置升级前操作
- 保存额外修改过的采集器本地配置文件(页面或者后台);升级后,需要将修改过的配置更新到所在的采集器组
高级配置中 - 保存额外修改过的采集器组全局配置
#2.4 升级前修改 values-custon.yaml
- 新增全局 replicas = tsdb + controller 节点数量
- 新增 hostNetWork = true [为了兼容升级环境, 新环境将全部使用 nodePort]
- 新增 dnsPolicy
global:
replicas: "1"
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
1
2
3
4
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
2
现配置:
global:
billing_method: license/voucher
1
2
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
2
3
4
5
6
7
8
9
10
11