Google Distributed Cloud を使用するには、ノードマシンの基本オペレーティング システムを構成する必要があります。このページでは、必要な構成を完了するために必要な手順を説明します。Google Distributed Cloud のトラブルシューティングの詳細については、トラブルシューティング ガイドをご覧ください。
始める前に
サポートされているバージョンのオペレーティング システムを使用していることをご確認ください。サポートされているバージョンのリストについては、オペレーティング システムの選択をご覧ください。
cgroupsv2 を有効にする
ベアメタル向け Google Distributed Cloud ソフトウェアのみバージョン 1.35 以降では、cgroupsv2 が必要です。クラスタを作成またはアップグレードするには、オペレーティング システムで cgroupsv2 がサポートされている必要があります。
プリフライト チェックで cgroupsv1 が検出されると、Google Distributed Cloud
はクラスタの作成またはアップグレードを阻止します。オペレーティング システムを cgroupsv2 に移行する手順については、Kubernetes ドキュメントの Migrating to cgroup v2 をご覧ください。
RHEL で cgroupsv2 を有効にする手順については、Red Hat ナレッジベースの cgroup v2 の有効化をご覧ください。
Python のバージョンを検証する
ベアメタル向け Google Distributed Cloud ソフトウェアのみバージョン 1.35 以降でノードを初期化またはアップグレードする前に、python3 --version コマンドを実行して現在の Python バージョンを検証します。
Python のバージョンが 3.8 以下の場合は、そのノードに Python 3.9 をインストールする必要があります。
Python 3.9 以降をインストールして、ノードが想定どおりに初期化または更新されるようにするには、次の操作を行います。
Python 3.9 をインストールします。
sudo dnf install -y python39Python 3.9 ファイルがパス
/usr/bin/python3.9に存在することを確認します。
BPF Just In Time コンパイラを有効にする
オペレーティング システムのカーネルで、BPF Just In Time コンパイラ オプションが有効(CONFIG_BPF_JIT=y)になっている必要があります。
このオプションが有効かどうかを確認するには、次のコマンドを実行します。
grep CONFIG_BPF_JIT /boot/config-$(uname -r)
パッケージ管理システムを検証する
RedHat のユーザー名とパスワードを設定済みであり、構成しているマシンへの root 権限を付与されていることを確認します。パッケージ管理システムの検証手順は次のとおりです。
ご利用のオペレーティング システムを登録していない場合は、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 firewalldfirewalld のステータスをチェックして、無効になっていることを確認します。
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-enginepodman-manpages を削除します。
sudo dnf remove podman-manpagesDocker 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.3Docker が動作していることを確認します。
docker run hello-world次のように表示されます。
Hello from Docker!This message shows that your installation appears to be working correctly.
時刻同期の設定
時刻同期は、指定した外部時間基準を使用して、ノードマシンの時計を設定することで構成されます。時刻同期は、イベント ロギングや指標収集など、時間的制約のあるクラスタ アクティビティにとって重要です。ノードマシンのカーネルは、ノード上で実行されるコンテナのクロックを制御します。適切な時刻同期を保証するには、利用可能なサービス(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:8192fs.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.confmax_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