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

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

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

各个组件的密码强化,密码强度为大小写字母+数字+特殊字符;密码长度16位;不能有键盘弱密码,所有新部署环境更新为新密码,已部署环境继续使用旧密码,需要手动配置

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

#2.1 版本要求

  • 仅支持当前版本是 v6.4.9 向 v6.5.9 升级

#2.2 版本兼容

  • 不兼容 trident 所有版本的分发、PCAP 功能, 需要将现有的 trident 升级到 deepflow-agent

#2.3 手动设置各组件密码为旧密码

values-custom.yaml 文件中添加:

global: ## 注意放到 global 层级下即可,不需要单独开一个 global
  password:
    ## 旧环境升级手动注释一下几行密码,继续使用旧密码
    # mysql: YSDeepFlow@3q302
    # redis: YSDeepFlow@3q302
    # clickhouse: YSDeepFlow@3q302
    # rabbitmq: YSDeepFlow@3q302
    # grafana: YSDeepFlow@3q302

    ## 旧环境升级手动取消以下注释,继续使用旧密码
    mysql: security421
    redis: security421
    clickhouse:
    rabbitmq: guest
    grafana: admin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

#2.4 检查 Grafana dashboard 是否更新

  1. 检查 dashboard 是否更新 检查 DeepFlow System/DeepFlow Agent dashboard 第一个 panel 是否为 Tips/Data Flow 若没有,则 dashboard 更新失败

  2. 检查日志中是否存在类似日志:

{"error":"Dashboard not found","file":"/tmp/dashboards/DeepFlow-System/DeepFlow-Agent.json","level":"error","logger":"provisioning.dashboard","msg":"failed to save dashboard","name":"deepflow-system","t":"2024-06-07T11:21:52.791012372+08:00","type":"file"}
1

若有相关日志,则 dashboard 更新失败

执行如下 SQL 后 dashboard 自动更新为最新:

delete from grafana.dashboard where updated_by=-1;
delete from grafana.dashboard_provisioning;
1
2

#2.5 更新 containerd 配置

执行如下命令更新 containerd 配置,防止 containerd 因超长日志导致内存泄漏,所有 K8s 节点都需要执行:

sed -i "s/max_container_log_line_size = -1/max_container_log_line_size = 16384/" /etc/containerd/config.toml
systemctl restart containerd
1
2

#2.6 清理已废弃组件数据目录

influxdb、elasticsearch、loki 组件已废弃,数据目录需要清理

rm -rf /mnt/{es,influxdb,loki}
1