您必须配置节点机器的基本操作系统,以使用 Google Distributed Cloud。本页面介绍完成所需配置需要执行的步骤。 如需详细了解如何对 Google Distributed Cloud 要求进行问题排查,请参阅已知问题。
准备工作
确保您使用的是受支持的操作系统版本和 Ubuntu 硬件启用 (HWE) 内核。如需查看受支持版本的列表,请参阅选择操作系统。
启用 BPF Just In Time 编译器
您的操作系统的内核必须启用 BPF Just In Time 编译器选项 (CONFIG_BPF_JIT=y
)。
如需了解此选项是否已启用,请运行以下命令:
grep CONFIG_BPF_JIT /boot/config-$(uname -r)
验证软件包管理系统
使用以下命令验证软件包管理系统是否正常运行:
sudo apt-get check
输出应不显示错误并且类似于以下示例:
# Reading package lists... Done # Building dependency tree # Reading state information... Done
停用复杂防火墙 (UFW)
停用
ufw
:sudo ufw disable
检查
ufw
是否已停用:sudo ufw status # Status: inactive
在工作站上配置 Docker
在以下场景中,Google Distributed Cloud 可帮助您在裸机上安装 Docker:
- 如果您的裸机没有安装 Docker,
bmctl
会安装 20.10.0 或更高版本。 - 如果您的裸机安装了 Docker 19.03.5 或更低版本,
bmctl
会将 Docker 升级到 20.10.0 或更高版本。
按照以下步骤手动安装 Docker:
移除任何之前的 Docker 版本:
sudo apt-get remove docker docker-engine docker.io containerd runc
更新软件包管理器:
sudo apt-get update
安装 Docker 20.10.0+:
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common \ docker.io
验证您运行的是 20.10.0+ 版:
sudo docker version
将您的输出与以下示例进行比较,确保客户端版本和服务器版本均为 20.10.0+:
Client: Docker Engine - Community Version: 25.0.3 ... Server: Docker Engine - Community Engine: Version: 25.0.3
设置时间同步
时间同步包括使用指定的外部时间参考信息在节点机器上设置时钟。时间同步对于时间敏感型集群活动(例如事件日志记录和指标收集)非常重要。节点机器的内核控制在节点上运行的容器中的时钟。为了确保正确进行时间同步,请使用任何可用的服务(chrony
、systemd-timesyncd
、ntp
或 ntpdate
)在您的机器上安装网络时间协议 (NTP) 服务。运行 timedatectl
验证系统时钟是否已同步。timedatectl
的输出应包含以下状态:
System clock synchronized: yes
确保 Linux 内核 inotify
限制不低于最低值
对于运行 Ubuntu 22.04 的机器,Linux 内核 inotify
限制的最大用户实例数和用户监控数必须大于或等于以下值:
fs.inotify.max_user_instances
:8192
fs.inotify.max_user_watches
:524288
如需确保在节点机器上正确设置这些值,请执行以下操作:
检查
max_user_instances
的值:cat /proc/sys/fs/inotify/max_user_instances
如有必要,请将
max_user_instances
更新为最小值:echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.conf
检查
max_user_watches
的值:cat /proc/sys/fs/inotify/max_user_watches
如果需要,将
max_user_watches
更新为最小值:echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.conf
如果您更新了任一值,请重新启动机器。