6.5. 새 역할 생성
이 예제에서 목표는 OpenStack Networking(중성자
) 에이전트를 호스팅하는 새 Networker 역할을 생성하는 것입니다. 이 경우 새 역할 정보가 포함된 사용자 지정 roles_data
파일을 생성합니다.
기본 roles_data.yaml
파일의 사용자 정의 사본을 생성합니다.
$ cp /usr/share/openstack-tripleo-heat-templates/roles_data.yaml ~/templates/roles_data-network_node.yaml
새 roles_data
파일을 편집하고 기본 및 핵심 OpenStack Networking 서비스가 포함된 새 Networker
역할을 만듭니다. 예를 들면 다음과 같습니다.
- name: Networker CountDefault: 1 HostnameFormatDefault: '%stackname%-networker-%index%' ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::FluentdClient - OS::TripleO::Services::Kernel - OS::TripleO::Services::NeutronDhcpAgent - OS::TripleO::Services::NeutronL3Agent - OS::TripleO::Services::NeutronMetadataAgent - OS::TripleO::Services::NeutronOvsAgent - OS::TripleO::Services::Ntp - OS::TripleO::Services::SensuClient - OS::TripleO::Services::Snmp - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::VipHosts
기본 Overcloud에 항상 Networking 노드가 포함되도록 CountDefault
를 1
로 설정하는 것도 좋습니다.
기존 오버클라우드에서 서비스를 스케일링하는 경우 기존 서비스를 Controller 역할에 유지합니다. 새 오버클라우드를 생성하고 OpenStack Networking 에이전트가 독립 실행형 역할만 유지하려면 Controller 역할 정의에서 OpenStack Networking 에이전트를 삭제합니다.
- name: Controller CountDefault: 1 ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephMon - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CephRgw - OS::TripleO::Services::CinderApi - OS::TripleO::Services::CinderBackup - OS::TripleO::Services::CinderScheduler - OS::TripleO::Services::CinderVolume - OS::TripleO::Services::Core - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::GlanceApi - OS::TripleO::Services::GlanceRegistry - OS::TripleO::Services::HeatApi - OS::TripleO::Services::HeatApiCfn - OS::TripleO::Services::HeatApiCloudwatch - OS::TripleO::Services::HeatEngine - OS::TripleO::Services::MySQL - OS::TripleO::Services::NeutronDhcpAgent # Remove this service - OS::TripleO::Services::NeutronL3Agent # Remove this service - OS::TripleO::Services::NeutronMetadataAgent # Remove this service - OS::TripleO::Services::NeutronApi - OS::TripleO::Services::NeutronCorePlugin - OS::TripleO::Services::NeutronOvsAgent # Remove this service - OS::TripleO::Services::RabbitMQ ...
특정 노드에 태그를 지정할 수 있도록 이 역할에 새 플레이버를 정의해야 할 수 있습니다. 이 예제에서는 다음 명령을 사용하여 네트워크
플레이버를 생성합니다.
$ openstack flavor create --id auto --ram 6144 --disk 40 --vcpus 4 networker $ openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" --property "capabilities:profile"="networker" networker
다음 명령을 사용하여 새 플레이버에 노드를 태그합니다.
$ openstack baremetal node set --property capabilities='profile:networker,boot_option:local' 58c3d07e-24f2-48a7-bbb6-6843f0e8ee13
다음 환경 파일 스니펫을 사용하여 Networker 노드 수 및 플레이버를 정의합니다.
parameter_defaults: OvercloudNetworkerFlavor: networker NetworkerCount: 1
openstack overcloud deploy
명령을 실행할 때 새 roles_data
파일 및 환경 파일을 포함합니다. 예를 들면 다음과 같습니다.
$ openstack overcloud deploy --templates -r ~/templates/roles_data-network_node.yaml -e ~/templates/node-count-flavor.yaml
배포가 완료되면 컨트롤러 노드 1개, 컴퓨팅 노드 1개, Networker 노드로 구성된 3-노드 Overcloud가 생성됩니다. Overcloud의 노드 목록을 보려면 다음 명령을 실행합니다.
$ nova list