Google Distributed Cloud を使用するには、ノードマシンの基本オペレーティング システムを構成する必要があります。このページでは、必要な構成を完了するために必要な手順を説明します。Google Distributed Cloud の要件のトラブルシューティングの詳細については、既知の問題をご覧ください。
始める前に
サポートされているバージョンのオペレーティング システムと Ubuntu Hardware Enablement(HWE)カーネルを使用していることを確認します。サポートされているバージョンのリストについては、 オペレーティングシステムの選択をご覧ください。
cgroupsv2 を有効にする
ベアメタル版 Google Distributed Cloud ソフトウェアのみバージョン 1.35 以降では cgroupsv2
が必要です。クラスタをアップグレードまたは作成するには、オペレーティング システムで cgroupsv2 をサポートしている必要があります。
プリフライト チェックで cgroupsv1 が検出されると、Google Distributed Cloud
はクラスタの作成またはアップグレードを阻止します。オペレーティング システムを cgroupsv2 に移行する方法については、Kubernetes ドキュメントの cgroup v2 への移行をご覧ください。
BPF Just In Time コンパイラを有効にする
オペレーティング システムのカーネルで、BPF Just In Time コンパイラ オプションが有効(CONFIG_BPF_JIT=y)になっている必要があります。
このオプションが有効かどうかを確認するには、次のコマンドを実行します。
grep CONFIG_BPF_JIT /boot/config-$(uname -r)
パッケージ管理システムを検証する
次のコマンドを使用して、パッケージ管理システムが正しく動作していることを確認します。
sudo apt-get checkエラーがない場合、出力は次の例のようになります。
# Reading package lists... Done # Building dependency tree # Reading state information... Done
Uncomplicated Firewall(UFW)を無効にする
ufwを無効にします。sudo ufw disableufwが無効になっていることを確認します。sudo ufw status # Status: inactive
ワークステーションに Docker を構成する
Google Distributed Cloud は、次のシナリオでベアメタル マシンに Docker をインストールする際に役立ちます。
- ベアメタル マシンに Docker がインストールされていない場合は、
bmctlによって 20.10.0 以降がインストールされます。 - ベアメタル マシンに Docker 19.03.5 以前がインストールされている場合は、
bmctlによって Docker がバージョン 20.10.0 以降にアップグレードされます。
Docker を手動でインストールする手順は次のとおりです。
以前の Docker バージョンをすべて削除します。
sudo apt-get remove docker docker-engine docker.io containerd runcパッケージ マネージャーを更新します。
sudo apt-get updateDocker 20.10.0+ をインストールします。
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common \ docker.ioバージョン 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
時刻同期の設定
時刻同期は、指定した外部時間基準を使用して、ノードマシンの時計を設定することで構成されます。時刻同期は、イベント ロギングや指標収集など、時間的制約のあるクラスタ アクティビティにとって重要です。ノードマシンのカーネルは、ノード上で実行されるコンテナのクロックを制御します。適切な時刻同期を保証するには、利用可能なサービス(chrony、systemd-timesyncd、ntp、または ntpdate)のいずれかを使用して、ネットワーク タイム プロトコル(NTP)サービスをマシンにインストールします。timedatectl を実行して、システム クロックが同期していることを確認します。timedatectl の出力には次のステータスが含まれます。
System clock synchronized: yes
Linux カーネルの inotify の上限が最小値以上であることを確認する
Ubuntu 22.04 を実行しているマシンの場合、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いずれかの値を更新した場合は、マシンを再起動します。