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 키를 사용하여 나중에 인증합니다.