Menu Close
Settings Close

Language and Page Formatting Options

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

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는 선택 사항이며 이미지에 이미 존재해야하거나, 패키지에 의해 생성되거나, locally [[customizations.group]] 항목에 의해 생성되어야 합니다.

중요

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

# dnf install python3

passphrase -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

NetNamespace의 section customizations.firewall.service 에서 사용자 지정할 방화벽 서비스를 지정합니다.

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

firewall.services 에 나열된 서비스는 /etc/services 파일에서 사용할 수 있는 이름과 다릅니다.

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

참고

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

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

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

참고

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

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

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

  • 보안 벤치마크 컴플라이언스
  • 디스크 부족 오류 보호
  • performance
  • 기존 설정과 일관성

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

    [[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 to TB 및 KiB는 TiB로 지원됩니다. 예를 들어 마운트 지점 크기를 바이트 단위로 정의할 수 있습니다.

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

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

      참고

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

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

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