其他资料

创建时间:2025-10-24 最近修改时间:2025-10-24

#1. 其他资料

#1.1 hostPath 模式数据存储路径

当前默认使用 hostPath 模式及固定路径提供存储目录,需手动将硬盘挂载至 /mnt 路径(默认值,可修改),若未挂载数据盘,将自动在根路径下创建。

  • DeepFlow 部署配置: /usr/local/deepflow/
  • mysql 数据库: /var/lib/mysql/
  • 数据目录: /mnt/
    • clickhouse 数据: /mnt/clickhouse
    • openebs 数据: /mnt/openebs
  • clickhouse 元数据:/var/lib/clickhouse/
  • 日志文件: /var/log/deepflow/

#1.2 如何检查 kubelet 的驱逐配置?

当使用公有云集群或者其他方式自建集群时,需检查磁盘空间驱逐条件,是否满足 DeepFlow 需求。

查询kubelet配置方法:

systemctl status kubelet -l
1
  • 查看启动命令中是否有--config参数,如果有该参数,就查看该文件中是否有如下配置项:

    evictionHard:
      memory.available:
      nodefs.available:
      nodefs.inodesFree:
      imagefs.available:
    
    1
    2
    3
    4
    5
  • 查看启动命令中是否有--eviction-hard=imagefs.available<xx,memory.available<xx,nodefs.available<xx,nodefs.inodesFree<xx参数 如果nodefs.available,imagefs.available两个配置项的百分比值高于百分之10或者数量值除以磁盘大小后高于百分之10,需要修改为小于百分之10。

例如200G磁盘,配置值为"40Gi"或者"15%",则认为是大于百分之10,需要调整为小于百分之10,建议值为"5%"或者"10Gi"。

配置示例:

evictionHard:
  memory.available: "512Mi"
  nodefs.available: "10Gi"
  nodefs.inodesFree: "5%"
  imagefs.available: "10Gi"
1
2
3
4
5

启动参数配置方法: --eviction-hard=imagefs.available<10Gi,memory.available<512Mi,nodefs.available<10Gi,nodefs.inodesFree<5%

#1.3 mntnct

调试工具集容器镜像,内置多种调试工具

  • 进入 mt 容器:
    `MT_POD=$(kubectl get pods -n deepflow | grep mntnct | awk '{print $1}')`
    `kubectl exec -it $MT_POD -n deepflow sh`
    
    1
    2
  • 内置调试工具命令不完全参考
curl wget
ethtool, mii-tool, route
nmap ss netcat (nc), socat, telnet
nslookup dig
tcpdump tshark
ssh client, lftp client, rsync, scp
nginx iperf3 ApacheBench (ab)
mysql & postgresql client
git
fio ioping
1
2
3
4
5
6
7
8
9
10

#1.4 DeepFlow 计费模式 [可选]

DeepFlow 计费模式默认为授权模式,若需要修改计费模式,需要如下操作:

  • 切换前需要在页面上将所有授权文件删除

  • 修改部署参数 /usr/local/deepflow/templates/values-custom.yaml 中对应的选项

    ...
    global:
    # 计费方式: license/voucher
    # license: 授权模式
    # voucher: 按量计费模式
    billing_method = voucher
    ...
    
    1
    2
    3
    4
    5
    6
    7
    • 修改完成后重新生成configmap: /usr/local/deepflow/bin/deepflow-deploy -u
  • 按照先后次序依次 kubectl delete -n deepflow xxxx 主控制器上的 df-web、warrant、manager 容器

  • 如果已经存在控制器或数据节点,切换后需要手工取消控制器、数据节点的运维模式

  • 如果已经存在采集器,需要手动注册采集器、手动启用采集器

注意:不支持先使用按量计费,再使用授权模式这种计费方式切换。

#1.5 DeepFlow 按量计费邮件配置 [可选]

若需要发送计费邮件,需要进行如下配置:

  • 系统-控制器-配置页面,填写具体的邮件服务器配置
  • 修改 manager 配置文件,填写 /usr/local/deepflow/templates/manager/templates/configmap.yaml 中对应的选项:
email:
  # 邮件接收地址
  to_emails:
   - name1@yunshan.net
   - name2@yunshan.net
1
2
3
4
5

#1.6 如何修改组件密码

修改 values-custom 中的 global.password
vim /usr/local/deepflow/templates/values-custom.yaml
执行升级 
/usr/local/deepflow/bin/deepflow-deploy -u
1
2
3
4

#1.7 升级失败

升级失败时提示 UPGRADE FAILED : another operation (install/upgrade/rollback) is in process,是由于上一次 helm 升级时被强制中断或错误退出导致

解决办法:

  • helm history -n deepflow front-end 查看是否存在 pending-upgrade 状态版本,记录他的 version ID
  • kubectl get secrets -n deepflow | grep front-end | grep versionID
  • 删除 kubectl delete secrets -n deepflow sh.helm.release.v1.front-end.v15