8.2. 오버클라우드 네트워크 사용자 정의
오버클라우드의 물리적 네트워크의 구성을 사용자 지정할 수 있습니다. 예를 들어 Jinja2 ansible 형식의 NIC 템플릿 파일을 사용하여 NIC(네트워크 인터페이스 컨트롤러)에 대한 구성 파일을 생성할 수 있습니다.
8.2.1. 사용자 정의 네트워크 인터페이스 템플릿 정의 링크 복사링크가 클립보드에 복사되었습니다!
사용자 지정 네트워크 인터페이스 템플릿 세트를 생성하여 오버클라우드 환경의 각 노드의 NIC 레이아웃을 정의할 수 있습니다. 오버클라우드 코어 템플릿 컬렉션에는 다양한 사용 사례에 대한 기본 NIC 레이아웃 세트가 포함되어 있습니다. .j2.yaml 확장자로 Jinja2 형식 파일을 사용하여 사용자 지정 NIC 템플릿을 생성할 수 있습니다. director는 배포 중에 Jinja2 파일을 YAML 형식으로 변환합니다.
그런 다음 overcloud-baremetal-deploy.yaml 노드 정의 파일에서 network_config 속성을 사용자 지정 NIC 템플릿으로 설정하여 특정 노드의 네트워크를 프로비저닝할 수 있습니다. 자세한 내용은 오버클라우드의 베어 메탈 노드 프로비저닝을 참조하십시오.
8.2.1.1. 사용자 정의 NIC 템플릿 생성 링크 복사링크가 클립보드에 복사되었습니다!
NIC 템플릿을 생성하여 오버클라우드 환경의 각 노드의 NIC 레이아웃을 사용자 정의합니다.
프로세스
/usr/share/ansible/roles/tripleo_network_config/templates/에서 환경 파일 디렉터리에 필요한 샘플 네트워크 구성 템플릿을 복사합니다.cp /usr/share/ansible/roles/tripleo_network_config/templates/<sample_NIC_template> /home/stack/templates/<NIC_template>
$ cp /usr/share/ansible/roles/tripleo_network_config/templates/<sample_NIC_template> /home/stack/templates/<NIC_template>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<
sample_NIC_template>을 복사할 샘플 NIC 템플릿의 이름으로 바꿉니다(예:single_nic_vlans/single_nic_vlans.j2). -
&
lt;NIC_template>을 사용자 지정 NIC 템플릿 파일의 이름으로 바꿉니다(예:single_nic_vlans.j2).
-
<
- 오버클라우드 네트워크 환경의 요구 사항과 일치하도록 사용자 지정 NIC 템플릿의 네트워크 구성을 업데이트합니다. NIC 템플릿을 구성하는 데 사용할 수 있는 속성에 대한 자세한 내용은 네트워크 인터페이스 구성 옵션을 참조하십시오. NIC 템플릿 예제는 사용자 지정 네트워크 인터페이스 예제 를 참조하십시오.
기존 환경 파일을 생성하거나 업데이트하여 사용자 정의 NIC 구성 템플릿을 활성화합니다.
parameter_defaults: ControllerNetworkConfigTemplate: '/home/stack/templates/single_nic_vlans.j2' CephStorageNetworkConfigTemplate: '/home/stack/templates/single_nic_vlans_storage.j2' ComputeNetworkConfigTemplate: '/home/stack/templates/single_nic_vlans.j2'
parameter_defaults: ControllerNetworkConfigTemplate: '/home/stack/templates/single_nic_vlans.j2' CephStorageNetworkConfigTemplate: '/home/stack/templates/single_nic_vlans_storage.j2' ComputeNetworkConfigTemplate: '/home/stack/templates/single_nic_vlans.j2'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 오버클라우드에서 기본 내부 로드 밸런싱을 사용하는 경우 환경 파일에 다음 구성을 추가하여 Redis 및 OVNDB에 대해 예측 가능한 가상 IP를 할당합니다.
parameter_defaults: RedisVirtualFixedIPs: [{'ip_address':'<vip_address>'}] OVNDBsVirtualFixedIPs: [{'ip_address':'<vip_address>'}]parameter_defaults: RedisVirtualFixedIPs: [{'ip_address':'<vip_address>'}] OVNDBsVirtualFixedIPs: [{'ip_address':'<vip_address>'}]Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;vip_address>를 할당 풀 범위 외부에서 IP 주소로 바꿉니다.
-
&
8.2.1.2. 네트워크 인터페이스 구성 옵션 링크 복사링크가 클립보드에 복사되었습니다!
다음 표를 사용하여 네트워크 인터페이스를 구성하는 데 사용 가능한 옵션을 파악합니다.
인터페이스
단일 네트워크 인터페이스를 정의합니다. 네트워크 인터페이스 이름은 실제 인터페이스 이름(eth0,eth 1,enp0s25) 또는 번호가 매겨진 인터페이스 집합(nic1,nic2,nic3)을 사용합니다. 역할 내의 호스트의 네트워크 인터페이스는 eth0 및 eno2 와 같은 이름이 지정된 인터페이스 대신 nic1 및 nic2 와 같은 번호가 지정된 인터페이스를 사용할 때 정확히 같을 필요는 없습니다. 예를 들어 한 호스트에는 인터페이스 em1 및 em2 가 있을 수 있지만 다른 호스트에는 eno1 및 eno2 가 있지만 두 호스트의 NIC를 nic1 및 nic2 로 참조할 수 있습니다.
번호가 지정된 인터페이스의 순서는 이름이 지정된 네트워크 인터페이스 유형의 순서에 해당합니다.
-
eth0,eth1등과 같은ethX인터페이스. 일반적으로 온보드 인터페이스입니다. -
eno0,eno1등과 같은enoX인터페이스. 일반적으로 온보드 인터페이스입니다. -
enX인터페이스는enp3s0,enp3s1, ens3 및ens3등과 같이 숫자별로 정렬됩니다. 일반적으로 추가 기능 인터페이스입니다.
번호가 매겨진 NIC 방식에는 라이브 인터페이스만 포함됩니다(예: 인터페이스에 스위치에 연결된 케이블이 있는 경우). 4개의 인터페이스가 있고 일부 호스트가 6개의 인터페이스가 있는 경우 nic1 을 사용하여 nic4 를 사용하고 각 호스트에 4개의 케이블만 연결합니다.
- type: interface
name: nic2
- type: interface
name: nic2
| 옵션 | Default | 설명 |
|---|---|---|
|
|
인터페이스 이름입니다. 네트워크 인터페이스 | |
|
| False | DHCP를 사용하여 IP 주소를 가져옵니다. |
|
| False | DHCP를 사용하여 v6 IP 주소를 가져옵니다. |
|
| 인터페이스에 할당된 IP 주소 목록입니다. | |
|
| 인터페이스에 할당된 경로 목록입니다. 자세한 내용은 routes의 내용을 참조하십시오. | |
|
| 1500 | 연결의 최대 전송 단위(MTU)입니다. |
|
| False | 인터페이스를 기본 인터페이스로 정의합니다. |
|
| False | 시스템 이름 대신 장치 별칭 구성을 작성합니다. |
|
| 없음 | DHCP 클라이언트에 전달할 인수입니다. |
|
| 없음 | 인터페이스에 사용할 DNS 서버 목록입니다. |
|
|
특정 NIC에서 VXLAN을 사용할 때 처리량을 개선하려면 이 옵션을 |
vlan
VLAN을 정의합니다. parameters 섹션에서 전달된 VLAN ID 및 서브넷을 사용합니다.
예를 들면 다음과 같습니다.
| 옵션 | Default | 설명 |
|---|---|---|
| vlan_id | VLAN ID입니다. | |
| device | VLAN을 연결할 상위 장치입니다. VLAN이 OVS 브리지의 멤버가 아닌 경우 이 매개변수를 사용합니다. 예를 들어 이 매개 변수를 사용하여 VLAN을 본딩된 인터페이스 장치에 연결합니다. | |
| use_dhcp | False | DHCP를 사용하여 IP 주소를 가져옵니다. |
| use_dhcpv6 | False | DHCP를 사용하여 v6 IP 주소를 가져옵니다. |
| addresses | VLAN에 할당된 IP 주소 목록입니다. | |
| routes | VLAN에 할당된 경로 목록입니다. 자세한 내용은 routes의 내용을 참조하십시오. | |
| mtu | 1500 | 연결의 최대 전송 단위(MTU)입니다. |
| 기본 설정 | False | VLAN을 기본 인터페이스로 정의합니다. |
| persist_mapping | False | 시스템 이름 대신 장치 별칭 구성을 작성합니다. |
| dhclient_args | 없음 | DHCP 클라이언트에 전달할 인수입니다. |
| dns_servers | 없음 | VLAN에 사용할 DNS 서버 목록입니다. |
ovs_bond
Open vSwitch에서 두 개 이상의 인터페이스를 결합하는 본딩을 정의합니다. 이는 중복성을 지원하고 대역폭을 늘리는 데 도움이 됩니다.
예를 들면 다음과 같습니다.
| 옵션 | Default | 설명 |
|---|---|---|
| name | 본딩의 이름입니다. | |
| use_dhcp | False | DHCP를 사용하여 IP 주소를 가져옵니다. |
| use_dhcpv6 | False | DHCP를 사용하여 v6 IP 주소를 가져옵니다. |
| addresses | 본딩에 할당된 IP 주소 목록입니다. | |
| routes | 본딩에 할당된 경로 목록입니다. 자세한 내용은 routes의 내용을 참조하십시오. | |
| mtu | 1500 | 연결의 최대 전송 단위(MTU)입니다. |
| 기본 설정 | False | 인터페이스를 기본 인터페이스로 정의합니다. |
| 멤버 | 본딩에서 사용할 인터페이스 오브젝트의 시퀀스입니다. | |
| ovs_options | 본딩을 생성할 때 OVS에 전달할 옵션 세트입니다. | |
| ovs_extra | 본딩의 네트워크 구성 파일에서 OVS_EXTRA 매개변수로 설정할 옵션 세트입니다. | |
| 조각화 | True |
DHCP 서비스에서 제공하는 기본 경로를 사용합니다. |
| persist_mapping | False | 시스템 이름 대신 장치 별칭 구성을 작성합니다. |
| dhclient_args | 없음 | DHCP 클라이언트에 전달할 인수입니다. |
| dns_servers | 없음 | 본딩에 사용할 DNS 서버 목록입니다. |
ovs_bridge
Open vSwitch에서 브릿지를 정의합니다. 이 브릿지는 여러 인터페이스,ovs_bond 및 vlan 오브젝트를 연결합니다.
네트워크 인터페이스 유형 ovs_bridge 는 매개 변수 이름을 사용합니다.
브리지가 여러 개인 경우 bridge_name 의 기본 이름을 수락하는 대신 별도의 브릿지 이름을 사용해야 합니다. 고유한 이름을 사용하지 않으면 수렴 단계에서 두 개의 네트워크 본딩이 동일한 브릿지에 배치됩니다.
외부 tripleo 네트워크에 대한 OVS 브리지를 정의하는 경우 배포 프레임워크가 이러한 값을 각각 외부 브리지 이름과 외부 인터페이스 이름으로 자동으로 대체할 때 bridge_name 및 interface_name 값을 유지합니다.
예를 들면 다음과 같습니다.
OVS 브리지는 Networking 서비스(neutron) 서버에 연결하여 구성 데이터를 가져옵니다. OpenStack 제어 트래픽(일반적으로 컨트롤 플레인 및 내부 API 네트워크)이 OVS 브리지에 배치되면 OVS를 업그레이드할 때마다 neutron 서버에 대한 연결이 손실되거나 관리자 또는 프로세스에서 OVS 브리지가 다시 시작됩니다. 이로 인해 약간의 다운타임이 발생합니다. 이러한 경우 다운타임이 허용되지 않는 경우, OVS 브리지가 아닌 별도의 인터페이스 또는 본딩에 Control 그룹 네트워크를 배치해야 합니다.
- 두 번째 인터페이스의 프로비저닝 인터페이스 및 OVS 브리지의 VLAN에 내부 API 네트워크를 배치하면 최소 설정을 수행할 수 있습니다.
- 본딩을 구현하려면 두 개 이상의 본딩( 네 개의 네트워크 인터페이스)이 필요합니다. Linux 본딩(Linux 브리지)에 제어 그룹을 배치합니다. 스위치에서 PXE 부팅을 위한 단일 인터페이스로 LACP 대체를 지원하지 않는 경우 이 솔루션에는 최소 5개의 NIC가 필요합니다.
| 옵션 | Default | 설명 |
|---|---|---|
| name | 브리지의 이름입니다. | |
| use_dhcp | False | DHCP를 사용하여 IP 주소를 가져옵니다. |
| use_dhcpv6 | False | DHCP를 사용하여 v6 IP 주소를 가져옵니다. |
| addresses | 브리지에 할당된 IP 주소 목록입니다. | |
| routes | 브리지에 할당된 경로 목록입니다. 자세한 내용은 routes의 내용을 참조하십시오. | |
| mtu | 1500 | 연결의 최대 전송 단위(MTU)입니다. |
| 멤버 | 브릿지에서 사용할 일련의 인터페이스, VLAN 및 본딩 오브젝트입니다. | |
| ovs_options | 브리지를 만들 때 OVS에 전달할 옵션 세트입니다. | |
| ovs_extra | 브리지의 네트워크 구성 파일에서 OVS_EXTRA 매개 변수로 설정할 수 있는 옵션 세트입니다. | |
| 조각화 | True |
DHCP 서비스에서 제공하는 기본 경로를 사용합니다. |
| persist_mapping | False | 시스템 이름 대신 장치 별칭 구성을 작성합니다. |
| dhclient_args | 없음 | DHCP 클라이언트에 전달할 인수입니다. |
| dns_servers | 없음 | 브리지에 사용할 DNS 서버 목록입니다. |
linux_bond
두 개 이상의 인터페이스를 결합하는 Linux 본딩을 정의합니다. 이는 중복성을 지원하고 대역폭을 늘리는 데 도움이 됩니다. bonding_options 매개변수에 커널 기반 본딩 옵션을 포함해야 합니다.
예를 들면 다음과 같습니다.
| 옵션 | Default | 설명 |
|---|---|---|
| name | 본딩의 이름입니다. | |
| use_dhcp | False | DHCP를 사용하여 IP 주소를 가져옵니다. |
| use_dhcpv6 | False | DHCP를 사용하여 v6 IP 주소를 가져옵니다. |
| addresses | 본딩에 할당된 IP 주소 목록입니다. | |
| routes | 본딩에 할당된 경로 목록입니다. routes을 참조하십시오. | |
| mtu | 1500 | 연결의 최대 전송 단위(MTU)입니다. |
| 기본 설정 | False | 인터페이스를 기본 인터페이스로 정의합니다. |
| 멤버 | 본딩에서 사용할 인터페이스 오브젝트의 시퀀스입니다. | |
| bonding_options | 본딩을 만들 때 일련의 옵션. | |
| 조각화 | True |
DHCP 서비스에서 제공하는 기본 경로를 사용합니다. |
| persist_mapping | False | 시스템 이름 대신 장치 별칭 구성을 작성합니다. |
| dhclient_args | 없음 | DHCP 클라이언트에 전달할 인수입니다. |
| dns_servers | 없음 | 본딩에 사용할 DNS 서버 목록입니다. |
linux_bridge
여러 인터페이스,linux_bond 및 vlan 오브젝트를 연결하는 Linux 브리지를 정의합니다. 외부 브리지는 매개변수에 두 개의 특수 값도 사용합니다.
-
bridge_name- 외부 브리지 이름으로 교체됩니다. -
interface_name- 외부 인터페이스로 교체됩니다.
예를 들면 다음과 같습니다.
| 옵션 | Default | 설명 |
|---|---|---|
| name | 브리지의 이름입니다. | |
| use_dhcp | False | DHCP를 사용하여 IP 주소를 가져옵니다. |
| use_dhcpv6 | False | DHCP를 사용하여 v6 IP 주소를 가져옵니다. |
| addresses | 브리지에 할당된 IP 주소 목록입니다. | |
| routes | 브리지에 할당된 경로 목록입니다. 자세한 내용은 routes의 내용을 참조하십시오. | |
| mtu | 1500 | 연결의 최대 전송 단위(MTU)입니다. |
| 멤버 | 브릿지에서 사용할 일련의 인터페이스, VLAN 및 본딩 오브젝트입니다. | |
| 조각화 | True |
DHCP 서비스에서 제공하는 기본 경로를 사용합니다. |
| persist_mapping | False | 시스템 이름 대신 장치 별칭 구성을 작성합니다. |
| dhclient_args | 없음 | DHCP 클라이언트에 전달할 인수입니다. |
| dns_servers | 없음 | 브리지에 사용할 DNS 서버 목록입니다. |
routes
네트워크 인터페이스, VLAN, 브리지 또는 본딩에 적용할 경로 목록을 정의합니다.
예를 들면 다음과 같습니다.
- type: linux_bridge
name: bridge_name
...
routes: {{ [ctlplane_host_routes] | flatten | unique }}
- type: linux_bridge
name: bridge_name
...
routes: {{ [ctlplane_host_routes] | flatten | unique }}
| 옵션 | Default | 설명 |
|---|---|---|
| ip_netmask | 없음 | 대상 네트워크의 IP 및 넷마스크. |
| default | False |
이 경로를 기본 경로로 설정합니다. |
| next_hop | 없음 | 대상 네트워크에 도달하는 데 사용되는 라우터의 IP 주소입니다. |
8.2.1.3. 사용자 정의 네트워크 인터페이스의 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제에서는 네트워크 인터페이스 템플릿을 사용자 지정하는 방법을 보여줍니다.
별도의 제어 그룹 및 OVS 브리지 예
다음 예제 컨트롤러 노드 NIC 템플릿은 OVS 브리지와는 별도로 제어 그룹을 구성합니다. 템플릿은 5개의 네트워크 인터페이스를 사용하고 태그된 여러 VLAN 장치를 번호가 지정된 인터페이스에 할당합니다. 템플릿은 nic4 및 nic5 에 OVS 브리지를 생성합니다.
여러 NIC 예
다음 예제에서는 두 번째 NIC를 사용하여 DHCP 주소가 있는 인프라 네트워크와 본딩의 다른 NIC에 연결합니다.
8.2.1.4. 사전 프로비저닝된 노드의 NIC 매핑 사용자 정의 링크 복사링크가 클립보드에 복사되었습니다!
사전 프로비저닝된 노드를 사용하는 경우 다음 방법 중 하나를 사용하여 특정 노드에 대해 os-net-config 매핑을 지정할 수 있습니다.
-
환경 파일에서
NetConfigDataLookupheat 매개변수를 구성하고--network-config없이openstack overcloud node provision명령을 실행합니다. -
노드 정의 파일
overcloud-baremetal-deploy.yaml에net_config_data_lookup속성을 구성하고--network-config를 사용하여openstack overcloud node provision명령을 실행합니다.
사전 프로비저닝된 노드를 사용하지 않는 경우 노드 정의 파일에서 NIC 매핑을 구성해야 합니다. net_config_data_lookup 속성 구성에 대한 자세한 내용은 베어 메탈 노드 프로비저닝 특성을 참조하십시오.
각 노드의 물리적 인터페이스에 별칭을 할당하여 nic1 또는 nic2 와 같은 특정 별칭에 매핑되는 물리적 NIC를 미리 확인하고 MAC 주소를 지정된 별칭에 매핑할 수 있습니다. MAC 주소 또는 DMI 키워드를 사용하여 특정 노드를 매핑하거나 DMI 키워드를 사용하여 노드 그룹을 매핑할 수 있습니다. 다음 예제에서는 물리적 인터페이스에 대한 별칭을 사용하여 세 개의 노드와 두 개의 노드 그룹을 구성합니다. 결과 구성은 os-net-config 에 의해 적용됩니다. 각 노드에서 /etc/os-net-config/mapping.yaml 파일의 interface_mapping 섹션에서 적용된 구성을 확인할 수 있습니다.
예 1: os-net-config-mappings.yaml에서 NetConfigDataLookup 매개변수 구성
- 1
node1을 지정된 MAC 주소에 매핑하고nic1을 이 노드의 MAC 주소 별칭으로 할당합니다.- 2
- 시스템 UUID "A8C85861-1B16-4803-8689-AFC62984F8F6"를 사용하여
node3을 노드에 매핑하고 이 노드에서em3인터페이스의 별칭으로nic1을 할당합니다. - 3
dmiString매개변수는 유효한 string 키워드로 설정해야 합니다. 유효한 문자열 키워드 목록은 DMIDECODE(8) 도움말 페이지를 참조하십시오.- 4
nodegroup1의 모든 노드를 "PowerEdge R630"이라는 제품 이름으로 노드에 매핑하고nic1,nic2및nic3을 이러한 노드에서 이름이 지정된 인터페이스의 별칭으로 할당합니다.
일반적으로 os-net-config 는 이미 UP 상태로 연결된 인터페이스만 등록합니다. 그러나 사용자 지정 매핑 파일과 함께 인터페이스를 하드 코딩하는 경우 DOWN 상태에 있는 경우에도 인터페이스가 등록됩니다.
예 2: overcloud-baremetal-deploy.yaml 에서 net_config_data_lookup 속성 구성 - 특정 노드
예 3: overcloud-baremetal-deploy.yaml 에서 net_config_data_lookup 속성 구성 - 역할의 모든 노드
8.2.2. 구성 가능 네트워크 링크 복사링크가 클립보드에 복사되었습니다!
다른 네트워크에서 특정 네트워크 트래픽을 호스팅하려는 경우 사용자 지정 구성 가능 네트워크를 생성할 수 있습니다. director는 네트워크 분리가 활성화된 기본 네트워크 토폴로지를 제공합니다. 이 구성은 /usr/share/openstack-tripleo-heat-templates/network-data-samples/default-network-isolation.yaml 에서 찾을 수 있습니다.
오버클라우드는 기본적으로 다음 사전 정의된 네트워크 세그먼트 세트를 사용합니다.
- 내부 API
- 스토리지
- 스토리지 관리
- 테넌트
- 외부
구성 가능 네트워크를 사용하여 다양한 서비스의 네트워크를 추가할 수 있습니다. 예를 들어 NFS 트래픽 전용 네트워크가 있는 경우 여러 역할에 제공할 수 있습니다.
director는 배포 및 업데이트 단계에서 사용자 지정 네트워크 생성을 지원합니다. 베어 메탈 노드, 시스템 관리 또는 다양한 역할에 대해 별도의 네트워크를 생성하는 데 이러한 추가 네트워크를 사용할 수 있습니다. 또한 트래픽이 네트워크 간에 라우팅되는 분할 배포를 위해 여러 네트워크 세트를 생성할 수도 있습니다.
8.2.2.1. 구성 가능 네트워크 추가 링크 복사링크가 클립보드에 복사되었습니다!
구성 가능 네트워크를 사용하여 다양한 서비스의 네트워크를 추가합니다. 예를 들어 스토리지 백업 트래픽 전용 네트워크가 있는 경우 네트워크를 여러 역할에 제공할 수 있습니다.
프로세스
사용 가능한 샘플 네트워크 구성 파일을 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/openstack-tripleo-heat-templates/network-data-samples에서 환경 파일 디렉터리에 필요한 샘플 네트워크 구성 파일을 복사합니다.cp /usr/share/openstack-tripleo-heat-templates/network-data-samples/default-network-isolation.yaml /home/stack/templates/network_data.yaml
$ cp /usr/share/openstack-tripleo-heat-templates/network-data-samples/default-network-isolation.yaml /home/stack/templates/network_data.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow network_data.yaml구성 파일을 편집하고 새 네트워크에 대한 섹션을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 환경에 대한 기타 네트워크 속성을 구성합니다. 네트워크 특성을 구성하는 데 사용할 수 있는 속성에 대한 자세한 내용은 네트워크 정의 파일 구성 옵션을 참조하십시오.
Red Hat Ceph Storage를 배포하고 NFS를 사용하는 경우 격리된 스토리지NFS 네트워크를 포함해야 합니다. 다음 예제가 이러한 파일에 있습니다.
-
/usr/share/openstack-tripleo-heat-templates/network-data-samples/ganesha.yaml /usr/share/openstack-tripleo-heat-templates/network-data-samples/ganesha-ipv6.yamlVLAN ID 및 서브넷 범위를 포함하여 이러한 네트워크 설정을 사용자 지정합니다. IPv4 또는 IPv6가 필요하지 않은 경우 해당 서브넷을 생략할 수 있습니다.
예제:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 이 네트워크는 Compute 서비스(nova) VM과 같은 소비자를 위해 공유되는 오버클라우드 배포 및 Networking 서비스(neutron) 공급자 네트워크에서 공유합니다.
- 오버클라우드 Networking service StorageNFS 공급자 네트워크의 서브넷 정의에 대해 할당 풀에 사용하기 위해 이 예제에 지정된 할당 풀 외부에 지정할 수 있는 범위를 그대로 둡니다.
-
가상 IP가 포함된 추가 구성 가능 네트워크를 추가하고 일부 API 서비스를 이 네트워크에 매핑하려면
CloudName{network.name}정의를 사용하여 API 끝점의 DNS 이름을 설정합니다.CloudName{{network.name}}CloudName{{network.name}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제:
parameter_defaults: ... CloudNameOcProvisioning: baremetal-vip.example.com
parameter_defaults: ... CloudNameOcProvisioning: baremetal-vip.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/openstack-tripleo-heat-templates/network-data-samples에서 환경 파일 디렉터리에 필요한 샘플 네트워크 VIP 정의 템플릿을 복사합니다. 다음 예제에서는vip-data-default-network-isolation.yaml을vip_data.yaml이라는 로컬 환경 파일에 복사합니다.cp /usr/share/openstack-tripleo-heat-templates/network-data-samples/vip-data-default-network-isolation.yaml /home/stack/templates/vip_data.yaml
$ cp /usr/share/openstack-tripleo-heat-templates/network-data-samples/vip-data-default-network-isolation.yaml /home/stack/templates/vip_data.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow vip_data.yaml구성 파일을 편집합니다. 가상 IP 데이터는 가상 IP 주소 정의 목록으로, 각각 IP 주소가 할당된 네트워크의 이름을 포함합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;vip_address>를 필수 가상 IP 주소로 바꿉니다.
VIP 정의 파일에서 네트워크 VIP 속성을 구성하는 데 사용할 수 있는 속성에 대한 자세한 내용은 Network VIP 특성을 참조하십시오.
-
&
샘플 네트워크 구성 템플릿을 복사합니다. Jinja2 템플릿은 NIC 구성 템플릿을 정의하는 데 사용됩니다. 예제 중 하나가 요구 사항과 일치하는 경우
/usr/share/ansible/roles/tripleo_network_config/templates/디렉터리에 제공된 예제를 찾습니다. 예제가 요구 사항과 일치하지 않으면 샘플 구성 파일을 복사하여 필요에 따라 수정합니다.cp /usr/share/ansible/roles/tripleo_network_config/templates/single_nic_vlans/single_nic_vlans.j2 /home/stack/templates/
$ cp /usr/share/ansible/roles/tripleo_network_config/templates/single_nic_vlans/single_nic_vlans.j2 /home/stack/templates/Copy to Clipboard Copied! Toggle word wrap Toggle overflow single_nic_vlans.j2구성 파일을 편집합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow network_config템플릿을overcloud-baremetal-deploy.yaml구성 파일에 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Shared File Systems 서비스(manila)와 CephFS-NFS 백엔드를 사용하기 위한 StorageNFS 네트워크를 프로비저닝하는 경우 StorageNFS 네트워크와 VIP가 컨트롤러 노드에 연결되어 있기 때문에
network_config섹션 대신Controller또는ControllerStorageNfs섹션을 편집합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 오버클라우드 네트워크를 프로비저닝합니다. 이 작업은 오버클라우드를 배포할 때 환경 파일을 사용할 출력 파일을 생성합니다.
openstack overcloud network provision \ --output <deployment_file> /home/stack/templates/<networks_definition_file>.yaml
(undercloud)$ openstack overcloud network provision \ --output <deployment_file> /home/stack/templates/<networks_definition_file>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
<
networks_definition_file>을 네트워크 정의 파일의 이름(예:network_data.yaml또는 StorageNFS 네트워크 파일 이름(예:network_data_ganesha.yaml)으로 바꿉니다. -
<
deployment_file>을 배포 명령에 포함할 heat 환경 파일의 이름으로 교체합니다(예:/home/stack/templates/overcloud-networks-deployed.yaml).
-
<
네트워크 VIP를 프로비저닝하고
vip-deployed-environment.yaml파일을 생성합니다. 오버클라우드를 배포할 때 이 파일을 사용합니다.openstack overcloud network vip provision --stack <stack> --output <deployment_file> /home/stack/templates/vip_data.yaml
(overcloud)$ openstack overcloud network vip provision --stack <stack> --output <deployment_file> /home/stack/templates/vip_data.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;stack>을 네트워크 VIP가 프로비저닝되는 스택 이름으로 바꿉니다. 지정하지 않으면 기본값은 overcloud입니다. -
<
deployment_file>을 배포 명령에 포함할 heat 환경 파일의 이름으로 교체합니다(예:/home/stack/templates/overcloud-vip-deployed.yaml).
-
&
8.2.2.2. 역할에 구성 가능 네트워크 포함 링크 복사링크가 클립보드에 복사되었습니다!
사용자 환경에 정의된 오버클라우드 역할에 구성 가능 네트워크를 할당할 수 있습니다. 예를 들어 Ceph Storage 노드가 있는 사용자 지정 StorageBackup 네트워크를 포함하거나 Shared File Systems 서비스(manila)에서 CephFS- NFS를 사용하기 위한 사용자 지정 스토리지 NFS 네트워크를 포함할 수 있습니다. director에 기본적으로 포함된 ControllerStorageNfs 역할을 사용한 경우 StorageNFS 네트워크가 이미 추가됩니다.
절차
사용자 지정
roles_data.yaml파일이 없는 경우 기본값을 홈 디렉터리에 복사합니다.cp /usr/share/openstack-tripleo-heat-templates/roles_data.yaml /home/stack/templates/roles_data.yaml
$ cp /usr/share/openstack-tripleo-heat-templates/roles_data.yaml /home/stack/templates/roles_data.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
사용자 지정
roles_data.yaml파일을 편집합니다. 네트워크를 추가할 역할의 네트워크 목록에 네트워크 이름을 포함합니다.
이 예제에서는
StorageBackup네트워크를 Ceph Storage 역할에 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서는
StorageNFS네트워크를 컨트롤러 노드에 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 사용자 지정 네트워크를 각 역할에 추가한 후 파일을 저장합니다.
openstack overcloud deploy 명령을 실행할 때 -r 옵션을 사용하여 사용자 지정 roles_data.yaml 파일을 포함합니다. r 옵션이 없으면 배포 명령은 기본 역할 집합을 해당 할당된 네트워크와 함께 사용합니다.
8.2.2.3. 구성 가능 네트워크에 OpenStack 서비스 할당 링크 복사링크가 클립보드에 복사되었습니다!
각 OpenStack 서비스는 리소스 레지스트리의 기본 네트워크 유형에 할당됩니다. 이러한 서비스는 네트워크 유형의 할당된 네트워크 내의 IP 주소에 바인딩됩니다. OpenStack 서비스는 이러한 네트워크로 나뉘어져 있지만 실제 물리적 네트워크의 수는 네트워크 환경 파일에 정의된 대로 다를 수 있습니다. 환경 파일에서 새 네트워크 맵을 정의하여 OpenStack 서비스를 다른 네트워크 유형에 다시 할당할 수 있습니다(예: /home/stack/templates/service-reassignments.yaml ). ServiceNetMap 매개변수는 각 서비스에 사용할 네트워크 유형을 결정합니다.
예를 들어 강조 표시된 섹션을 수정하여 스토리지 관리 네트워크 서비스를 스토리지 백업 네트워크에 다시 할당할 수 있습니다.
parameter_defaults:
ServiceNetMap:
SwiftStorageNetwork: storage_backup
CephClusterNetwork: storage_backup
parameter_defaults:
ServiceNetMap:
SwiftStorageNetwork: storage_backup
CephClusterNetwork: storage_backup
이러한 매개 변수를 storage_backup 으로 변경하면 이러한 서비스가 스토리지 관리 네트워크 대신 스토리지 백업 네트워크에 배치됩니다. 즉, 스토리지 관리 네트워크가 아닌 스토리지 백업 네트워크에 대해서만 parameter_defaults 세트를 정의해야 합니다.
director는 사용자 지정 ServiceNetMap 매개변수 정의를 ServiceNetMapDefaults 에서 가져오는 사전 정의된 기본값 목록에 병합하고 기본값을 재정의합니다. director는 사용자 지정을 포함하여 다양한 서비스에 대한 네트워크 할당을 구성하는 데 사용되는 ServiceNetMap 에 전체 목록을 반환합니다. 예를 들어 GaneshaNetwork 는 CephFS-NFS의 NFS 게이트웨이의 기본 서비스 네트워크입니다. 이 네트워크의 기본값은 storage_nfs 로 대체되는 동안 외부 또는 ctlplane 네트워크로 대체됩니다. 기본 분리된 StorageNFS 네트워크 대신 다른 네트워크를 사용하는 경우 ServiceNetMap 매개변수 정의를 사용하여 기본 네트워크를 업데이트해야 합니다.
예제:
parameter_defaults:
ServiceNetMap:
GaneshaNetwork: <manila_nfs_network>
parameter_defaults:
ServiceNetMap:
GaneshaNetwork: <manila_nfs_network>
-
&
lt;manila_nfs_network>를 사용자 지정 네트워크의 이름으로 바꿉니다.
서비스 매핑은 Pacemaker를 사용하는 노드의 network_data.yaml 파일에서 vip: true 를 사용하는 네트워크에 적용됩니다. 오버클라우드 로드 밸런서는 VIP에서 특정 서비스 엔드포인트로 트래픽을 리디렉션합니다.
/usr/share/openstack-tripleo-heat-templates/network/service_net_map.j2.yaml 파일에서 ServiceNetMapDefaults 매개변수에서 전체 기본 서비스 목록을 찾을 수 있습니다.
8.2.2.4. 사용자 정의 구성 가능 네트워크 활성화 링크 복사링크가 클립보드에 복사되었습니다!
기본 NIC 템플릿 중 하나를 사용하여 사용자 지정 구성 가능 네트워크를 활성화합니다. 이 예제에서는 VLAN 템플릿과 함께 Single NIC를 사용합니다(custom_single_nic_vlans).
프로세스
stackrc언더클라우드 인증 정보 파일을 소싱합니다.source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오버클라우드 네트워크를 프로비저닝합니다.
openstack overcloud network provision \ --output overcloud-networks-deployed.yaml \ custom_network_data.yaml
$ openstack overcloud network provision \ --output overcloud-networks-deployed.yaml \ custom_network_data.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 네트워크 VIP를 프로비저닝합니다.
openstack overcloud network vip provision \ --stack overcloud \ --output overcloud-networks-vips-deployed.yaml \ custom_vip_data.yaml$ openstack overcloud network vip provision \ --stack overcloud \ --output overcloud-networks-vips-deployed.yaml \ custom_vip_data.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오버클라우드 노드를 프로비저닝합니다.
openstack overcloud node provision \ --stack overcloud \ --output overcloud-baremetal-deployed.yaml \ overcloud-baremetal-deploy.yaml$ openstack overcloud node provision \ --stack overcloud \ --output overcloud-baremetal-deployed.yaml \ overcloud-baremetal-deploy.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 순서로 구성 파일과 템플릿을 지정하여
openstack overcloud deploy명령을 구성합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이 예제 명령은 오버클라우드의 노드에 추가 사용자 지정 네트워크를 포함하여 구성 가능 네트워크를 배포합니다.
8.2.2.5. 기본 네트워크 이름 변경 링크 복사링크가 클립보드에 복사되었습니다!
network_data.yaml 파일을 사용하여 기본 네트워크의 사용자가 볼 수 있는 이름을 수정할 수 있습니다.
- InternalApi
- 외부
- 스토리지
- StorageMgmt
- 테넌트
이러한 이름을 변경하려면 name 필드를 수정하지 마십시오. 대신 name_lower 필드를 네트워크의 새 이름으로 변경하고 ServiceNetMap을 새 이름으로 업데이트합니다.
절차
network_data.yaml파일에서 이름을 변경하려는 각 네트워크의name_lower매개변수에 새 이름을 입력합니다.- name: InternalApi name_lower: MyCustomInternalApi
- name: InternalApi name_lower: MyCustomInternalApiCopy to Clipboard Copied! Toggle word wrap Toggle overflow service_net_map_replace매개변수에name_lower매개변수의 기본값을 포함합니다.- name: InternalApi name_lower: MyCustomInternalApi service_net_map_replace: internal_api
- name: InternalApi name_lower: MyCustomInternalApi service_net_map_replace: internal_apiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.3. 추가 오버클라우드 네트워크 설정 링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 8.2.1절. “사용자 정의 네트워크 인터페이스 템플릿 정의” 에 설명된 개념과 절차를 설명하고 오버클라우드 네트워크의 일부를 구성하는 데 도움이 되는 몇 가지 추가 정보를 제공합니다.
8.2.3.1. 경로 및 기본 경로 구성 링크 복사링크가 클립보드에 복사되었습니다!
두 가지 방법 중 하나로 호스트의 기본 경로를 설정할 수 있습니다. 인터페이스에서 DHCP를 사용하고 DHCP 서버가 게이트웨이 주소를 제공하는 경우 시스템은 해당 게이트웨이의 기본 경로를 사용합니다. 그렇지 않으면 고정 IP를 사용하여 인터페이스에 기본 경로를 설정할 수 있습니다.
Linux 커널은 여러 기본 게이트웨이를 지원하지만 가장 낮은 메트릭이 있는 게이트웨이만 사용합니다. DHCP 인터페이스가 여러 개인 경우 예기치 않은 기본 게이트웨이가 발생할 수 있습니다. 이 경우 기본 경로를 사용하는 인터페이스 이외의 인터페이스에 defroute: false 를 설정하는 것이 좋습니다.
예를 들어 DHCP 인터페이스(nic3)를 기본 경로가 될 수 있습니다. 다음 YAML 스니펫을 사용하여 다른 DHCP 인터페이스(nic2)에서 기본 경로를 비활성화합니다.
defroute 매개변수는 DHCP를 통해 얻은 경로에만 적용됩니다.
정적 IP를 사용하여 인터페이스에 정적 경로를 설정하려면 서브넷의 경로를 지정합니다. 예를 들어 내부 API 네트워크의 172.17.0.1에서 게이트웨이를 통해 10.1.2.0/24 서브넷의 경로를 설정할 수 있습니다.
8.2.3.2. 정책 기반 라우팅 구성 링크 복사링크가 클립보드에 복사되었습니다!
컨트롤러 노드의 다른 네트워크에서 무제한 액세스를 구성하려면 정책 기반 라우팅을 구성합니다. 정책 기반 라우팅에서는 여러 인터페이스가 있는 호스트에서 소스 주소에 따라 특정 인터페이스를 통해 트래픽을 보낼 수 있는 라우팅 테이블을 사용합니다. 대상이 동일한 경우에도 다른 소스에서 다른 네트워크로 들어오는 패킷을 라우팅할 수 있습니다.
예를 들어 기본 경로가 외부 네트워크에 있는 경우에도 패킷의 소스 주소에 따라 내부 API 네트워크로 트래픽을 보내도록 경로를 구성할 수 있습니다. 각 인터페이스에 대한 특정 경로 규칙을 정의할 수도 있습니다.
Red Hat OpenStack Platform은 os-net-config 툴을 사용하여 오버클라우드 노드의 네트워크 속성을 구성합니다. os-net-config 툴은 컨트롤러 노드에서 다음 네트워크 라우팅을 관리합니다.
-
/etc/iproute2/rt_tables파일의 라우팅 테이블 -
/etc/sysconfig/network-scripts/rule-{ifname}파일의 IPv4 규칙 -
/etc/sysconfig/network-scripts/rule6-{ifname}파일의 IPv6 규칙 -
/etc/sysconfig/network-scripts/route-{ifname}의 라우팅 테이블 특정 경로
사전 요구 사항
- 언더클라우드를 성공적으로 설치했습니다. 자세한 내용은 director 가이드를 사용하여 Red Hat OpenStack Platform 설치 및 관리에서 언더클라우드에 director 설치를 참조하십시오.
프로세스
/home/stack/templates/custom-nics디렉터리에서 사용자 정의 NIC 템플릿에인터페이스항목을 생성하고, 인터페이스 경로를 정의하며, 배포와 관련된 규칙을 정의합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 배포와 관련된 기타 환경 파일과 함께 배포 명령에 사용자 지정 NIC 구성 및 네트워크 환경 파일을 포함합니다.
openstack overcloud deploy --templates \ -e /home/stack/templates/<custom-nic-template>
$ openstack overcloud deploy --templates \ -e /home/stack/templates/<custom-nic-template> -e <OTHER_ENVIRONMENT_FILES>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
컨트롤러 노드에서 다음 명령을 입력하여 라우팅 구성이 올바르게 작동하는지 확인합니다.
cat /etc/iproute2/rt_tables $ ip route $ ip rule
$ cat /etc/iproute2/rt_tables $ ip route $ ip ruleCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.3.3. 점보 프레임 구성 링크 복사링크가 클립보드에 복사되었습니다!
최대 전송 단위(MTU) 설정은 단일 이더넷 프레임으로 전송되는 최대 데이터 양을 결정합니다. 각 프레임이 헤더 형태로 데이터를 추가하므로 더 큰 값을 사용하면 오버헤드가 줄어듭니다. 기본값은 1500이며 더 높은 값을 사용하려면 점보 프레임을 지원하기 위해 스위치 포트를 구성해야 합니다. 대부분의 스위치는 9000개 이상의 MTU를 지원하지만 많은 스위치는 기본적으로 1500에 대해 구성됩니다.
VLAN의 MTU는 실제 인터페이스의 MTU를 초과할 수 없습니다. 본딩 또는 인터페이스에 MTU 값을 포함해야 합니다.
스토리지, 스토리지 관리, 내부 API 및 테넌트 네트워크는 모두 점보 프레임의 이점을 누릴 수 있습니다.
jinja2 템플릿 또는 network_data.yaml 파일에서 mtu 값을 변경할 수 있습니다. network_data.yaml 파일에서 값을 설정하면 배포 중에 렌더링됩니다.
라우터는 일반적으로 계층 3 경계 간에 점보 프레임을 전달할 수 없습니다. 연결 문제를 방지하려면 프로비저닝 인터페이스, 외부 인터페이스 및 유동 IP 인터페이스의 기본 MTU를 변경하지 마십시오.
8.2.3.4. 트렁크된 인터페이스에서 기본 VLAN 구성 링크 복사링크가 클립보드에 복사되었습니다!
트렁크된 인터페이스 또는 본딩에 기본 VLAN에 네트워크가 있는 경우 IP 주소가 브리지에 직접 할당되고 VLAN 인터페이스가 없습니다.
다음 예제에서는 외부 네트워크가 기본 VLAN에 있는 본딩된 인터페이스를 구성합니다.
address 또는 route 문을 브리지로 이동할 때 브리지에서 해당 VLAN 인터페이스를 제거합니다. 적용 가능한 모든 역할을 변경합니다. 외부 네트워크는 컨트롤러에만 있으므로 컨트롤러 템플릿만 변경해야 합니다. 스토리지 네트워크는 모든 역할에 연결되므로 스토리지 네트워크가 기본 VLAN에 있는 경우 모든 역할에 수정이 필요합니다.
8.2.3.5. netfilter가 추적하는 최대 연결 수를 늘리기 링크 복사링크가 클립보드에 복사되었습니다!
RHOSP(Red Hat OpenStack Platform) 네트워킹 서비스(neutron)는 netfilter 연결 추적을 사용하여 상태 저장 방화벽을 빌드하고 가상 네트워크에서 NAT(네트워크 주소 변환)를 제공합니다. 커널 공간이 최대 연결 제한에 도달하고 nf_conntrack: table full, dropping packet과 같은 오류가 발생할 수 있는 몇 가지 상황이 있습니다. 연결 추적(conntrack)의 제한을 늘리고 이러한 유형의 오류를 방지할 수 있습니다. RHOSP 배포에서 하나 이상의 역할 또는 모든 노드에 대해 conntrack 제한을 늘릴 수 있습니다.
사전 요구 사항
- RHOSP 언더클라우드를 성공적으로 설치합니다.
절차
-
언더클라우드 호스트에
stack사용자로 로그인합니다. 언더클라우드 인증 정보 파일을 가져옵니다.
source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 지정 YAML 환경 파일을 생성합니다.
예제
vi /home/stack/templates/custom-environment.yaml
$ vi /home/stack/templates/custom-environment.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 환경 파일에는 키워드
parameter_defaults및ExtraSysctlSettings가 포함되어야 합니다. netfilter가 변수net.nf_conntrack_max에서 추적할 수 있는 최대 연결 수에 대한 새 값을 입력합니다.예제
이 예에서는 RHOSP 배포의 모든 호스트에 conntrack 제한을 설정할 수 있습니다.
parameter_defaults: ExtraSysctlSettings: net.nf_conntrack_max: value: 500000parameter_defaults: ExtraSysctlSettings: net.nf_conntrack_max: value: 500000Copy to Clipboard Copied! Toggle word wrap Toggle overflow <
;role>Parameter매개변수를 사용하여 특정 역할에 대한 conntrack 제한을 설정합니다.parameter_defaults: <role>Parameters: ExtraSysctlSettings: net.nf_conntrack_max: value: <simultaneous_connections>parameter_defaults: <role>Parameters: ExtraSysctlSettings: net.nf_conntrack_max: value: <simultaneous_connections>Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;role>을 역할 이름으로 바꿉니다.예를 들어
ControllerParameters를 사용하여 Controller 역할의 conntrack 제한을 설정하거나ComputeParameters를 사용하여 Compute 역할의 conntrack 제한을 설정합니다.&
lt;simultaneous_connections>를 허용하려는 동시 연결 수로 바꿉니다.예제
이 예에서는 RHOSP 배포에서 Controller 역할에 대해서만 conntrack 제한을 설정할 수 있습니다.
parameter_defaults: ControllerParameters: ExtraSysctlSettings: net.nf_conntrack_max: value: 500000parameter_defaults: ControllerParameters: ExtraSysctlSettings: net.nf_conntrack_max: value: 500000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고net.nf_conntrack_max의 기본값은500000연결입니다. 최대값은4294967295입니다.
배포 명령을 실행하고 코어 heat 템플릿, 환경 파일 및 이 새 사용자 지정 환경 파일을 포함합니다.
중요후속 환경 파일에 정의된 매개변수와 리소스가 우선하므로 환경 파일의 순서가 중요합니다.
예제
openstack overcloud deploy --templates \ -e /home/stack/templates/custom-environment.yaml
$ openstack overcloud deploy --templates \ -e /home/stack/templates/custom-environment.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.4. 네트워크 인터페이스 본딩 링크 복사링크가 클립보드에 복사되었습니다!
사용자 지정 네트워크 구성에서 다양한 본딩 옵션을 사용할 수 있습니다.
8.2.4.1. 오버클라우드 노드에 대한 네트워크 인터페이스 본딩 링크 복사링크가 클립보드에 복사되었습니다!
여러 물리적 NIC를 함께 번들하여 본딩이라는 단일 논리 채널을 구성할 수 있습니다. 고가용성 시스템에 중복성을 제공하거나 처리량을 늘리도록 본딩을 구성할 수 있습니다.
Red Hat OpenStack Platform은 OVS(Open vSwitch) 커널 본딩, OVS-DPDK 본딩 및 Linux 커널 본딩을 지원합니다.
| 본딩 유형 | 유형 값 | 허용되는 브릿지 유형 | 허용된 멤버 |
|---|---|---|---|
| OVS 커널 본딩 |
|
|
|
| ovs-DPDK 본딩 |
|
|
|
| Linux 커널 본딩 |
|
|
|
ovs_bridge 와 ovs_user_bridge 를 동일한 노드에 결합하지 마십시오.
8.2.4.2. OVS(Open vSwitch) 본딩 생성 링크 복사링크가 클립보드에 복사되었습니다!
네트워크 인터페이스 템플릿에서 OVS 본딩을 생성합니다. 예를 들어 OVS 사용자 공간 브리지의 일부로 본딩을 생성할 수 있습니다.
이 예에서는 두 개의 DPDK 포트에서 본딩을 생성합니다.
ovs_options 매개변수에는 본딩 옵션이 포함되어 있습니다. BondInterfaceOvsOptions 매개변수를 사용하여 네트워크 환경 파일에서 본딩 옵션을 구성할 수 있습니다.
parameter_defaults: BondInterfaceOvsOptions: "bond_mode=active-backup"
parameter_defaults:
BondInterfaceOvsOptions: "bond_mode=active-backup"
8.2.4.3. OVS(Open vSwitch) 본딩 옵션 링크 복사링크가 클립보드에 복사되었습니다!
NIC 템플릿 파일에서 ovs_options heat 매개변수를 사용하여 다양한 OVS(Open vSwitch) 본딩 옵션을 설정할 수 있습니다. active-backup, balance-tlb, balance-alb 및 balance-slb 모드에는 특정 스위치 구성이 필요하지 않습니다.
bond_mode=balance-slb-
소스 로드 밸런싱(slb)은 소스 MAC 주소 및 출력 VLAN을 기반으로 흐름의 균형을 유지하며 트래픽 패턴이 변경될 때 주기적으로 재조정됩니다.
balance-slb본딩 옵션을 사용하여 본딩을 구성하면 원격 스위치에 구성이 필요하지 않습니다. Networking 서비스(neutron)는 각 소스 MAC 및 VLAN 쌍을 링크에 할당하고 해당 링크를 통해 해당 MAC 및 VLAN에서 모든 패킷을 전송합니다. 소스 MAC 주소 및 VLAN 번호를 기반으로 하는 간단한 해시 알고리즘과 트래픽 패턴이 변경됨에 따라 주기적으로 재조정됩니다.balance-slb모드는 모드 2,balance-slb와 달리 Linux 본딩 드라이버에서 사용하는 모드 2 본딩과 유사하지만 swtich의 특정 구성이 필요하지 않습니다.balance-slb모드를 사용하여 스위치가 LACP를 사용하도록 구성되지 않은 경우에도 부하 분산을 제공할 수 있습니다. bond_mode=active-backup-
active-backup본딩 모드를 사용하여 본딩을 구성하면 네트워킹 서비스는 하나의 NIC를 대기 상태로 유지합니다. 대기 NIC는 활성 연결이 실패하면 네트워크 작업을 재개합니다. 물리적 스위치에는 하나의 MAC 주소만 제공됩니다. 이 모드는 스위치 구성이 필요하지 않으며 링크를 별도의 스위치에 연결할 때 작동합니다. 이 모드에서는 로드 밸런싱을 제공하지 않습니다. lacp=[active | passive | off]-
LCP(Link Aggregation Control Protocol) 동작을 제어합니다. 일부 스위치만 LACP를 지원합니다. 스위치에서 LACP를 지원하지 않는 경우
bond_mode=balance-slb또는bond_mode=active-backup을 사용합니다. other-config:lacp-fallback-ab=true- LACP가 실패하는 경우 active-backup을 본딩 모드로 설정합니다.
other_config:lacp-time=[fast | slow]- LACP 하트비트를 1초(빠름) 또는 30초(낮음)로 설정합니다. 기본값은 느립니다.
other_config:bond-detect-mode=[miimon | carrier]- miimon heartbeats(miimon) 또는 모니터 캐리어(carrier)를 사용하도록 링크 탐지를 설정합니다. 기본값은 carrier입니다.
other_config:bond-miimon-interval=100- miimon을 사용하는 경우 하트비트 간격(밀리초)을 설정합니다.
bond_updelay=1000- Fapping을 방지하려면 링크를 활성화해야 하는 간격(밀리초)을 설정합니다.
other_config:bond-rebalance-interval=10000- 본딩 멤버 간에 흐름이 재조정되는 간격(밀리초)을 설정합니다. 본딩 멤버 간 흐름 재조정을 비활성화하려면 이 값을 0으로 설정합니다.
8.2.4.4. OVS(Open vSwitch) 본딩 모드에서LACP(Link Aggregation Control Protocol) 사용 링크 복사링크가 클립보드에 복사되었습니다!
선택적 LACP(Link Aggregation Control Protocol)와 함께 본딩을 사용할 수 있습니다. LACP는 부하 분산 및 내결함성을 위한 동적 본딩을 생성하는 협상 프로토콜입니다.
다음 표를 사용하여 LACP 옵션과 함께 OVS 커널 및 OVS-DPDK 본딩 인터페이스에 대한 지원 호환성을 파악합니다.
제어 및 스토리지 네트워크에서 Red Hat은 OVS 또는 neutron 에이전트가 업데이트, 핫 수정 및 기타 이벤트를 다시 시작할 때 발생할 수 있는 컨트롤 플레인 중단 가능성이 있기 때문에 VLAN 및 LACP와 Linux 본딩을 사용하는 것이 좋습니다. Linux 본딩/LACP/VLAN 구성은 OVS 중단 가능성 없이 NIC 관리를 제공합니다.
| 목표 | OVS 본딩 모드 | 호환되는 LACP 옵션 | 참고 |
| 고가용성(active-passive) |
|
| |
| 처리량 증가(active-active) |
|
|
|
|
|
|
|
8.2.4.5. Linux 본딩 생성 링크 복사링크가 클립보드에 복사되었습니다!
네트워크 인터페이스 템플릿에서 Linux 본딩을 생성합니다. 예를 들어 다음 두 개의 인터페이스를 결합하는 Linux 본딩을 생성할 수 있습니다.
bonding_options 매개 변수는 Linux 본딩에 대한 특정 본딩 옵션을 설정합니다.
mode-
예에서는
802.3ad또는 LACP 모드인 본딩 모드를 설정합니다. Linux 본딩 모드에 대한 자세한 내용은 Red Hat Enterprise Linux 9 네트워킹 구성 및 관리 가이드의 "결합 모드에 따른 업스트림 스위치 구성"을 참조하십시오. lacp_rate- LACP 패킷이 1초마다 전송되는지 또는 30초마다 전송되는지 여부를 정의합니다.
updelay- 인터페이스를 트래픽에 사용하기 전에 인터페이스를 활성화해야 하는 최소 시간을 정의합니다. 이 최소 구성은 포트 발생 중단을 완화하는 데 도움이 됩니다.
miimon- 드라이버의MIIMON 기능을 사용하여 포트 상태를 모니터링하는 데 사용되는 간격(밀리초)입니다.
다음 추가 예제를 가이드로 사용하여 자체 Linux 본딩을 구성합니다.
하나의 VLAN을 사용하여 Linux 본딩을
active-backup모드로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow OVS 브리지의 Linux 본딩. bond를 하나의 VLAN과 함께
802.3adLACP 모드로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요min_viable_mtu_ctlplane을 설정해야 합니다./usr/share/ansible/roles/tripleo_network_config/templates/2_linux_bonds_vlans.j2를 templates 디렉터리에 복사하고 필요에 따라 수정합니다. 자세한 내용은 Composable 네트워크 를 참조하고 네트워크 구성 템플릿과 관련된 단계를 참조하십시오.
8.2.5. 네트워크 구성 파일의 형식 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
네트워크 구성 yaml 파일의 형식이 RHOSP(Red Hat OpenStack Platform) 17.0에서 변경되었습니다. 네트워크 구성 파일 network_data.yaml 의 구조가 변경되었으며 NIC 템플릿 파일 형식이 yaml 파일 형식에서 Jinja2 ansible 형식인 j2 로 변경되었습니다.
현재 배포의 기존 네트워크 구성 파일을 다음 변환 툴을 사용하여 RHOSP 17+ 형식으로 변환할 수 있습니다.
-
convert_v1_net_data.py -
convert_heat_nic_config_to_ansible_j2.py
기존 NIC 템플릿 파일을 수동으로 변환할 수도 있습니다.
변환해야 하는 파일은 다음과 같습니다.
-
network_data.yaml - 컨트롤러 NIC 템플릿
- 컴퓨팅 NIC 템플릿
- 기타 사용자 지정 네트워크 파일
8.2.5.1. 네트워크 구성 파일의 형식 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
네트워크 구성 yaml 파일의 형식이 RHOSP(Red Hat OpenStack Platform) 17.0에서 변경되었습니다. convert_v1_net_data.py 변환 도구를 사용하여 현재 배포의 기존 네트워크 구성 파일을 RHOSP 17+ 형식으로 변환할 수 있습니다.
프로세스
변환 도구를 다운로드합니다.
-
/usr/share/openstack-tripleo-heat-templates/tools/convert_v1_net_data.py
-
RHOSP 16+ 네트워크 구성 파일을 RHOSP 17+ 형식으로 변환합니다.
python3 convert_v1_net_data.py <network_config>.yaml
$ python3 convert_v1_net_data.py <network_config>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;network_config>를 변환하려는 기존 구성 파일의 이름으로 바꿉니다(예:network_data.yaml).
-
&
8.2.5.2. NIC 템플릿을 Jinja2 Ansible 형식으로 자동 변환 링크 복사링크가 클립보드에 복사되었습니다!
NIC 템플릿 파일 형식은 RHOSP(Red Hat OpenStack Platform) 17.0에서 yaml 파일 형식에서 Jinja2 Ansible 형식인 j2 로 변경되었습니다.
convert_heat_nic_config_to_ansible_j2.py 변환 툴을 사용하여 현재 배포의 기존 NIC 템플릿 파일을 Jinja2 형식으로 변환할 수 있습니다.
기존 NIC 템플릿 파일을 수동으로 변환할 수도 있습니다. 자세한 내용은 NIC 템플릿을 Jinja2 Ansible 형식으로 수동 변환 에서 참조하십시오.
변환해야 하는 파일은 다음과 같습니다.
- 컨트롤러 NIC 템플릿
- 컴퓨팅 NIC 템플릿
- 기타 사용자 지정 네트워크 파일
프로세스
-
stack사용자로 언더클라우드에 로그인합니다. stackrc파일을 소싱합니다.source ~/stackrc
[stack@director ~]$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 변환 툴을 언더클라우드의 현재 디렉터리에 복사합니다.
cp /usr/share/openstack-tripleo-heat-templates/tools/convert_heat_nic_config_to_ansible_j2.py .
$ cp /usr/share/openstack-tripleo-heat-templates/tools/convert_heat_nic_config_to_ansible_j2.py .Copy to Clipboard Copied! Toggle word wrap Toggle overflow 컴퓨팅 및 컨트롤러 NIC 템플릿 파일 및 기타 사용자 지정 네트워크 파일을 Jinja2 Ansible 형식으로 변환합니다.
python3 convert_heat_nic_config_to_ansible_j2.py \ [--stack <overcloud> | --standalone] --networks_file <network_config.yaml> \ <network_template>.yaml
$ python3 convert_heat_nic_config_to_ansible_j2.py \ [--stack <overcloud> | --standalone] --networks_file <network_config.yaml> \ <network_template>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow <overcloud>를 오버클라우드 스택의 이름 또는 UUID로 바꿉니다.--stack을 지정하지 않으면 스택의 기본값은overcloud입니다.참고언더클라우드 노드에서 오케스트레이션 서비스(heat)를 실행해야 하므로 RHOSP 16 배포에서만
--stack옵션을 사용할 수 있습니다. RHOSP 17부터 RHOSP 배포는 컨테이너에서 오케스트레이션 서비스를 실행하는 임시 heat를 사용합니다. 오케스트레이션 서비스를 사용할 수 없거나 스택이 없는 경우--stack대신--standalone옵션을 사용합니다.-
&
lt;network_config.yaml>을 네트워크 배포를 설명하는 구성 파일의 이름으로 바꿉니다(예:network_data.yaml). -
&
lt;network_template>을 변환하려는 네트워크 구성 파일의 이름으로 바꿉니다.
사용자 지정 네트워크 구성 파일을 모두 변환할 때까지 이 명령을 반복합니다.
convert_heat_nic_config_to_ansible_j2.py스크립트는 변환을 위해 전달하는 각yaml파일에 대해.j2파일을 생성합니다.-
생성된 각
.j2파일을 검사하여 구성이 올바르고 환경에 대해 완료되었는지 확인하고 구성을 변환할 수 없는 위치를 강조 표시하는 툴에서 생성한 모든 주석을 수동으로 해결합니다. NIC 구성을 Jinja2 형식으로 수동으로 변환하는 방법에 대한 자세한 내용은 Heat 매개변수를 Ansible 변수 매핑에 참조하십시오. 생성된
.j2파일을 가리키도록network-environment.yaml파일에서*NetworkConfigTemplate매개변수를 구성합니다.parameter_defaults: ControllerNetworkConfigTemplate: '/home/stack/templates/custom-nics/controller.j2' ComputeNetworkConfigTemplate: '/home/stack/templates/custom-nics/compute.j2'
parameter_defaults: ControllerNetworkConfigTemplate: '/home/stack/templates/custom-nics/controller.j2' ComputeNetworkConfigTemplate: '/home/stack/templates/custom-nics/compute.j2'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 네트워크 구성 파일의
network-environment.yaml파일에서resource_registry매핑을 삭제합니다.resource_registry: OS::TripleO::Compute::Net::SoftwareConfig: /home/stack/templates/nic-configs/compute.yaml OS::TripleO::Controller::Net::SoftwareConfig: /home/stack/templates/nic-configs/controller.yaml
resource_registry: OS::TripleO::Compute::Net::SoftwareConfig: /home/stack/templates/nic-configs/compute.yaml OS::TripleO::Controller::Net::SoftwareConfig: /home/stack/templates/nic-configs/controller.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.5.3. NIC 템플릿을 Jinja2 Ansible 형식으로 수동 변환 링크 복사링크가 클립보드에 복사되었습니다!
NIC 템플릿 파일 형식은 RHOSP(Red Hat OpenStack Platform) 17.0에서 yaml 파일 형식에서 Jinja2 Ansible 형식인 j2 로 변경되었습니다.
기존 NIC 템플릿 파일을 수동으로 변환할 수 있습니다.
또한 convert_heat_nic_config_to_ansible_j2.py 변환 툴을 사용하여 현재 배포의 기존 NIC 템플릿 파일을 Jinja2 형식으로 변환할 수도 있습니다. 자세한 내용은 NIC 템플릿 자동 변환을 Jinja2 ansible 형식으로 참조하십시오.
변환해야 하는 파일은 다음과 같습니다.
- 컨트롤러 NIC 템플릿
- 컴퓨팅 NIC 템플릿
- 기타 사용자 지정 네트워크 파일
프로세스
-
Jinja2 템플릿을 생성합니다. 언더클라우드 노드의
/usr/share/ansible/roles/tripleo_network_config/templates/디렉터리에서 예제 템플릿을 복사하여 새 템플릿을 생성할 수 있습니다. heat 내장 함수를 Jinja2 필터로 교체합니다. 예를 들어 다음 필터를 사용하여
min_viable_mtu를 계산합니다.{% set mtu_list = [ctlplane_mtu] %} {% for network in role_networks %} {{ mtu_list.append(lookup('vars', networks_lower[network] ~ '_mtu')) }} {%- endfor %} {% set min_viable_mtu = mtu_list | max %}{% set mtu_list = [ctlplane_mtu] %} {% for network in role_networks %} {{ mtu_list.append(lookup('vars', networks_lower[network] ~ '_mtu')) }} {%- endfor %} {% set min_viable_mtu = mtu_list | max %}Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 변수를 사용하여 배포에 대한 네트워크 속성을 구성합니다. 각 개별 네트워크를 수동으로 구성하거나
role_networks를 반복하여 각 네트워크를 프로그래밍 방식으로 구성할 수 있습니다.각 네트워크를 수동으로 구성하려면 각
get_param함수를 동등한 Ansible 변수로 교체합니다. 예를 들어 현재 배포에서get_param: InternalApiNetworkVlanID를 사용하여vlan_id를 구성하는 경우 템플릿에 다음 구성을 추가합니다.vlan_id: {{ internal_api_vlan_id }}vlan_id: {{ internal_api_vlan_id }}Copy to Clipboard Copied! Toggle word wrap Toggle overflow Expand 표 8.9. heat 매개변수에서 Ansible 변수로의 네트워크 속성 매핑 예 yaml파일 형식Jinja2 ansible 형식, j2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - type: vlan device: nic2 vlan_id: {{ internal_api_vlan_id }} addresses: - ip_netmask: {{ internal_api_ip }}/{{ internal_api_cidr }}- type: vlan device: nic2 vlan_id: {{ internal_api_vlan_id }} addresses: - ip_netmask: {{ internal_api_ip }}/{{ internal_api_cidr }}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 네트워크를 프로그래밍 방식으로 구성하려면
role_networks를 사용하여 역할 이름으로 사용 가능한 네트워크를 검색하는 템플릿에 Jinja2 for-loop 구조를 추가합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
heat 매개변수에서 해당하는 Ansible 변수로의 전체 매핑 목록은 Heat 매개변수에서 Ansible 변수 매핑에 대한 을 참조하십시오.
생성된
.j2파일을 가리키도록network-environment.yaml파일에서*NetworkConfigTemplate매개변수를 구성합니다.parameter_defaults: ControllerNetworkConfigTemplate: '/home/stack/templates/custom-nics/controller.j2' ComputeNetworkConfigTemplate: '/home/stack/templates/custom-nics/compute.j2'
parameter_defaults: ControllerNetworkConfigTemplate: '/home/stack/templates/custom-nics/controller.j2' ComputeNetworkConfigTemplate: '/home/stack/templates/custom-nics/compute.j2'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 네트워크 구성 파일의
network-environment.yaml파일에서resource_registry매핑을 삭제합니다.resource_registry: OS::TripleO::Compute::Net::SoftwareConfig: /home/stack/templates/nic-configs/compute.yaml OS::TripleO::Controller::Net::SoftwareConfig: /home/stack/templates/nic-configs/controller.yaml
resource_registry: OS::TripleO::Compute::Net::SoftwareConfig: /home/stack/templates/nic-configs/compute.yaml OS::TripleO::Controller::Net::SoftwareConfig: /home/stack/templates/nic-configs/controller.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.5.4. Ansible 변수 매핑에 대한 heat 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
NIC 템플릿 파일 형식이 yaml 파일 형식에서 RHOSP(Red Hat OpenStack Platform) 17.x에서 Jinja2 ansible 형식인 j2 로 변경되었습니다.
기존 NIC 템플릿 파일을 Jinja2 ansible 형식으로 수동으로 변환하려면 heat 매개변수를 Ansible 변수에 매핑하여 배포에 사전 프로비저닝된 노드의 네트워크 속성을 구성할 수 있습니다. --network-config 선택적 인수를 지정하지 않고 openstack overcloud node provision 을 실행하는 경우 heat 매개변수를 Ansible 변수에 매핑할 수도 있습니다.
예를 들어 현재 배포에서 get_param: InternalApiNetworkVlanID 를 사용하여 vlan_id 를 구성하는 경우 새 Jinja2 템플릿에서 다음 구성으로 교체합니다.
vlan_id: {{ internal_api_vlan_id }}
vlan_id: {{ internal_api_vlan_id }}
--network-config 선택적 인수를 사용하여 openstack overcloud node provision 을 실행하여 노드를 프로비저닝하는 경우 overcloud-baremetal-deploy.yaml 의 매개변수를 사용하여 배포의 네트워크 속성을 구성해야 합니다. 자세한 내용은 정의 파일 매핑을 프로비저닝하기 위한 Heat 매개변수를 참조하십시오.
다음 표에는 heat 매개변수의 사용 가능한 매핑이 나와 동등한 Ansible vars 로 나열되어 있습니다.
| heat 매개변수 | Ansible vars |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
참고
이 Ansible 변수는 |
|
|
|
표에 나열되지 않은 heat 매개변수 구성
표에 나열되지 않은 heat 매개변수를 구성하려면 매개 변수를 {{role.name}}ExtraGroupVars 로 구성해야 합니다. 매개변수를 {{role.name}}ExtraGroupVars 매개변수로 구성한 후 새 템플릿에서 사용할 수 있습니다. 예를 들어 StorageSupernet 매개변수를 구성하려면 네트워크 구성 파일에 다음 구성을 추가합니다.
parameter_defaults:
ControllerExtraGroupVars:
storage_supernet: 172.16.0.0/16
parameter_defaults:
ControllerExtraGroupVars:
storage_supernet: 172.16.0.0/16
그런 다음 {{ storage_supernet }} 을 Jinja2 템플릿에 추가할 수 있습니다.
--network-config 옵션을 노드 프로비저닝과 함께 사용하면 이 프로세스가 작동하지 않습니다. 사용자 지정 vars가 필요한 사용자는 --network-config 옵션을 사용해서는 안 됩니다. 대신 Heat 스택을 생성한 후 노드 네트워크 구성을 config-download ansible 실행에 적용합니다.
Ansible 변수 구문을 변환하여 각 네트워크를 프로그래밍 방식으로 구성
Jinja2 for-loop 구조를 사용하여 role_networks 를 통해 반복함으로써 역할 이름으로 사용 가능한 네트워크를 검색하는 경우 각 속성 앞에 추가할 각 네트워크 역할의 소문자 이름을 검색해야 합니다. 다음 구조를 사용하여 위의 표에서 필요한 구문으로 Ansible 변수를 변환합니다.
{{ lookup('vars', networks_lower[network] ~ '_<property>') }}
-
&
lt;property>를 설정 중인 속성(예:ip,vlan_id또는mtu)으로 바꿉니다.
예를 들어 각 NetworkVlanID 의 값을 동적으로 채우려면 {{ <network_name>_vlan_id }} 를 다음 구성으로 교체합니다.
{{ lookup(‘vars’, networks_lower[network] ~ ‘_vlan_id’) }}`
{{ lookup(‘vars’, networks_lower[network] ~ ‘_vlan_id’) }}`
8.2.5.5. 정의 파일 매핑을 프로비저닝하기 위한 heat 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
--network-config 선택적 인수를 사용하여 openstack overcloud node provision 명령을 실행하여 노드를 프로비저닝하는 경우 overcloud-baremetal-deploy.yaml 의 매개변수를 사용하여 배포에 대한 네트워크 속성을 구성해야 합니다.
배포에서 사전 프로비저닝된 노드를 사용하는 경우 heat 매개변수를 Ansible 변수에 매핑하여 네트워크 속성을 구성할 수 있습니다. --network-config 선택적 인수를 지정하지 않고 openstack overcloud node provision 을 실행하는 경우 heat 매개변수를 Ansible 변수에 매핑할 수도 있습니다. Ansible 변수를 사용하여 네트워크 속성을 구성하는 방법에 대한 자세한 내용은 Ansible 변수 매핑에 대한 Heat 매개변수를 참조하십시오.
다음 표에는 heat 매개변수에서 overcloud-baremetal-deploy.yaml 노드 정의 파일에 해당하는 network_config 속성으로의 사용 가능한 매핑이 나열되어 있습니다.
| heat 매개변수 | network_config 속성 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
다음 표에는 heat 매개변수의 사용 가능한 매핑이 네트워크 정의 파일 network_data.yaml 과 동등한 속성으로 나열되어 있습니다.
| heat 매개변수 | IPv4 network_data.yaml 속성 | IPv6 network_data.yaml 속성 |
|---|---|---|
|
|
- name: <network_name>
subnets:
subnet01:
ip_subnet: 172.16.1.0/24
|
- name: <network_name>
subnets:
subnet01:
ipv6_subnet: 2001:db8:a::/64
|
|
|
- name: <network_name>
subnets:
subnet01:
...
vlan: <vlan_id>
|
- name: <network_name>
subnets:
subnet01:
...
vlan: <vlan_id>
|
|
|
- name: <network_name> mtu:
|
- name: <network_name> mtu:
|
|
|
- name: <network_name>
subnets:
subnet01:
ip_subnet: 172.16.16.0/24
gateway_ip: 172.16.16.1
|
- name: <network_name>
subnets:
subnet01:
ipv6_subnet: 2001:db8:a::/64
gateway_ipv6: 2001:db8:a::1
|
|
|
|
|
8.2.5.6. 네트워크 데이터 스키마 변경 링크 복사링크가 클립보드에 복사되었습니다!
네트워크 데이터 스키마가 RHOSP(Red Hat OpenStack Platform) 17에서 업데이트되었습니다. RHOSP 16 및 이전 버전에서 사용되는 네트워크 데이터 스키마와 RHOSP 17 이상에서 사용되는 네트워크 데이터 스키마의 주요 차이점은 다음과 같습니다.
-
기본 서브넷이
서브넷맵으로 이동되었습니다. 이렇게 하면 라우팅되지 않은 배포(예: 스파인-리프트 네트워킹)에 대한 구성이 정렬됩니다. -
enabled옵션은 더 이상 비활성화된 네트워크를 무시하는 데 사용되지 않습니다. 대신 구성 파일에서 비활성화된 네트워크를 제거해야 합니다. -
이를 사용한 heat 리소스가 제거되었으므로
compat_name옵션은 더 이상 필요하지 않습니다. -
다음 매개변수는 네트워크 수준에서 더 이상 유효하지 않습니다:
ip_subnet,gateway_ip,allocation_pools,routes,ipv6_subnet,gateway_ipv6,ipv6_allocation_pools,routes_ipv6. 이러한 매개변수는 서브넷 수준에서 계속 사용됩니다. -
metalsmith에서 ironic 포트를 생성하는 데 사용되는 새 매개변수physical_network가 도입되었습니다. -
새 매개변수
network_type및segmentation_id는 네트워크 유형을vlan로 설정하는 데 사용되는{{network.name}}NetValueSpecs를 대체합니다. RHOSP 17에서는 다음 매개변수가 더 이상 사용되지 않습니다.
-
{{network.name}}NetCidr -
{{network.name}}SubnetName -
{{network.name}}Network -
{{network.name}}AllocationPools -
{{network.name}}Routes -
{{network.name}}SubnetCidr_{{subnet}} -
{{network.name}}AllocationPools_{{subnet}} -
{{network.name}}Routes_{{subnet}}
-