Menu Close

4.7. 지원되는 이미지 사용자 지정

assembles에서는 여러 이미지 사용자 지정이 지원됩니다. 이러한 옵션을 사용하려면 처음에 탄력성에서 사용자 지정을 구성하고 이미지 빌더로 가져오기(push)해야 합니다.

참고

이러한 사용자 지정은 현재 웹 콘솔 내에서 지원되지 않습니다.

이미지 호스트 이름 설정
[customizations]
hostname = "baseimage"
결과 시스템 이미지에 대한 사용자 사양
[[customizations.user]]
name = "USER-NAME"
description = "USER-DESCRIPTION"
password = "PASSWORD-HASH"
key = "PUBLIC-SSH-KEY"
home = "/home/USER-NAME/"
shell = "/usr/bin/bash"
groups = ["users", "wheel"]
uid = NUMBER
gid = NUMBER
참고

GID는 선택 사항이며 이미지에 이미 있거나 패키지에 의해 생성되거나ceilometer [[customizations.group]] 항목에 의해 생성되어야 합니다.

중요

해시를 생성하려면 시스템에 python3 을 설치해야 합니다. 다음 명령은 python3 패키지를 설치합니다.

# dnf install python3

managers -HASH 를 실제 암호 해시로 바꿉니다. 해시를 생성하려면 다음과 같은 명령을 사용합니다.

$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'

PUBLIC-SSH-KEY 를 실제 공개 키로 바꿉니다.

다른 자리 표시자를 적절한 값으로 바꿉니다.

필요에 따라 모든 행을 남겨 둡니다. 사용자 이름 만 필요합니다.

포함할 모든 사용자에 대해 이 블록을 반복합니다.

결과 시스템 이미지에 대한 그룹 사양
[[customizations.group]]
name = "GROUP-NAME"
gid = NUMBER

포함할 모든 그룹에 대해 이 블록을 반복합니다.

기존 사용자 ssh 키 설정
[[customizations.sshkey]]
user = "root"
key = "PUBLIC-SSH-KEY"
참고

이 옵션은 기존 사용자에게만 적용됩니다. 사용자를 생성하고 ssh 키를 설정하려면 이 섹션 의 결과 시스템 이미지 사용자 지정을 참조하십시오.

커널 부팅 매개변수 옵션 추가
[customizations.kernel]
append = "KERNEL-OPTION"
기본적으로 이미지 빌더는 이미지에 기본 커널을 빌드합니다. 그러나 NetNamespace에서 다음과 같은 구성으로 커널을 사용자 지정할 수 있습니다.
[customizations.kernel]
name = "KERNEL-rt"
이미지에 사용할 커널 이름 정의
[customizations.kernel.name]
name = "KERNEL-NAME"
결과 시스템 이미지에 대한 시간대 및 NTP( Network Time Protocol ) 서버 설정
[customizations.timezone]
timezone = "TIMEZONE"
ntpservers = "NTP_SERVER"

시간대를 설정하지 않으면 시스템은 Universal Time, Coordinated (UTC) 를 기본값으로 사용합니다. NTP 서버 설정은 선택 사항입니다.

결과 시스템 이미지에 대한 로케일 설정 설정
[customizations.locale]
languages = ["LANGUAGE"]
keyboard = "KEYBOARD"

언어 및 키보드 옵션을 모두 설정해야 합니다. 여러 언어를 추가할 수 있습니다. 추가하는 첫 번째 언어는 기본 언어이며 다른 언어는 보조 언어가 됩니다.

결과 시스템 이미지에 대한 방화벽 설정
[customizations.firewall]
port = ["PORTS"]

숫자 포트 또는 /etc/services 파일에서 해당 이름을 사용하여 목록을 활성화할 수 있습니다.

방화벽 서비스 사용자 지정

사용 가능한 방화벽 서비스를 검토합니다.

$ firewall-cmd --get-services

탄력성에서 사용자 지정 섹션 사용자 지정.firewall.service 는 사용자 지정하려는 방화벽 서비스를 지정합니다.

