您必须配置节点机器的基本操作系统,以使用 Google Distributed Cloud。本页面介绍完成所需配置需要执行的步骤。 如需详细了解如何排查 Google Distributed Cloud 问题,请参阅问题排查指南。
准备工作
确保您使用的是受支持的操作系统版本。如需查看受支持版本的列表,请参阅选择操作系统。
启用 BPF Just In Time 编译器
您的操作系统的内核必须启用 BPF Just In Time 编译器选项 (CONFIG_BPF_JIT=y)。
- 如需了解此选项是否已启用,请运行以下命令: - grep CONFIG_BPF_JIT /boot/config-$(uname -r)
验证软件包管理系统
确保您拥有 RedHat 用户名和密码,并且对正在配置的机器拥有根访问权限。请按照以下步骤验证软件包管理系统:
- 如果您尚未注册操作系统,请使用您的 RedHat 用户名和密码注册 RedHat 以下载更新: - sudo subscription-manager register sudo subscription-manager refresh sudo subscription-manager attach --auto
- 检查更新: - sudo dnf check-update- 确保输出没有错误并且包含上一次元数据过期检查,例如: - Updating Subscription Management repositories. ... # Last metadata expiration check: ... ...
配置或停用 firewalld
您可以将 Firewalld 配置为与 Google Distributed Cloud 搭配使用或停用。如需了解如何配置 firewalld,请参阅“网络要求”页面上的配置 firewalld 端口。
以下说明用于停用 firewalld。
- 停用 firewalld: - sudo systemctl stop firewalld sudo systemctl disable firewalld
- 检查 firewalld 的状态以确保它已停用: - sudo systemctl status firewalld | grep "Active" # Output # Active: inactive (dead)
在工作站上配置 Docker
按照以下步骤手动安装 Docker:
- 移除任何之前的 Docker 版本: - sudo dnf remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
- 移除 podman-manpages: - sudo dnf remove podman-manpages
- 安装 Docker 20.10.0+: - sudo dnf install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/rhel/docker-ce.repo sudo dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io sudo systemctl start docker
- 验证您现在是否运行的是 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
- 验证 Docker 是否能运行: - docker run hello-world- 您应该会看到如下所示的内容: - Hello from Docker!- 此消息表明您的安装似乎在正常运行。 
设置时间同步
时间同步包括使用指定的外部时间参考信息在节点机器上设置时钟。时间同步对于时间敏感型集群活动(例如事件日志记录和指标收集)非常重要。节点机器的内核控制在节点上运行的容器中的时钟。为了确保正确进行时间同步,请使用任何可用的服务(chrony、systemd-timesyncd、ntp 或 ntpdate)在您的机器上安装网络时间协议 (NTP) 服务。运行 timedatectl 验证系统时钟是否已同步。timedatectl 的输出应包含以下状态:
System clock synchronized: yes
确保 Linux 内核 inotify 限制不低于最小值
对于运行 RHEL 9 和 8.10 的机器,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
- 如果您更新了任一值,请重新启动机器。 
最佳做法
为了简化安装,我们建议您使用具有无头管理的极简安装配置 RHEL。此外,请务必启用网络连接,并使用默认 DHCP 或提供有效的静态 IP 地址和网络信息。确保机器可以连接到必需的外部资源,例如 cloud.google.com。
如果 Docker 运行失败,请使用以下命令检查 Docker 守护进程是否正在运行:
sudo systemctl start docker