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 のユーザー名とパスワードを設定済みであり、構成しているマシンへの 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 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!
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 を実行しているマシンの場合、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