您必须配置节点机器的基本操作系统才能使用 GKE on Bare Metal。本页面介绍完成所需配置需要执行的步骤。 如需详细了解如何对 GKE on Bare Metal 进行问题排查,请参阅问题排查指南。
准备工作
确保您使用的是受支持的操作系统版本。 GKE on Bare Metal 支持以下版本的 RHEL:
- RHEL 8.2
- RHEL 8.3
- RHEL 8.4
- RHEL 8.5
- RHEL 8.6
确保您拥有 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 可以配置为与 GKE on Bare Metal 搭配使用,也可以停用。如需了解如何配置 firewalld,请参阅“网络要求”页面上的配置 firewalld 端口。
以下说明用于停用 firewalld。
停用 firewalld:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
检查 firewalld 的状态以确保它已停用:
sudo systemctl status firewalld | grep "Active" # Output # Active: inactive (dead)
在工作站上配置 Docker 19.03+
按照以下步骤手动安装 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 19.03+:
sudo dnf install -y yum-utils
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
验证您运行的是 19.03+ 版:
sudo docker version
将您的输出与以下示例进行比较,确保客户端版本和服务器版本均为 19.03+:
Client: Docker Engine - Community Version: 19.03.13 ... Server: Docker Engine - Community Engine: Version: 19.03.13
验证 Docker 是否能运行:
docker run hello-world
您应该会看到如下所示的内容:
Hello from Docker!
此消息表明您的安装似乎在正常运行。
设置时间同步
时间同步包括使用指定的外部时间参考信息在节点机器上设置时钟。时间同步对于时间敏感型集群活动(例如事件日志记录和指标收集)非常重要。节点机器的内核控制在节点上运行的容器中的时钟。为了确保正确进行时间同步,请使用任何可用的服务(chrony
、systemd-timesyncd
、ntp
或 ntpdate
)在您的机器上安装网络时间协议 (NTP) 服务。运行 timedatectl
验证系统时钟是否已同步。timedatectl
的输出应包含以下状态:
System clock synchronized: yes
最佳做法
为了简化安装,我们建议您使用具有无头管理的极简安装配置 RHEL。此外,请务必启用网络连接,并使用默认 DHCP 或提供有效的静态 IP 地址和网络信息。确保机器可以连接到必需的外部资源,例如 cloud.google.com
。
如果 Docker 运行失败,请使用以下命令检查 Docker 守护进程是否正在运行:
sudo systemctl start docker