RHEL を構成する

ベアメタル版 GKE を使用するには、ノードマシンの基本オペレーティング システムを構成する必要があります。このページでは、必要な構成を完了するために必要な手順を説明します。ベアメタル版 GKE のトラブルシューティングの詳細については、トラブルシューティング ガイドをご覧ください。

準備

サポートされているバージョンのオペレーティング システムを使用していることをご確認ください。 GKE on bare metal は、次の RHEL バージョンをサポートしています。

  • RHEL 8.2
  • RHEL 8.3
  • RHEL 8.4
  • RHEL 8.5
  • RHEL 8.6

RedHat のユーザー名とパスワードを設定済みであり、構成しているマシンへの root 権限を付与されていることを確認します。パッケージ マネージャーの検証手順は次のとおりです。

  1. ご利用のオペレーティング システムを登録していない場合は、RedHat のユーザー名とパスワードを使用して RedHat に登録し、アップデートをダウンロードしてください。

    sudo subscription-manager register
    sudo subscription-manager refresh
    sudo subscription-manager attach --auto
    
  2. アップデートを確認します。

    sudo dnf check-update
    

    出力にエラーがないことと、最後のメタデータの有効期限が含まれていることを確認します。次に例を示します。

    Updating Subscription Management repositories.
    ...
    # Last metadata expiration check: ...
    ...
    

firewalld の構成と無効化

firewalld は、GKE on Bare Metal で使用するために構成することも、無効にすることもできます。firewalld の構成については、ネットワーク要件ページの firewalld ポートの構成をご覧ください。

firewalld は、次の手順で無効にします。

  1. firewalld を無効にします。

    sudo systemctl stop firewalld
    sudo systemctl disable firewalld
    
  2. firewalld のステータスをチェックして、無効になっていることを確認します。

    sudo systemctl status firewalld | grep "Active"
    # Output
    # Active: inactive (dead)
    

ワークステーションに Docker 19.03 以降を構成する

Docker を手動でインストールする手順は次のとおりです。

  1. 以前の Docker バージョンをすべて削除します。

    sudo dnf remove docker \
        docker-client \
        docker-client-latest \
        docker-common \
        docker-latest \
        docker-latest-logrotate \
        docker-logrotate \
        docker-engine
    
  2. podman-manpages を削除します。

    sudo dnf remove podman-manpages
    
  3. 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
    
  4. バージョン 19.03 以降が実行されていることを確認します。

    sudo docker version
    
  5. 出力と次の例を比較して、クライアントとサーバーのバージョンが 19.03 以降であることを確認します。

     Client: Docker Engine - Community
     Version:           19.03.13
     ...
     Server: Docker Engine - Community
      Engine:
      Version:          19.03.13
    
  6. Docker が動作していることを確認します。

    docker run hello-world
    

    次のように表示されます。

    Hello from Docker!
    

    This message shows that your installation appears to be working correctly.

時刻同期の設定

時刻同期は、指定した外部時間基準を使用して、ノードマシンの時計を設定することで構成されます。時刻同期は、イベント ロギングや指標収集など、時間的制約のあるクラスタ アクティビティにとって重要です。ノードマシンのカーネルは、ノード上で実行されるコンテナのクロックを制御します。適切な時刻同期を保証するには、利用可能なサービス(chronysystemd-timesyncdntp、または ntpdate)のいずれかを使用して、ネットワーク タイム プロトコル(NTP)サービスをマシンにインストールします。timedatectl を実行して、システム クロックが同期していることを確認します。timedatectl の出力には次のステータスが含まれます。

System clock synchronized: yes

ベスト プラクティス

インストールを簡素化するために、ヘッドレス管理の最小限のインストールを使用して RHEL を構成することをおすすめします。また、ネットワーク接続を有効にし、デフォルトの DHCP を使用するか、有効な静的 IP アドレスとネットワーク情報を指定します。cloud.google.com などの必要な外部リソースにマシンが接続できることを確認してください。

Docker の実行に失敗した場合は、次のコマンドで Docker デーモンが動作していることを確認します。

sudo systemctl start docker