ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • openstack (nova)
    openstack 2023. 9. 7. 14:55
    - nova-conductor: 코디네이션과 데이터베이스 쿼리를 지원하는 서버 데몬입니다
    . - nova-novncproxy : novnc~console과 호환되는 웹 소켓 프록시입니다.
    - nova-scheduler: VM 인스턴스를 실행할 컴퓨트 노드를 선택하는 역할을 합니다.
    - nova-novaclient: Nova REST API를 사용하는 클라이언트 프로그램입니다. 그리고 컴퓨트 노드에는 다음 몇 개만 설치합니다.
    - python-guestfs :파일 생성 기능을 지원히는 Python 라이브러리입니다.
    - qemu-kvm : KVM 하이퍼바이저입니다.
    - nova-compute-kvm : 인스턴스(가상 머신)와 관련된 모든 프로세스를 처리합니다.

     

    (참조 사이트)
    https://docs.openstack.org/nova/victoria/install/controller-install-ubuntu.html

    https://schoolofweb.net/blog/posts/%EC%98%A4%ED%94%88%EC%8A%A4%ED%83%9D-%EC%BB%B4%ED%93%A8%ED%8A%B8-%EB%85%B8%EB%B0%94-openstack-compute-nova/

     

    nova 데이터베이스 생성

    mysql

    CREATE DATABASE nova;
    CREATE DATABASE nova_api;
    CREATE DATABASE nova_cell0;

    GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost'   IDENTIFIED BY 'openstack';
    GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'openstack';

    GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost'   IDENTIFIED BY 'openstack';
    GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'openstack';

    GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost'   IDENTIFIED BY 'openstack';
    GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'openstack';

     

    nova 사용자를 생성

    openstack user create --domain default --password-prompt nova
    비밀번호 : openstack 지정

     

     

    admin사용자 에게 역할을 추가합니다

    openstack role add --project service --user nova admin

    openstack user list --> 확인

     

     

    서비스 엔터티를 만듭니다 

    openstack service create --name nova \
      --description "OpenStack Compute" compute

    openstack service list --> 확인

     

     

    Compute API 서비스 엔드포인트를 생성합니다.

    openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1
    openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1
    openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1

     

     

    openstack endpoint list 

     

     

    ㄱㄷ

    - Ubuntu에서 OpenStack의 Nova 서비스를 설치하는 명령입니다. Nova 서비스는 OpenStack의 컴퓨트 서비스를 제공합니다.

    • nova-api: Nova 서비스의 API 서버를 설치합니다. 이는 Nova 인스턴스를 관리하기 위한 인터페이스를 제공합니다.
    • nova-conductor: Nova 서비스의 conductor 데몬을 설치합니다. 이는 Nova 컨트롤러와 연결하여 일부 작업을 처리합니다.
    • nova-novncproxy: Nova 서비스의 VNC 프록시를 설치합니다. 이는 가상 머신의 그래픽 화면을 웹 브라우저에서 볼 수 있게 해줍니다.
    • nova-scheduler: Nova 서비스의 스케줄러를 설치합니다. 이는 가상 머신을 어느 호스트에 할당할지를 결정합니다.


    apt -y install nova-api nova-conductor nova-novncproxy nova-scheduler python3-novaclient

    - Ubuntu에서 OpenStack의 Nova 서비스와 관련된 패키지들을 설치하는 명령입니다. Nova 서비스는 OpenStack의 컴퓨트 서비스를 제공합니다.

    • nova-api: Nova 서비스의 API 서버를 설치합니다. 이는 Nova 인스턴스를 관리하기 위한 인터페이스를 제공합니다.
    • nova-conductor: Nova 서비스의 conductor 데몬을 설치합니다. 이는 Nova 컨트롤러와 연결하여 일부 작업을 처리합니다.
    • nova-novncproxy: Nova 서비스의 VNC 프록시를 설치합니다. 이는 가상 머신의 그래픽 화면을 웹 브라우저에서 볼 수 있게 해줍니다.
    • nova-scheduler: Nova 서비스의 스케줄러를 설치합니다. 이는 가상 머신을 어느 호스트에 할당할지를 결정합니다.
    • python3-novaclient: Python 언어로 작성된 OpenStack Nova API 클라이언트를 설치합니다. Nova 서비스를 관리하기 위한 명령행 도구를 제공합니다.

     

    conf 파일 수정

    cp -a /etc/nova/nova.conf /etc/nova/nova.conf_org   --> 백업 파일 생성

     

    nano /etc/nova/nova.conf

    [DEFAULT]
    my_ip = 192.168.1.10   [메뉴얼에 있던 내용]
    # log_dir = /var/log/nova
    Due to a packaging bug, remove the log_dir option from the [DEFAULT] section.
    lock_path = /var/lock/nova
    state_path = /var/lib/nova

    auth_strategy = keystone

    transport_url = rabbit://openstack:openstack@controller 

    use_neutron = True  [neutron 사용허가]

    firewall_driver = nova.virt.firewall.NoopFirewallDriver   [neutron 사용 드라이버 정의]

    enabled_apis = osapi_compute,metadata  [사용가능한 api 지정]

    [api_database]  --> 기존에 있던 거 지우고 
    connection = mysql+pymysql://nova:openstack@controller/nova_api

    [database] # 기존에 있던거 지우고 넣을 것 
    connection = mysql+pymysql://nova:openstack@controller/nova

    [keystone_authtoken]
    www_authenticate_uri = http://controller:5000
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = Default
    user_domain_name = Default
    project_name = service
    username = nova
    password = openstack

    [api]
    auth_strategy = keystone

    여기까지가 추가 내용 

    [vnc]
    enable = true
    vncserver_listen = $my_ip
    vncserver_proxyclient_address = $my_ip

    [glance]
    api_servers = http://controller:9292

    [oslo_concurrency]
    lock_path = /var/lib/nova/tmp

    [placement] 
    region_name = RegionOne
    project_domain_name = Default
    project_name = service
    auth_type = password
    user_domain_name = Default
    auth_url = http://controller:5000/v3
    username = placement
    password = openstack

     


    설정 파일 사진

     

     

    데이터베이스를 채웁니다 nova-api
    su -s /bin/sh -c "nova-manage api_db sync" nova

    데이터베이스를 등록합니다 cell0.
    su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova

    셀을 만듭니다 cell1
    su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova

    nova 데이터베이스를 채우십시오
    su -s /bin/sh -c "nova-manage db sync" nova

    nova cell0 및 cell1이 올바르게 등록되었는지 확인이 가능합니다
    su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova

     

     

    systemctl restart(enable/status) nova-api
    systemctl restart(enable/status) nova-scheduler 
    systemctl restart(enable/status) nova-conductor
    systemctl restart(enable/status) nova-novncproxy
     

    'openstack' 카테고리의 다른 글

    openstack (compute node) 오류....  (0) 2023.09.07
    openstack (Placement)  (0) 2023.09.07
    openstack (glance)  (0) 2023.09.07
    openstack (수동 설치)  (0) 2023.09.06
    openstack (devstack)  (0) 2023.09.06
Designed by Tistory.