ベアメタル版 GKE を使用するには、ノードマシンの基本オペレーティング システムを構成する必要があります。このページでは、必要な構成を完了するために必要な手順を説明します。ベアメタル版 GKE のトラブルシューティングの詳細については、既知の問題をご覧ください。
準備
サポートされているバージョンのオペレーティング システムと Ubuntu ハードウェア イネーブルメント(HWE)カーネルを使用していることを確認します。サポートされているバージョンのリストについては、オペレーティング システムの選択をご覧ください。
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 disable
ufw
が無効になっていることを確認します。sudo ufw status # Status: inactive
ワークステーションに Docker を構成する
ベアメタル版 GKE では、状況に応じて次のように、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 update
Docker 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
: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
いずれかの値を更新した場合は、マシンを再起動します。