Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

8.3. OpenStack Platform 컨테이너 수정

Red Hat은 Red Hat Container Catalog(registry.redhat.io)를 통해 사전 빌드된 컨테이너 이미지 세트를 제공합니다. 이러한 이미지를 수정하고 계층을 추가할 수 있습니다. 이는 인증된 타사 드라이버의 RPM을 컨테이너에 추가하는 데 유용합니다.

참고

수정된 OpenStack Platform 컨테이너 이미지에 대한 지속적인 지원을 보장하려면 결과 이미지가 "Red Hat Container Support Policy" 를 준수하는지 확인하십시오.

이 예에서는 최신 openstack-keystone 이미지를 사용자 지정하는 방법을 보여줍니다. 그러나 이러한 지침은 다른 이미지에도 적용할 수 있습니다.

  1. 수정하려는 이미지를 가져옵니다. 예를 들어 openstack-keystone 이미지의 경우 다음을 수행합니다.

    $ sudo docker pull registry.redhat.io/rhosp13/openstack-keystone:latest
  2. 원본 이미지의 기본 사용자를 확인합니다. 예를 들어 openstack-keystone 이미지의 경우 다음을 수행합니다.

    $ sudo docker run -it registry.redhat.io/rhosp13/openstack-keystone:latest whoami
    root
    참고

    openstack-keystone 이미지는 root 를 기본 사용자로 사용합니다. 다른 이미지에서는 특정 사용자를 사용합니다. 예를 들어 openstack-glance-api 는 기본 사용자에게 glance 를 사용합니다.

  3. Dockerfile 을 생성하여 기존 컨테이너 이미지에 추가 계층을 빌드합니다. 다음은 Container Catalog에서 최신 OpenStack Identity(keystone) 이미지를 가져와서 사용자 지정 RPM 파일을 이미지에 설치하는 예입니다.

    FROM registry.redhat.io/rhosp13/openstack-keystone
    MAINTAINER Acme
    LABEL name="rhosp13/openstack-keystone-acme" vendor="Acme" version="2.1" release="1"
    
    # switch to root and install a custom RPM, etc.
    USER root
    COPY custom.rpm /tmp
    RUN rpm -ivh /tmp/custom.rpm
    
    # switch the container back to the default user
    USER root
  4. 새 이미지를 빌드하고 태그를 지정합니다. 예를 들어 /home/stack/keystone 디렉터리에 로컬 Dockerfile 을 저장하고 언더클라우드의 로컬 레지스트리에 태그를 지정하려면 다음을 수행합니다.

    $ docker build /home/stack/keystone -t "192.168.24.1:8787/rhosp13/openstack-keystone-acme:rev1"
  5. 결과 이미지를 언더클라우드의 로컬 레지스트리로 내보냅니다.

    $ docker push 192.168.24.1:8787/rhosp13/openstack-keystone-acme:rev1
  6. 오버클라우드 컨테이너 이미지 환경 파일(일반적으로 overcloud_images.yaml)을 편집하고 사용자 지정 컨테이너 이미지를 사용하도록 적절한 매개변수를 변경합니다.
주의

Container Catalog는 전체 소프트웨어 스택이 빌드된 컨테이너 이미지를 게시합니다. Container Catalog에서 업데이트 및 보안 수정 사항으로 컨테이너 이미지를 릴리스하면 기존 사용자 정의 컨테이너에 이러한 업데이트가 포함되지 않으므로 카탈로그에서 새 이미지 버전을 사용하여 다시 빌드해야 합니다.