8.3. 예측 가능한 IP 할당
생성된 환경을 추가로 제어하기 위해 director는 Overcloud 노드에 각 네트워크의 특정 IP도 할당할 수 있습니다. 코어 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
항목을 제거하기만 하면 됩니다.
두 번째 섹션은 parameter_defaults로, 실제 IP 주소가 할당됩니다. 각 노드 유형에는 연결된 매개변수가 있습니다.
-
컨트롤러 노드의 ControllerIP
입니다. -
컴퓨팅 노드
의 NovaComputeIP
. -
Ceph Storage 노드용
CephStorageIP
. -
Block Storage 노드의 BlockStorageIP
-
Object
Storage 노드용 SwiftStorageIP
-
사용자 지정 역할을 위한
[ROLE]IP
.[ROLE]
을 역할 이름으로 교체합니다.
각 매개변수는 네트워크 이름을 주소 목록에 매핑한 것입니다. 각 네트워크 유형에는 해당 네트워크에 노드가 있을 만큼 많은 주소가 있어야 합니다. director는 주소를 순서대로 할당합니다. 각 유형의 첫 번째 노드는 각 목록의 첫 번째 주소를 수신하며, 두 번째 노드는 각 목록에서 두 번째 주소를 수신합니다.
예를 들어 Overcloud에 세 개의 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 주소가 네트워크 환경 파일에 정의된 각 네트워크의 할당 풀 외부에 있는지 확인합니다( 7.2절. “네트워크 환경 파일 생성”참조). 예를 들어 internal_api
할당이 InternalApiAllocationPools
범위 외부에 있는지 확인합니다. 이렇게 하면 자동으로 선택한 IP와의 충돌이 발생하지 않습니다. 마찬가지로 표준 예측 가능한 VIP 배치( 8.4절. “예측 가능한 가상 IP 할당”참조) 또는 외부 로드 밸런싱에 대해 IP 할당이 VIP 구성과 충돌하지 않도록 합니다( 14.1절. “외부 로드 밸런싱 구성”참조).
오버클라우드 노드가 삭제된 경우 IP 목록에서 해당 항목을 삭제하지 마십시오. IP 목록은 기본 Heat 인덱스를 기반으로 하며, 노드를 삭제하는 경우에도 변경되지 않습니다. 목록에 지정된 항목이 더 이상 사용되지 않음을 나타내기 위해 IP 값을 DELETED
또는 UNUSED
와 같은 값으로 바꿉니다. IP 목록에서 항목을 제거하지 않아야 하며 변경 또는 추가만 하면 됩니다.
배포 중에 이 구성을 적용하려면 openstack overcloud deploy
명령을 사용하여 ips-from-pool-all.yaml
환경 파일을 포함합니다.
네트워크 분리를 사용하는 경우 ( 7장. 네트워크 격리참조), 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]