A.2. 컨테이너화된 구성 가능 서비스


다음 매개변수는 컨테이너화된 구성 가능 서비스에 적용됩니다.

puppet_config

이 섹션은 puppet을 사용하여 구성 파일 생성을 유도하는 키 값 쌍의 중첩된 세트입니다. 필수 매개 변수는 다음과 같습니다.

puppet_tags
Puppet으로 구성 파일을 생성하는 데 사용되는 Puppet 리소스 태그 이름입니다. 명명된 구성 리소스만 파일을 생성하는 데 사용됩니다. 태그를 지정하는 모든 서비스에는 file,concat,file_line,augeas 의 기본 태그가 설정에 추가됩니다. 예: keystone_config
config_volume
이 서비스에 대한 구성 파일이 생성되는 볼륨(디렉터리)의 이름입니다. 구성을 위해 실행 중인 Kolla 컨테이너에 마운트를 바인딩하는 위치로 사용합니다.
config_image
구성 파일을 생성하는 데 사용할 Docker 이미지의 이름입니다. 이는 종종 런타임 서비스에서 사용하는 컨테이너와 동일합니다. 일부 서비스는 공통 기본 컨테이너에서 생성되는 공통 구성 파일 세트를 공유합니다.
step_config
이 설정은 Puppet을 통해 Docker 구성 파일을 생성하는 데 사용되는 매니페스트를 제어합니다. 아래 Puppet 태그는 이 매니페스트와 함께 사용하여 이 컨테이너의 구성 디렉터리를 생성합니다.

kolla_config

컨테이너에 Kolla 구성 맵을 생성합니다. 형식은 구성 파일의 절대 경로로 시작하여 다음 하위 매개변수에 사용합니다.

command
컨테이너가 시작될 때 실행할 명령입니다.
config_files
서비스를 시작하기 전에 서비스 구성 파일(소스)의 위치와 컨테이너(dest)의 대상입니다. 또한 파일 권한 및 기타 속성(preserve_properties)을 유지할지 여부를 컨테이너에서 이러한 파일을병합하거나 교체하는 옵션을 포함합니다.
권한
컨테이너의 특정 디렉터리에 대한 권한을 설정합니다. 경로, 소유자 및 그룹이 필요합니다. 권한을 재귀적으로 적용할 수도 있습니다(재귀).

다음은 keystone 서비스에 대한 kolla_config 매개 변수의 예입니다.

kolla_config:
  /var/lib/kolla/config_files/keystone.json:
    command: /usr/sbin/httpd -DFOREGROUND
    config_files:
      - source: "/var/lib/kolla/config_files/src/*"
        dest: "/"
        merge: true
        preserve_properties: true
  /var/lib/kolla/config_files/keystone_cron.json:
    command: /usr/sbin/crond -n
    config_files:
      - source: "/var/lib/kolla/config_files/src/*"
        dest: "/"
        merge: true
        preserve_properties: true
    permissions:
      - path: /var/log/keystone
        owner: keystone:keystone
        recurse: true

docker_config

docker-cmd 후크에 전달된 데이터는 각 단계에서 컨테이너를 구성합니다.

  • step_0 - hiera 설정별로 생성된 컨테이너 구성 파일입니다.
  • step_1 - 로드 밸런서 구성

    1. baremetal 구성
    2. 컨테이너 구성
  • step_2 - Core Services (Database/Rabbit/NTP/etc)

    1. baremetal 구성
    2. 컨테이너 구성
  • step_3 - 초기 OpenStack 서비스 설정(Ringbuilder 등)

    1. baremetal 구성
    2. 컨테이너 구성
  • step_4 - 일반 OpenStack 서비스

    1. baremetal 구성
    2. 컨테이너 구성
    3. Keystone 컨테이너 사후 초기화(테넌트, 서비스, 엔드포인트 생성)
  • step_5 - 서비스 활성화 (Pacemaker)

    1. baremetal 구성
    2. 컨테이너 구성

YAML은 매개변수 세트를 사용하여 각 단계에서 실행되도록 컨테이너 컨테이너를 정의하고 각 컨테이너와 연결된 Docker 설정을 정의합니다. 예를 들면 다음과 같습니다.

docker_config:
  step_3:
    keystone:
      start_order: 2
      image: *keystone_image
      net: host
      privileged: false
      restart: always
      healthcheck:
        test: /openstack/healthcheck
      volumes: *keystone_volumes
      environment:
        - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS

그러면 keystone 컨테이너가 생성되고 각 매개 변수를 사용하여 사용할 이미지, 네트워킹 유형 및 환경 변수를 포함하여 세부 정보를 정의합니다.

docker_puppet_tasks

docker-puppet.py 툴을 직접 구동하는 데이터를 제공합니다. 이 작업은 클러스터 내에서 한 번만 실행되며(각 노드에 아님) keystone 엔드포인트 및 데이터베이스 사용자와 같은 항목을 초기화하는 데 필요한 여러 Puppet 스니펫에 유용합니다. 예를 들면 다음과 같습니다.

docker_puppet_tasks:
  # Keystone endpoint creation occurs only on single node
  step_3:
    config_volume: 'keystone_init_tasks'
    puppet_tags: 'keystone_config,keystone_domain_config,keystone_endpoint,keystone_identity_provider,keystone_paste_ini,keystone_role,keystone_service,keystone_tenant,keystone_user,keystone_user_role,keystone_domain'
    step_config: 'include ::tripleo::profile::base::keystone'
    config_image: *keystone_config_image

host_prep_tasks

이는 노드 호스트에서 실행할 수 있는 ansible 코드 조각으로 컨테이너화된 서비스를 준비합니다. 예를 들어 컨테이너를 생성하는 동안 컨테이너에 마운트할 특정 디렉터리를 생성해야 할 수 있습니다.

fast_forward_upgrade_tasks

빠른 진행 업그레이드 프로세스에 도움이 되는 Ansible 스니펫입니다. 이 스니펫은 결합된 플레이북에 추가됩니다. 각 작업에서는 태그를 사용하여 단계릴리스를 정의합니다.

일반적으로 다음 단계 를 따릅니다.

  • step=0 - 실행 중인지 확인
  • step=1 - 서비스를 중지
  • step=2 - 클러스터를 중지합니다.
  • step=3 - 리포지토리 업데이트
  • step=4 - 데이터베이스 백업
  • step=5 - 사전 패키지 업데이트 명령
  • step=6 - 패키지 업데이트
  • step=7 - Post-package 업데이트 명령
  • step=8 - 데이터베이스 업데이트
  • step=9 - 검증

태그 는 릴리스에 해당합니다.

  • tag=ocata - OpenStack Platform 11
  • tag=pike - OpenStack Platform 12
  • tag=queens - OpenStack Platform 13
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.