升级 v6.6.9 引入的不兼容问题
#1. 升级 v6.6.9 引入的不兼容问题
修改 deepflow-server 配置文件优化,需要手动处理 values-custom.yaml 文件
#2. 升级到 v6.6.9 之前的操作
#2.1 版本兼容
- 不兼容原来的 deepflow server 配置文件格式,需要手动修改为新的配置文件格式
#2.2 修改 deepflow server 配置文件格式
diff 旧版本 values-custom.yaml 文件和 values.yaml 文件中配置差异:
python -c "import sys, yaml; print(yaml.safe_dump(yaml.safe_load(open(sys.argv[1]))['deepflow']['configmap']))" /usr/local/deepflow/templates/values.yaml > section1.yaml
python -c "import sys, yaml; print(yaml.safe_dump(yaml.safe_load(open(sys.argv[1]))['deepflow']['configmap']))" /usr/local/deepflow/templates/values-custom.yaml > section2.yaml
diff section1.yaml section2.yaml
2
3
如果 python 环境中没有 yaml 模块导致的命令执行失败,也可以手动将两个文件中的 deepflow.configmap 模块分别提取到两个新的文件中,并进行diff,查看差异。
将 diff 结果中 section2.yaml 文件的差异部分(即手动修改的配置部分),单独更新到新的 values-custom.yaml 文件。
参考 server 配置文件 (opens new window)修改 values 中的对应字段即可, 例如修改日志级别:
deepflow:
configmap:
server.yaml:
log-level: debug
2
3
4
新版本的 deepflow server 配置文件只需要修改对应的字段,不需要全部拷贝到 values-custom.yaml 文件中,降低维护配置文件的成本,对齐开源版本功能。
#2.3 资源同步采集器 功能和 ONLY_WATCH_K8S_RESOURCE 环境变量废弃
- 新版本支持
K8S_WATCH_POLICY环境变量,可选配置为watch-only和watch-disabled - 旧的
ONLY_WATCH_K8S_RESOURCE使用K8S_WATCH_POLICY=watch-only环境变量配置
#2.4 适配采集器组配置
采集器组配置的部分配置项,需要额外处理,有以下两种方式可以选择操作:
- 使用 序号 #45 的 ISO (opens new window) 进行升级
- 如果使用序号 #45 之前的 ISO 升级
- 记录旧配置项相关值,升级后更新到新配置项中:
将旧配置项
static_config.ebpf.on-cpu-profile.regex的值,更新到新配置项process_matcher中。process_matcher值是一个列表,如果新配置中没有process_matcher,则添加配置项后,加入配置值;如果已有配置,则追加配置值:旧配置项:
static_config: ebpf: on-cpu-profile: regex: ^deepflow-.*1
2
3
4新配置项:
inputs: proc: process_matcher: - match_regex: ^deepflow-.* enabled_features: - ebpf.profile.on_cpu1
2
3
4
5
6追加配置项:
inputs: proc: process_matcher: - match_regex: ^others-.* - match_regex: ^deepflow-.* enabled_features: - ebpf.profile.on_cpu1
2
3
4
5
6
7将旧配置项
static_config.ebpf.off-cpu-profile.regex的值,更新到新配置项process_matcher中。process_matcher值是一个列表,如果新配置中没有process_matcher,则添加配置项后,加入配置值;如果已有配置,则追加配置值:旧配置项:
static_config: ebpf: off-cpu-profile: regex: ^deepflow-.*1
2
3
4新配置项:
inputs: proc: process_matcher: - match_regex: ^deepflow-.* enabled_features: - ebpf.profile.off_cpu1
2
3
4
5
6追加配置项:
inputs: proc: process_matcher: - match_regex: ^others-.* - match_regex: ^deepflow-.* enabled_features: - ebpf.profile.off_cpu1
2
3
4
5
6
7
- 升级后查看所有采集器组配置,在
高级配置页面,检查并修改以下字段值:将配置项
max_capture_pps的值乘以1000,例:配置为10,需要改为10000:修改前:
inputs: cbpf: tunning: max_capture_pps: 101
2
3
4修改后:
inputs: cbpf: tunning: max_capture_pps: 100001
2
3
4将配置项
inference_result_ttl的值加上单位s,例: 配置为60,需要修改为60s:修改前:
processors: request_log: application_protocol_inference: inference_result_ttl: 601
2
3
4修改后:
processors: request_log: application_protocol_inference: inference_result_ttl: 60s1
2
3
4
- 记录旧配置项相关值,升级后更新到新配置项中: