ベアメタル版 GKE を使用するには、ノードマシンの基本オペレーティング システムを構成する必要があります。このページでは、必要な構成を完了するために必要な手順を説明します。ベアメタル版 GKE のトラブルシューティングの詳細については、トラブルシューティング ガイドをご覧ください。
準備
サポートされているバージョンのオペレーティング システムを使用していることをご確認ください。 GKE on bare metal は、次の RHEL バージョンをサポートしています。
- RHEL 8.2
- RHEL 8.3
- RHEL 8.4
- RHEL 8.5
- RHEL 8.6
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 は、GKE on Bare Metal で使用するために構成することも、無効にすることもできます。firewalld の構成については、ネットワーク要件ページの firewalld ポートの構成をご覧ください。
firewalld は、次の手順で無効にします。
firewalld を無効にします。
sudo systemctl stop firewalld
sudo systemctl disable firewalld
firewalld のステータスをチェックして、無効になっていることを確認します。
sudo systemctl status firewalld | grep "Active" # Output # Active: inactive (dead)
ワークステーションに Docker 19.03 以降を構成する
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 19.03 以降をインストールします。
sudo dnf install -y yum-utils
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
バージョン 19.03 以降が実行されていることを確認します。
sudo docker version
出力と次の例を比較して、クライアントとサーバーのバージョンが 19.03 以降であることを確認します。
Client: Docker Engine - Community Version: 19.03.13 ... Server: Docker Engine - Community Engine: Version: 19.03.13
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
ベスト プラクティス
インストールを簡素化するために、ヘッドレス管理の最小限のインストールを使用して RHEL を構成することをおすすめします。また、ネットワーク接続を有効にし、デフォルトの DHCP を使用するか、有効な静的 IP アドレスとネットワーク情報を指定します。cloud.google.com
などの必要な外部リソースにマシンが接続できることを確認してください。
Docker の実行に失敗した場合は、次のコマンドで Docker デーモンが動作していることを確認します。
sudo systemctl start docker