Version 1.6. This version is no longer supported. For information about how to upgrade to version 1.7, seeUpgrading Anthos on bare metalin the 1.7 documentation. For more information about supported and unsupported versions, see theVersion historypage in the latest documentation.
You must configure the base operating system of your node machines to use Google Distributed Cloud. This page contains the steps you need to take to complete the needed configuration.
For more information about troubleshooting Google Distributed Cloud, see thetroubleshooting guides.
Before you begin
Ensure you are using a supported version of your operating system. Google Distributed Cloud supports the following versions for RHEL:
RHEL 8.1
RHEL 8.2
Ensure you have root access to the machines you are configuring, and your RedHat username and password.Validate Package manager with the following steps:
If you haven't registered your operating system, register with RedHat using your username and password to download updates:
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
Verify Docker runs:
docker run hello-world
You should see something similar to this:
Hello from Docker!
This message shows that your installation appears to be working correctly.
Best Practices
To simplify installation, we recommend that you configure RHEL using a minimal installation with headless management. Also, be sure to enable yournetwork connectionand either use the default DHCP or provide a valid, static IP address and network information. Ensure the machine can connect tothe required external resources, such ascloud.google.com.
If Docker fails to run, check that the Docker daemon is running with the following command:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThis guide details the necessary steps to configure the base operating system of node machines for Google Distributed Cloud, primarily focusing on RHEL.\u003c/p\u003e\n"],["\u003cp\u003eUsers must register their operating system with RedHat, ensure they have root access, and validate the package manager by checking for updates to facilitate the proper downloading of updates.\u003c/p\u003e\n"],["\u003cp\u003eSELinux should be set to \u003ccode\u003epermissive\u003c/code\u003e mode temporarily and permanently in \u003ccode\u003e/etc/selinux/config\u003c/code\u003e, while \u003ccode\u003efirewalld\u003c/code\u003e needs to be disabled entirely, verifying it's inactive afterward.\u003c/p\u003e\n"],["\u003cp\u003eDocker version 19.03 or later is required, which can be installed or upgraded via \u003ccode\u003ebmctl\u003c/code\u003e, or manually installed by removing previous versions, adding the Docker repository, and ensuring both the client and server are running the correct version.\u003c/p\u003e\n"],["\u003cp\u003eIt is recommended that the RHEL installation be minimal with headless management and has a functional network connection to ensure a simplified installation.\u003c/p\u003e\n"]]],[],null,["# Configuring RHEL\n\n\u003cbr /\u003e\n\nYou must configure the base operating system of your node machines to use Google Distributed Cloud. This page contains the steps you need to take to complete the needed configuration.\nFor more information about troubleshooting Google Distributed Cloud, see the [troubleshooting guides](/anthos/clusters/docs/bare-metal/1.6/troubleshooting/known-issues).\n\nBefore you begin\n----------------\n\nEnsure you are using a supported version of your operating system. Google Distributed Cloud supports the following versions for RHEL:\n\n- RHEL 8.1\n- RHEL 8.2\n\nEnsure you have root access to the machines you are configuring, and your RedHat username and password. \n\nValidate Package manager with the following steps:\n\n1. If you haven't registered your operating system, register with RedHat using your username and password to download updates:\n\n sudo subscription-manager register\n sudo subscription-manager refresh\n sudo subscription-manager attach --auto\n\n2. Check for updates:\n\n sudo dnf check-update\n\nEnsure the output has no errors and the last metadata expiration check, for example: \n\n Updating Subscription Management repositories.\n ...\n # Last metadata expiration check: ...\n ...\n\nSetting SELinux to `permissive`\n-------------------------------\n\n1. Set SELinux to permissive:\n\n sudo setenforce 0 # temporary\n sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config\n\n2. After rebooting, verify SELinux is set to permissive:\n\n sudo sestatus | grep \"Current mode\"\n # Output\n # Current mode: permissive\n\nDisabling `firewalld`\n---------------------\n\n1. Disable `firewalld`:\n\n sudo systemctl stop firewalld\n sudo systemctl disable firewalld\n\n2. Check the status of `firewalld` to ensure it is disabled:\n\n sudo systemctl status firewalld | grep \"Active\"\n # Output\n # Active: inactive (dead)\n\nConfiguring Docker 19.03+ on your workstation\n---------------------------------------------\n\nGoogle Distributed Cloud helps you install Docker on your bare metal machines in the\nfollowing scenarios:\n\n- If your bare metal machines don't have Docker installed, `bmctl` installs 19.03.13 or later.\n- If your bare metal machines have Docker 19.03.5 or earlier installed, `bmctl` upgrades Docker to version 19.03.13 or later.\n\n| **Note:** The workstation running `bmclt` needs non-root user access to Docker to start the temporary bootstrap (kind) cluster during installation. To enable non-root user access to Docker, go to [Manage Docker as a non-root user](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user).\n\nFollow these steps to manually install Docker:\n\n1. Remove any previous Docker version:\n\n sudo dnf remove docker \\\n docker-client \\\n docker-client-latest \\\n docker-common \\\n docker-latest \\\n docker-latest-logrotate \\\n docker-logrotate \\\n docker-engine\n\n2. Remove podman-manpages\n\n sudo dnf remove podman-manpages\n\n3. Install Docker 19.03+:\n\n sudo dnf install -y yum-utils\n sudo yum-config-manager \\\n --add-repo \\\n https://download.docker.com/linux/centos/docker-ce.repo\n sudo dnf install -y docker-ce docker-ce-cli containerd.io\n sudo systemctl start docker\n\n4. Verify you are now running version 19.03+:\n\n sudo docker version\n\n5. Compare your output with the following example to ensure the Client and Server versions are 19.03+ :\n\n Client: Docker Engine - Community\n Version: 19.03.13\n ...\n Server: Docker Engine - Community\n Engine:\n Version: 19.03.13\n\n6. Verify Docker runs:\n\n docker run hello-world\n\n You should see something similar to this:\n\n Hello from Docker!\n This message shows that your installation appears to be working correctly.\n\nBest Practices\n--------------\n\nTo simplify installation, we recommend that you configure RHEL using a minimal installation with headless management. Also, be sure to enable your [network connection](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/assembly_configuring-and-managing-network-access_configuring-basic-system-settings) and either use the default DHCP or provide a valid, static IP address and network information. Ensure the machine can connect to [the required external resources](/anthos/clusters/docs/bare-metal/1.6/installing/proxy#prerequisites), such as `cloud.google.com`.\n\nIf Docker fails to run, check that the Docker daemon is running with the following command: \n\n sudo systemctl start docker"]]