You must configure the base operating system of your node machines to use Anthos clusters on bare metal. This page contains the steps you need to take to complete the needed configuration.
For more information about troubleshooting Anthos clusters on bare metal requirements, see the troubleshooting guides.
Before you begin
Ensure you are using a supported version of your operating system. Anthos on bare metal supports the following versions for CentOS:
- CentOS 8.1
- CentOS 8.2
- CentOS 8.3
- CentOS 8.4
Ensure you have root access to the machines you are configuring.
Validate Package manager with the following steps:
Check for updates:
sudo dnf check-update
Ensure the output has no errors and the last metadata expiration check, for example:
# Last metadata expiration check: ... ... google-cloud-sdk.x86_64 ...
Configure or disable firewalld
Firewalld can be configured for use with Anthos clusters on bare metal or disabled. For information on configuring firewalld, see Configuring firewalld ports on the Network requirements page.
The following instructions disable firewalld.
sudo systemctl stop firewalld sudo systemctl disable firewalld
Check the status of firewalld to ensure it is disabled:
sudo systemctl status firewalld | grep "Active" # Output # Active: inactive (dead)
Configure Docker 19.03+ on your workstation
Follow these steps to manually install Docker:
Remove any previous Docker version:
sudo dnf remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
sudo dnf remove podman-manpages
Install 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 docker-ce docker-ce-cli containerd.io sudo systemctl start docker
Verify you are now running version 19.03+:
sudo docker version
Compare your output with the following example to ensure the Client and Server versions are 19.03+ :
Client: Docker Engine - Community Version: 19.03.13 ... Server: Docker Engine - Community Engine: Version: 19.03.13
Set up time synchronization
Time synchronization consists of setting the clocks on your node machines, using
a designated external time reference. Time synchronization is important for
time-sentive cluster activities, such as event logging and metrics collection.
The kernel of your node machine controls the clock in containers that run on the
node. To ensure proper time synchronization, install a network time protocol
(NTP) service on your machines, using any of the available services:
timedatectl to verify the system clock is
synchronized. The output of
timedatectl should contain the following status:
System clock synchronized: yes