부록 A. 구성 가능 서비스 매개변수
다음 매개변수는 모든 구성 가능 서비스의 출력에 사용됩니다.
- service_name
- config_settings
- kolla_config
- docker_config
- puppet_config
- container_puppet_tasks
- global_config_settings
- service_config_settings
- step_config
- host_prep_tasks
- upgrade_tasks
- upgrade_batch_tasks
- post_upgrade_tasks
- update_tasks
- post_update_tasks
- external_deploy_tasks
- external_upgrade_tasks
- external_update_tasks
service_name
서비스 이름입니다. 이를 사용하여 service_config_settings 을 통해 다른 구성 가능 서비스의 구성을 적용할 수 있습니다.
config_settings
서비스에 대한 사용자 지정 hieradata 설정
kolla_config
컨테이너에 kolla 구성 맵을 생성합니다. 형식은 구성 파일의 절대 경로에서 키로 시작한 다음 다음 하위 매개 변수를 키 값으로 사용합니다.
- 명령
- 컨테이너가 시작될 때 실행할 명령입니다.
- config_files
-
서비스를 시작하기 전에 서비스 구성 파일(
소스
)의 위치 및 컨테이너의 대상(dest
)입니다. 또한 컨테이너에서 이러한 파일을 병합하거나 대체하는 옵션(merge
), 파일 권한 및 기타 속성을 유지할지 여부(preserve_properties
)도 포함합니다. - 권한
-
컨테이너의 특정 디렉터리에 대한 권한을 설정합니다.
경로
와소유자가
필요합니다(사용자:group
조합). 권한을 재귀적으로 적용할 수도 있습니다(다양식
).
다음은 keystone 서비스의 kolla_config
매개 변수의 예입니다.
docker_config
각 단계에서 컨테이너를 구성하기 위해 paunch
명령에 전달된 데이터입니다.
-
step_0
- 구조 설정별로 생성된 컨테이너 구성 파일입니다. step_1
- 로드 밸런서 구성- baremetal 구성
- 컨테이너 구성
step_2
- 코어 서비스(Database/Rabbit/NTP/etc.)- baremetal 구성
- 컨테이너 구성
step_3
- 초기 OpenStack 서비스 설정(Ringbuilder 등)- baremetal 구성
- 컨테이너 구성
step_4
- General OpenStack Services- baremetal 구성
- 컨테이너 구성
- Keystone 컨테이너 게시 초기화(테넌트, 서비스, 엔드포인트 생성)
step_5
- 서비스 활성화 (Pacemaker)- baremetal 구성
- 컨테이너 구성
YAML 파일은 매개 변수 세트를 사용하여 컨테이너를 정의하여 각 컨테이너와 연결된 podman
설정을 각 단계에서 실행합니다. 예를 들면 다음과 같습니다.
그러면 keystone
컨테이너가 생성되고 사용할 이미지, 네트워킹 유형 및 환경 변수를 포함하여 세부 정보를 정의하는 데 해당 매개 변수를 사용합니다.
puppet_config
이 섹션은 Puppet을 사용하여 구성 파일 생성을 구동하는 중첩된 키 값 쌍 집합입니다. 다음과 같은 필수 매개변수가 포함되어 있습니다.
- puppet_tags
-
Puppet으로 구성 파일을 생성하는 데 사용되는 Puppet 리소스 태그 이름입니다. 명명된 구성 리소스만 파일을 생성하는 데 사용됩니다. 태그를 지정하는 모든 서비스에는 설정에 추가된 file,concat,file_line,augeas,cron 의 기본 태그가 있습니다. 예:
keystone_config
- config_volume
- 이 서비스에 대한 구성 파일이 생성되는 볼륨(디렉터리)의 이름입니다. 이를 위치로 사용하여 구성을 위해 실행 중인 Kolla 컨테이너에 바인딩 마운트합니다.
- config_image
- 구성 파일을 생성하는 데 사용할 컨테이너 이미지의 이름입니다. 이는 런타임 서비스에서 사용하는 컨테이너와 동일한 경우가 많습니다. 일부 서비스는 공통 기본 컨테이너에서 생성되는 구성 파일의 공통 집합을 공유합니다.
- step_config
- 이 설정은 Puppet으로 구성 파일을 생성하는 데 사용되는 매니페스트를 제어합니다. 다음 Puppet 태그를 매니페스트와 함께 사용하여 이 컨테이너의 구성 디렉터리를 생성합니다.
container_puppet_tasks
container-puppet.py
툴을 직접 구동할 데이터를 제공합니다. 이 작업은 각 노드가 아닌 클러스터 내에서 한 번 실행되고 keystone 엔드포인트 및 데이터베이스 사용자와 같은 작업을 초기화하는 데 필요한 여러 Puppet 스니펫에 유용합니다. 예를 들면 다음과 같습니다.
global_config_settings
모든 역할에 배포된 사용자 지정 hieradata 설정.
service_config_settings
다른 서비스에 대한 사용자 지정 hieradata 설정 예를 들어 서비스에서 해당 엔드포인트를 OpenStack Identity(keystone)에 등록해야 할 수 있습니다. 이는 서비스가 다른 서비스에 있는 경우에도 한 서비스에서 다른 서비스로 매개 변수를 제공하고 서비스 간 구성 방법을 제공합니다.
step_config
서비스를 구성하는 Puppet 스니펫입니다. 이 스니펫은 서비스 구성 프로세스의 각 단계에서 생성 및 실행되는 결합된 매니페스트에 추가됩니다.
- 1 단계 - 로드 밸런서 구성
- 2 단계 - 핵심 고가용성 및 일반 서비스 (Database, RabbitMQ, NTP)
- 3 단계 - 초기 OpenStack Platform 서비스 설정 (스토리지, 링 빌딩)
- 4단계 - 일반 OpenStack Platform 서비스
- 5단계 - 서비스 활성화(Pacemaker) 및 OpenStack Identity(keystone) 역할 및 사용자 생성
참조된 puppet 매니페스트에서는 hiera(단계')
를 사용하여 배포 프로세스 중 특정 단계에서 특정 작업을 정의할 수 있습니다.
host_prep_tasks
컨테이너화된 서비스를 준비하기 위해 노드 호스트에서 실행할 Ansible 스니펫입니다. 예를 들어 생성 중에 컨테이너에 마운트할 특정 디렉터리를 생성해야 할 수 있습니다.
external_deploy_tasks
언더클라우드에서 Ansible 작업을 실행하고 배포 프로세스의 각 단계에서
실행합니다.
upgrade_tasks
이는 서비스를 업그레이드하는 데 도움이 되는 Ansible 스니펫입니다. 스니펫은 결합된 플레이북에 추가됩니다. 각 작업은 태그를 사용하여 다음 항목을 포함하는 단계를
정의합니다.
-
Common
- 모든 단계에 적용됩니다. -
step0
- Validation -
Step1
- 모든 OpenStack 서비스를 중지합니다. -
step2
- Pacemaker에서 제어하는 모든 서비스 중지 -
Step3
- 패키지 업데이트 및 새 패키지 설치 -
Step4
- 데이터베이스 업그레이드에 필요한 OpenStack 서비스 시작 -
step5
- 데이터베이스 업그레이드
upgrade_batch_tasks
upgrade_tasks
에 비슷한 기능을 수행하지만 나열된 순서대로만 배치 Ansible 작업 세트만 실행합니다. 기본값은 1
이지만 roles_data.yaml
파일에서 upgrade_batch_size
매개변수를 사용하여 역할별로 변경할 수 있습니다.
post_upgrade_tasks
업그레이드 프로세스가 완료된 후 Ansible 작업을 실행합니다.
external_upgrade_tasks
언더클라우드에서 Ansible 작업을 실행하고 업그레이드 프로세스의 각 단계에서
실행합니다.
update_tasks
서비스의 마이너 버전 업데이트를 지원하기 위한 Ansible 스니펫입니다. 스니펫은 결합된 플레이북에 추가됩니다. 각 작업은 태그를 사용하여 다음 항목을 포함하는 단계를
정의합니다.
-
Common
- 모든 단계에 적용됩니다. -
step0
- Validation -
Step1
- 모든 OpenStack 서비스를 중지합니다. -
step2
- Pacemaker에서 제어하는 모든 서비스 중지 -
Step3
- 패키지 업데이트 및 새 패키지 설치 -
Step4
- 데이터베이스 업그레이드에 필요한 OpenStack 서비스 시작 -
step5
- 데이터베이스 업그레이드
post_update_tasks
업데이트 프로세스가 완료된 후 Ansible 작업을 실행합니다.
external_update_tasks
언더클라우드에서 Ansible 작업을 실행하고 마이너 버전 업데이트 프로세스의 각 단계에서
실행합니다.