오픈스택 컴퓨트 (nova)

Jmnote (토론 | 기여)님의 2024년 6월 19일 (수) 02:21 판 (→‎설치)

1 개요

OpenStack Compute (nova)
오픈스택 컴퓨트 (노바)

https://docs.openstack.org/nova/2024.1/

2 Nova란 무엇인가?

Nova는 컴퓨팅 인스턴스(즉, 가상 서버)를 프로비저닝하는 방법을 제공하는 OpenStack 프로젝트입니다. Nova는 가상머신, 베어메탈 서버(ironic을 사용하여)을 지원하며, 시스템 컨테이너도 제한적으로 지원합니다. Nova는 기존의 리눅스 서버 위에서 일련의 데몬으로 실행되어 이러한 서비스를 제공합니다.

기본 기능을 위해 다음과 같은 추가 OpenStack 서비스가 필요합니다:

  • Keystone: 모든 OpenStack 서비스에 대한 아이덴티티와 인증을 제공합니다.
  • Glance: 컴퓨팅 이미지 저장소를 제공합니다. 모든 컴퓨팅 인스턴스는 Glance 이미지를 통해 시작됩니다.
  • Neutron: 컴퓨팅 인스턴스가 부팅 시 연결하는 가상 또는 물리적 네트워크를 프로비저닝합니다.
  • Placement: 클라우드에서 사용가능한 리소스의 인벤토리를 추적하고 가상머신을 생성할 때 이러한 리소스를 제공할 제공자를 선택하는 데 도움을 줍니다.

Nova는 또한 영구 블록 스토리지, 암호화된 디스크, 베어메탈 컴퓨팅 인스턴스를 포함하는 다른 서비스와 통합될 수 있습니다.

3 최종사용자를 위한 안내

Nova의 최종 사용자로서, 여러분은 도구나 API를 직접 사용하여 서버를 생성하고 관리하게 됩니다.

3.1 Nova 사용 도구들

  • Horizon: OpenStack 프로젝트의 공식 웹 UI입니다.
  • OpenStack Client: OpenStack 프로젝트의 공식 CLI입니다. 대부분의 작업에서 이 CLI를 사용해야 하며, nova 명령뿐만 아니라 대부분의 OpenStack 프로젝트들의 명령어를 포함하고 있습니다.
  • Nova Client: 매우 고급 기능(또는 관리자 명령어)을 위해서는 nova client를 사용할 필요가 있을 수 있습니다. 계속 지원은 되지만, 일반적으로 openstack CLI를 사용하는 것이 권장됩니다.

3.2 API 작성

Nova의 모든 최종사용자 기능(및 일부 관리 기능)은 REST API를 통해 노출되며, 이를 사용하여 더 복잡한 로직이나 자동화를 구축할 수 있습니다. 이 API는 직접 사용하거나 다양한 SDK를 통해 사용할 수 있습니다. API를 직접 사용하는 데 도움이 되는 다음의 자료를 참고하세요.

  • Compute API Guide: API에 대한 개념 가이드입니다. API 참조를 더 쉽게 소비할 수 있도록 개념을 정리하는 데 도움을 줍니다.
  • Compute API Reference: 모든 메소드와 요청/응답 매개변수 및 그 의미를 포함한 compute API의 완전한 레퍼런스 문서입니다.
  • Compute API Microversion History: compute API는 Microversion을 통해 시간이 지남에 따라 진화합니다. 이는 모든 변경의 역사를 제공합니다. compute API의 “새로운 기능”으로 간주할 수 있습니다.
  • Block Device Mapping: 특정 블록 장치를 컴퓨트에 연결하는 데 사용되는 Block Device Mapping 파라미터를 이해하는 것은 다소 복잡합니다. 이 부분은 깊이 있는 탐구가 필요합니다.
  • Metadata: 인스턴스가 생성될 때 게스트 인스턴스에 정보를 제공합니다.

Nova는 RPC를 통해 알림을 발신하도록 설정할 수 있습니다.

기타 최종사용자 가이드는 사용자 문서에서 찾을 수 있습니다.