[customizations.firewall.services]
enabled = ["SERVICES"]
disabled = ["SERVICES"]

firewall.services 에 나열된 서비스는 /etc/services 파일에서 사용 가능한 이름과 다릅니다.

선택적으로 생성하려는 시스템 이미지에 대한 방화벽 서비스를 사용자 지정할 수 있습니다.

참고

방화벽 서비스를 사용자 정의하지 않으려면 Makefile에서 [customizations.firewall][customizations.firewall.services] 섹션을 생략합니다.

부팅 시 활성화할 서비스 설정
[customizations.services]
enabled = ["SERVICES"]
disabled = ["SERVICES"]

부팅 시 활성화할 서비스를 제어할 수 있습니다. 일부 이미지 유형에는 이미지가 올바르게 작동하고 이 설정을 재정의할 수 없도록 서비스가 이미 활성화되거나 비활성화되어 있습니다.

참고

빌드가 시작될 때마다 리포지토리를 복제합니다. 많은 양의 기록이 있는 리포지토리를 참조하는 경우 많은 양의 디스크 공간을 복제하고 사용하는 데 시간이 걸릴 수 있습니다. 또한 복제본은 일시적인 것이며 RPM 패키지가 생성된 후 제거됩니다.

사용자 정의 파일 시스템 구성 지정

새 디스크 레이아웃을 사용하여 사용자 지정 파일 시스템 구성을 지정하고 따라서 기본 레이아웃 구성을 사용하는 대신 특정 디스크 레이아웃을 사용하여 이미지를 생성할 수 있습니다. vGPU에 기본이 아닌 레이아웃 구성을 사용하면 다음과 같은 이점을 얻을 수 있습니다.

  • 보안 벤치마크 준수
  • 디스크 부족 오류 보호
  • performance
  • 기존 설정과의 일관성

    scaling에서 파일 시스템 구성을 사용자 정의합니다.

    [[customizations.filesystem]]
    mountpoint = "MOUNTPOINT"
    size = MINIMUM-PARTITION-SIZE

    다음 마운트 지점 및 하위 디렉터리가 지원됩니다.

    • / - 루트 마운트 지점
    • /var
    • /home
    • /opt
    • /srv
    • /usr
    • /app
    • /data

      참고

      마운트 지점 사용자 지정은 CLI를 사용하여 RHEL 8.5 및 RHEL 9.0 배포에서만 지원됩니다. 초기 배포에서는 루트 파티션만 마운트 지점으로 지정하고 size 인수를 이미지 크기의 별칭으로 지정할 수 있습니다.

      둘 이상의 파티션이 있는 경우 LVM에 사용자 지정 파일 시스템 파티션으로 이미지를 생성하고 런타임 시 파티션의 크기를 조정할 수 있습니다. 이를 위해 청사진에서 사용자 지정 파일 시스템 구성을 지정한 다음 원하는 디스크 레이아웃을 사용하여 이미지를 생성할 수 있습니다. 기본 파일 시스템 레이아웃은 변경되지 않습니다. 파일 시스템 사용자 지정 없이 일반 이미지를 사용하면 cloud-init 에 의해 루트 파티션의 크기를 조정합니다.

      청사진에 파일 시스템 사용자 지정을 추가한 후 파일 시스템이 LVM 파티션으로 변환됩니다.

      MINIMUM-PARTITION-SIZE 를 정의할 때 기본 크기 형식이 없습니다. 다음 값과 단위가 지원됩니다. kB에서 TB로, KiB ~ TiB가 지원됩니다. 예를 들어 마운트 지점 크기를 바이트 단위로 정의할 수 있습니다.

      [[customizations.filesystem]]
      mountpoint = "/var"
      size = 1073741824

      단위를 사용하여 마운트 지점 크기를 정의할 수도 있습니다.

      참고

      RHEL 8.6 및 RHEL 9.0 배포에 제공된 패키지 버전의 단위를 사용하여 마운트 지점 크기를 정의할 수 있습니다.

      예를 들면 다음과 같습니다.

      [[customizations.filesystem]]
      mountpoint = "/opt"
      size = "20 GiB"