Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

14.3. 예측 가능한 IP 할당

결과 환경을 추가로 제어하기 위해 director는 각 네트워크에서 특정 IP를 사용하여 Overcloud 노드를 할당할 수 있습니다. 코어 Heat 템플릿 컬렉션에서 environments/ips-from-pool-all.yaml 환경 파일을 사용합니다.

이 파일을 stack 사용자의 templates 디렉터리에 복사합니다.

$ cp /usr/share/openstack-tripleo-heat-templates/environments/ips-from-pool-all.yaml ~/templates/.

ips-from-pool-all.yaml 파일에는 두 개의 주요 섹션이 있습니다.

첫 번째는 기본값을 재정의하는 resource_registry 참조 집합입니다. 이를 통해 director에 노드 유형의 지정된 포트에 특정 IP를 사용하도록 지시합니다. 각 리소스를 수정하여 해당 템플릿의 절대 경로를 사용합니다. 예를 들면 다음과 같습니다.

  OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external_from_pool.yaml
  OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_from_pool.yaml
  OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_from_pool.yaml
  OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_from_pool.yaml
  OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant_from_pool.yaml

기본 구성은 사전 할당된 IP를 사용하도록 모든 노드 유형의 모든 네트워크를 설정합니다. 특정 네트워크 또는 노드 유형이 기본 IP 할당을 대신 사용하도록 허용하려면 환경 파일에서 해당 노드 유형 또는 네트워크와 관련된 resource_registry 항목을 제거하면 됩니다.

두 번째 섹션은 실제 IP 주소가 할당되는 parameter_defaults입니다. 각 노드 유형에는 연결된 매개변수가 있습니다.

  • 컨트롤러 노드의 ControllerIP.
  • 컴퓨팅 노드 의 ComputeIP.
  • Ceph Storage 노드의 CephStorageIP.
  • 블록 스토리지 노드 의 BlockStorageIP.
  • 오브젝트 스토리지 노드의 SwiftStorageIPs.
  • [ROLE]사용자 정의 역할을 위한 IP입니다. [ROLE] 을 역할 이름으로 바꿉니다.

각 매개 변수는 네트워크 이름에서 주소 목록에 대한 맵입니다. 각 네트워크 유형에는 해당 네트워크에 노드가 있을 만큼의 주소가 있어야 합니다. director에서 주소를 순서대로 할당합니다. 각 유형의 첫 번째 노드는 각 목록에서 첫 번째 주소를 수신하고 두 번째 노드는 각 목록에서 두 번째 주소를 수신합니다.

예를 들어 오버클라우드에 세 개의 Ceph Storage 노드가 포함된 경우 CephStorageIPs 매개변수는 다음과 같을 수 있습니다.

CephStorageIPs:
  storage:
  - 172.16.1.100
  - 172.16.1.101
  - 172.16.1.102
  storage_mgmt:
  - 172.16.3.100
  - 172.16.3.101
  - 172.16.3.102

첫 번째 Ceph Storage 노드는 두 개의 주소를 수신합니다. 172.16.1.100 및 172.16.3.100. 두 번째는 172.16.1.101 및 172.16.3.101을 수신하고 세 번째는 172.16.1.102 및 172.16.3.102를 수신합니다. 동일한 패턴은 다른 노드 유형에 적용됩니다.

선택한 IP 주소가 네트워크 환경 파일에 정의된 각 네트워크의 할당 풀 외부에 속하는지 확인합니다( 11.7절. “사용자 지정 네트워크 환경 파일”참조). 예를 들어 internal_api 할당이 InternalApiAllocationPools 범위 밖에 속하는지 확인합니다. 이렇게 하면 자동으로 선택한 IP와의 충돌이 방지됩니다. 마찬가지로 표준 예측 가능한 VIP 배치( 14.4절. “예측 가능한 가상 IP 할당”참조) 또는 외부 로드 밸런싱에 대한 IP 할당이 VIP 구성과 충돌하지 않는지 확인합니다( 23.2절. “외부 로드 밸런싱 구성”참조).

중요

Overcloud 노드가 삭제되면 IP 목록의 항목을 제거하지 마십시오. IP 목록은 기본 Heat 인덱스를 기반으로 하며, 노드를 삭제해도 변경되지 않습니다. 목록에 지정된 항목이 더 이상 사용되지 않음을 나타내려면 IP 값을 DELETED 또는 UNUSED 와 같은 값으로 바꿉니다. 항목은 변경 또는 추가만 IP 목록에서 제거해서는 안 됩니다.

배포 중에 이 구성을 적용하려면 openstack overcloud deploy 명령을 사용하여 ips-from-pool-all.yaml 환경 파일을 포함합니다.

중요

네트워크 분리를 사용하는 경우 network -isolation.yaml 파일 뒤에 ips-from-pool-all.yaml 파일을 포함합니다.

예를 들면 다음과 같습니다.

$ openstack overcloud deploy --templates \
  -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
  -e ~/templates/ips-from-pool-all.yaml \
  [OTHER OPTIONS]