跳到主要内容

部署

版本要求

探针版本必须大于等于 4.3.1.0

Collector版本必须大于等于 4.3.0.0

Kubernetes UniAgent 安装

检查环境是否满足要求

首先检查Kubernetes的Node节点(操作系统、可用CPU、可用内存、可用存储等)是否满足运行eBPF网络模块的最低要求。

  • eBPF功能要求 Linux 内核版本高于4.19, 并且内核编译选项打开了eBPF功能相关的选项。

    • RedHat 8.0 或更高版本
    • CentOS 8 或更高版本
    • Debian 11 或更高版本
    • Ubuntu 18 或更高版本
    • 银河麒麟 10 SP3 或更高版本
  • 启用eBPF网络模块在运行期间至少额外需要1GB可用内存,500M硬盘空间。

  • 启用eBPF网络模块之前,请确保您的Node节点资源满足如下条件:

    • Node节点CPU: 4核以上

    • Node节点内存: 8GB以上

    • Node节点空闲CPU: 1核以上

    • Node节点空闲内存: 2GB以上

    • Node节点空闲存储: 2GB以上

开通平台需要开通Infra主机授权。默认情况下,eBPF网络模块功能是禁用的,需要手动开启。

开启eBPF网络功能

在部署页面选择 Kubernetes 方式,设置自定义选项:勾选 "是否启用Infra" 和 "监控文件系统"

下载yaml

修改yaml: tingyun-sys-configoneagent.conf 的配置项 network_enabled=false

apiVersion: v1
kind: ConfigMap
metadata:
name: tingyun-sys-config
namespace: tingyun
data:
oneagent.conf: |
# APM总开关,此配置项由报表生成, 不可修改
apm_enabled=true
# Infra总开关, 此配置项由报表生成, 不可修改
infra_enabled=true
#
# Infra是否采集进程日志开关, 此配置项由报表生成, 不可修改
infra_log_enabled=false
#
# EBPF网络数据总开关, 如果开启此开关,需要同时修改Daemonset tingyun-linux-agent的requests cpu为0.5, memory为1Gi以上,并重启Daemonset tingyun-linux-agent
network_enabled=false

然后使用yaml文件更新。

kubectl apply -f tingyunagent.yaml 

确认eBPF网络模块是否启动。在每个Node节点上执行:

kubectl -n tingyun exec -ti tingyun-linux-agent-xxxxx -- ps -ef | grep ebpf-network

如果进程存在,则表示eBPF网络模块已运行。如果进程不存在,则表示eBPF网络模块未运行。

eBPF网络模块熔断

开启ebpf网络数据采集后, 会对原有系统产生CPU、内存消耗(通常在10%以下), 为了防止对系统产生过高影响,会默认启用熔断策略。

eBPF网络模块熔断策略是根据Node节点主机CPU使用率和可用内存大小来判断是否需要执行熔断。

  • CPU默认的阈值为 70%~80%,当Node节点CPU使用率超过80%,触发熔断。

  • 可用内存默认的阈值为1GB~2GB,当Node节点的可用内存小于1GB时,触发熔断。

  • 熔断后,当主机CPU使用率低于70%时且可用内存大于2GB时,网络模块恢复正常工作。

查看eBPF网络模块日志

eBPF探针日志保存在名称为类似 tingyun-linux-agent-xxx 的 Daemonset 中

查看工作日志:

kubectl -n tingyun exec -ti tingyun-linux-agent-vrtwk -- cat /opt/agent/ebpf/logs/ebpf-agent.log

查看熔断日志:

kubectl -n tingyun exec -ti tingyun-linux-agent-vrtwk -- cat /opt/agent/logs/oneagent/watchdog.log

普通主机 UniAgent 安装

检查环境是否满足要求

首先检查主机节点(操作系统、可用CPU、可用内存、可用存储等)是否满足运行eBPF网络模块的最低要求。

  • eBPF功能要求 Linux 内核版本高于4.19, 并且内核编译选项打开了eBPF功能相关的选项。

    • RedHat 8.0 或更高版本
    • CentOS 8 或更高版本
    • Debian 11 或更高版本
    • Ubuntu 18 或更高版本
    • 银河麒麟 10 SP3 或更高版本
  • 启用eBPF网络模块在运行期间至少额外需要1GB可用内存,500M硬盘空间。

  • 启用eBPF网络模块之前,请确保您的主机资源满足如下条件:

    • Node节点CPU: 4核以上

    • Node节点内存: 8GB以上

    • Node节点空闲CPU: 1核以上

    • Node节点空闲内存: 2GB以上

    • Node节点空闲存储: 2GB以上

默认情况下,eBPF网络模块功能是禁用的,需要手动开启。

开启eBPF网络功能

在部署页面选择 Linux 方式,下载安装

安装完成后,修改 /opt/tingyun-oneagent/conf/oneagent.conf 中配置项 network_enabled=true

然后重启服务

sudo systemctl restart tingyun-oneagent

确认eBPF网络模块是否启动。

ps -ef | grep ebpf-network

如果进程存在,则表示eBPF网络模块已运行。如果进程不存在,则表示eBPF网络模块未运行。

eBPF网络模块熔断

开启ebpf网络数据采集后, 会对原有系统产生CPU、内存消耗(通常在10%以下), 为了防止对系统产生过高影响,会默认启用熔断策略。

eBPF网络模块熔断策略是根据主机CPU使用率和可用内存大小来判断是否需要执行熔断。

  • CPU默认的阈值为 70%~80%,当CPU使用率超过80%,触发熔断。

  • 可用内存默认的阈值为1GB~2GB,当可用内存小于1GB时,触发熔断。

  • 熔断后,当主机CPU使用率低于70%时且可用内存大于2GB时,网络模块恢复正常工作。

查看eBPF网络模块日志

查看工作日志:

cat /opt/tingyun-oneagent/logs/agent/ebpf-network.log

查看熔断日志:

cat /opt/tingyun-oneagent/logs/oneagent/watchdog.log