4 운영자를 위한 안내

4.1 아키텍처 개요

  • Nova 아키텍처: Nova의 모든 파트들이 어떻게 맞물리는지에 대한 개요

4.2 설치

Nova의 상세 설치 가이드. 작동하는 Nova를 위해서는 keystone, glance, neutron, placement를 먼저 설치해야 합니다. 이들의 설치 가이드를 먼저 따르십시오.

4.3 배포 고려사항

배포를 진행하기 전에 고려해야 할 정보가 있습니다. 특히 큰 규모의 배포를 진행할 경우에는 더욱 중요합니다. 소규모 배포의 경우 설치 가이드의 기본 설정으로 충분할 것입니다.

  • 지원되는 컴퓨팅 드라이버 기능: 대부분의 nova 배포는 libvirt/kvm을 사용하지만, nova는 다른 컴퓨팅 드라이버와도 사용할 수 있습니다. nova는 이러한 드라이버들 간에 통합된 기능 세트를 제공하려고 노력하지만, 모든 기능이 모든 백엔드에서 구현되지는 않았고, 모든 기능이 동일하게 잘 테스트된 것은 아닙니다.
    • 사용사례별 기능 지원: 일반적인 클라우드, NFV 클라우드, HPC 클라우드 등 중요한 대규모 사용사례에 따라 각 드라이버가 어떤 기능을 지원하는지에 대한 관점
    • 기능 지원 전체 목록: 각 컴퓨팅 드라이버 백엔드의 기능에 대한 상세한 분석
  • Cells v2 설정: 대규모 배포의 경우, cells v2는 컴퓨팅 환경을 샤딩할 수 있게 해줍니다. 성공적인 cells v2 레이아웃을 위해서는 사전 계획이 중요합니다.
  • WSGI에서 nova-api 실행: 내장된 eventlet 웹서버 대신 실제 WSGI 컨테이너를 사용하는 것에 대한 고려사항

4.4 유지관리

nova를 실행한 후에는, 다음 정보가 매우 유용할 것입니다.

  • 관리자 가이드: nova 관리에 대한 가이드 모음
  • 플레이버: 플레이버가 무엇이며 왜 사용되는지에 대한 설명
  • 업그레이드: 서비스 영향 최소화를 위해 설계된 nova 업그레이드 방법과 순서
  • 쿼타: nova에서 프로젝트 할당량을 관리하기
  • 집합체(aggregate): 호스트를 스케줄링 목적으로 그룹화하는 유용한 방법
  • 스케줄링: 스케줄러가 어떻게 구성되어 있으며, 컴퓨팅 인스턴스가 환경 내에서 어디에 배치될지에 미치는 영향에 대한 설명. 호스트 간의 예상치 못한 컴퓨팅 인스턴스 분포를 발견한 경우, 이 설정을 자세히 살펴보아야 합니다.
  • 컴퓨팅 인스턴스에 커스텀 메타데이터 노출: 기본 메타데이터 서버 또는 설정 드라이브를 통해 특정 목적을 위해 컴퓨팅 인스턴스에 노출할 기본 메타데이터를 확장하는 방법과 시기에 대한 설명입니다.

4.5 참고 자료

  • Nova CLI 명령어 레퍼런스: nova와 함께 제공되는 모든 데몬 및 관리자 도구에 대한 전체 명령어 레퍼런스입니다.
  • 설정 가이드: 시스템 구성에 대한 정보, 역할 기반 접근제어 정책 규칙 등을 포함합니다.

5 기여자를 위한 안내

  • 기여하시려면…: 새 기여자라면 이것이 Nova에 기여를 시작하는 데 도움이 될 것입니다.
  • 기여자 문서: Nova가 처음이시라면, 이것이 Nova가 실제로 무엇을 하고, 왜 하는지를 이해하는 데 도움이 될 것입니다.
  • 기술 레퍼런스 심층 분석: 현재와 미래의 아키텍처와 관련된 다양한 기술 레퍼런스 자료들도 있습니다. 이 자료들은 여기에서 모아보실 수 있습니다.

6 검색

7 같이 보기

8 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}