1장. components
Red Hat OpenStack Platform IaaS 클라우드는 컴퓨팅, 스토리지 및 네트워킹 리소스를 제어하는 상호 작용 서비스 컬렉션으로 구현됩니다. 관리자는 OpenStack 리소스를 제어, 프로비저닝 및 자동화할 수 있는 웹 기반 대시보드 또는 명령줄 클라이언트를 사용하여 클라우드를 관리할 수 있습니다. OpenStack에는 모든 클라우드 사용자가 사용할 수 있는 광범위한 API도 있습니다.
다음 다이어그램에서는 OpenStack 핵심 서비스 및 서로 간의 관계를 개괄적으로 설명합니다.
다음 표에서는 다이어그램에 표시된 각 구성 요소에 대해 설명하고 구성 요소 설명서 섹션에 대한 링크를 제공합니다.
Service | 코드 | 설명 | 위치 | |
---|---|---|---|---|
| 대시보드 | Horizon | OpenStack 서비스를 관리하는 데 사용하는 웹 브라우저 기반 대시보드입니다. | |
| ID | Keystone | OpenStack 서비스의 인증 및 권한 부여 및 사용자, 프로젝트, 역할 관리를 위한 중앙 집중식 서비스입니다. | |
| OpenStack Networking | Neutron | OpenStack 서비스의 인터페이스 간 연결을 제공합니다. | |
| 블록 스토리지 | cinder | 가상 머신의 영구 블록 스토리지 볼륨을 관리합니다. | |
| Compute | Nova | 하이퍼바이저 노드에서 실행되는 가상 머신을 관리하고 프로비저닝합니다. | |
| 이미지 | glance | 가상 머신 이미지 및 볼륨 스냅샷과 같은 리소스를 저장하는 데 사용하는 레지스트리 서비스입니다. | |
| 오브젝트 스토리지 | swift | 사용자가 파일 및 임의의 데이터를 저장하고 검색할 수 있습니다. | |
| telemetry | ceilometer | 클라우드 리소스의 측정을 제공합니다. | |
| 오케스트레이션 | Heat | 리소스 스택 자동 생성을 지원하는 템플릿 기반 오케스트레이션 엔진입니다. |
각 OpenStack 서비스에는 기능적인 Linux 서비스 및 기타 구성 요소 그룹이 포함되어 있습니다. 예를 들어, glance-api 및 glance-registry Linux 서비스는 MariaDB 데이터베이스와 함께 이미지 서비스를 구현합니다. OpenStack 서비스에 포함된 타사 구성 요소에 대한 자세한 내용은 1.6.1절. “타사 구성 요소” 을 참조하십시오.
추가 서비스는 다음과 같습니다.
- 1.3.2절. “OpenStack Bare Metal Provisioning(ironic)” - 사용자가 다양한 하드웨어 벤더를 통해 물리적 머신(베어 메탈)을 프로비저닝할 수 있습니다.
- 1.2.3절. “OpenStack Database-as-a-Service(trove)” - 사용자가 관계형 및 비관계형 데이터베이스 엔진을 배포하고 복잡한 데이터베이스 관리 작업을 처리할 수 있습니다.
- 1.3.5절. “OpenStack Data Processing(sahara)” - 사용자가 OpenStack에서 Cryostat 클러스터를 프로비저닝하고 관리할 수 있습니다.
1.1. 네트워킹
1.1.1. OpenStack Networking(neutron)
OpenStack Networking은 OpenStack 클라우드에서 가상 네트워킹 인프라의 생성 및 관리를 처리합니다. 인프라 요소에는 네트워크, 서브넷 및 라우터가 포함됩니다. 방화벽 또는 VPN(Virtual Private Network)과 같은 고급 서비스를 배포할 수도 있습니다.
OpenStack Networking에서는 클라우드 관리자가 어느 물리적 시스템에서 실행할 개별 서비스를 유연하게 결정할 수 있는 유연성을 제공합니다. 모든 서비스 데몬은 평가를 위해 단일 물리적 호스트에서 실행할 수 있습니다. 또는 각 서비스에 고유한 물리적 호스트가 있거나 여러 호스트에 복제되어 중복성을 제공할 수 있습니다.
OpenStack Networking은 소프트웨어 정의이므로 새로운 IP 주소 생성 및 할당과 같은 변화하는 네트워크 요구 사항에 실시간으로 대응할 수 있습니다.
OpenStack Networking의 장점은 다음과 같습니다.
- 사용자는 네트워크를 생성하고, 트래픽을 제어하고, 서버와 장치를 하나 이상의 네트워크에 연결할 수 있습니다.
- 유연한 네트워킹 모델은 네트워크 볼륨 및 테넌시에 맞게 조정할 수 있습니다.
- IP 주소는 동적 트래픽 재실행에 사용할 수 있는 전용 또는 유동 IP일 수 있습니다.
- VLAN 네트워킹을 사용하는 경우 최대 4094 VLAN(4094 네트워크)을 사용할 수 있습니다. 여기서 4094 = 2^12(사용할 수 없는 2개) 네트워크 주소는 12비트 헤더 제한에 의해 부과됩니다.
- VXLAN 터널 기반 네트워크를 사용하는 경우 VNI(Virtual Network Identifier)는 기본적으로 약 16만 개의 고유 주소/네트워크를 허용하는 24비트 헤더를 사용할 수 있습니다.
Component | 설명 |
---|---|
네트워크 에이전트 | 각 OpenStack 노드에서 실행되는 서비스는 노드 가상 머신 및 Open vSwitch와 같은 네트워킹 서비스에 대한 로컬 네트워킹 구성을 수행합니다. |
neutron-dhcp-agent | 테넌트 네트워크에 DHCP 서비스를 제공하는 에이전트입니다. |
neutron-ml2 | 네트워크 드라이버를 관리하고 Open vSwitch 또는 Ryu 네트워크와 같은 네트워킹 서비스에 대한 라우팅 및 전환 서비스를 제공하는 플러그인입니다. |
neutron-server | 사용자 요청을 관리하고 Networking API를 노출하는 Python 데몬입니다. 기본 서버 구성에서는 특정 네트워킹 메커니즘 세트와 함께 플러그인을 사용하여 Networking API를 구현합니다. openvswitch 및 linuxbridge 플러그인과 같은 특정 플러그인은 기본 Linux 네트워킹 메커니즘을 사용하는 반면 다른 플러그인은 외부 장치 또는 SDN 컨트롤러와 인터페이스합니다. |
Neutron | API에 액세스하는 명령줄 클라이언트입니다. |
OpenStack Networking 서비스 및 에이전트 배치는 네트워크 요구 사항에 따라 다릅니다. 다음 다이어그램에서는 컨트롤러가 없는 일반적인 배포 모델의 예를 보여줍니다. 이 모델은 전용 OpenStack Networking 노드 및 테넌트 네트워크를 활용합니다.
이 예제에서는 다음 네트워킹 서비스 구성을 보여줍니다.
두 개의 컴퓨팅 노드는 Open vSwitch(ovs-agent)를 실행하고 하나의 OpenStack Networking 노드는 다음 네트워크 기능을 수행합니다.
- L3 라우팅
- DHCP
- FWaaS 및 LBaaS와 같은 서비스를 포함하는 NAT
- 컴퓨팅 노드에는 각각 두 개의 물리적 네트워크 카드가 있습니다. 하나의 카드는 테넌트 트래픽을 처리하고 다른 카드는 연결을 관리합니다.
- OpenStack Networking 노드에는 공급자 트래픽 전용 세 번째 네트워크 카드가 있습니다.