9.2. 事前にプロビジョニングされたノードでのユーザーの作成

事前にプロビジョニングされたノードを使用してオーバークラウドを設定する場合、director はオーバークラウドノードに SSH アクセスする必要があります。事前にプロビジョニングされたノードで SSH 鍵認証のユーザーを作成し、そのユーザーに対してパスワード不要の sudo アクセスを設定する必要があります。事前にプロビジョニングされたノードでユーザーを作成したら、openstack overcloud deploy コマンドで --overcloud-ssh-user および --overcloud-ssh-key オプションを使用して、事前にプロビジョニングされたノードでオーバークラウドを作成することができます。

デフォルトでは、オーバークラウドの SSH ユーザーおよびオーバークラウドの SSH 鍵の値は、それぞれ stack ユーザーおよび ~/.ssh/id_rsa です。stack ユーザーを作成するには、以下の手順を実施します。

手順

  1. 各オーバークラウドノードで、stack ユーザーを作成して、それぞれにパスワードを設定します。コントローラーノードで、以下の例に示すコマンドを実行します。

    [root@controller-0 ~]# useradd stack
    [root@controller-0 ~]# passwd stack  # specify a password
  2. sudo を使用する際に、このユーザーがパスワードを要求されないようにします。

    [root@controller-0 ~]# echo "stack ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/stack
    [root@controller-0 ~]# chmod 0440 /etc/sudoers.d/stack
  3. 事前にプロビジョニングされた全ノードで stack ユーザーの作成と設定を行った後に、director ノードから各オーバークラウドノードに stack ユーザーの公開 SSH 鍵をコピーします。director の公開 SSH 鍵をコントローラーノードにコピーするには、以下の例に示すコマンドを実行します。

    [stack@director ~]$ ssh-copy-id stack@192.168.24.2
重要

SSH 鍵をコピーするには、各オーバークラウドノードの SSH 設定で一時的に PasswordAuthentication Yes を設定しなければならない場合があります。SSH 鍵をコピーした後に PasswordAuthentication No を設定し、今後は SSH 鍵を使用して認証を行います。