4.20. 컨테이너
RHEL의 이미지 모드에서 FIPS 모드 지원
이번 개선된 기능을 통해 bootc 이미지를 빌드하여 FIPS 승인 모듈만 사용하도록 시스템을 구성할 때 FIPS 모드를 활성화할 수 있습니다. Containerfile 구성에서 FIPS 암호화 정책을 활성화해야 하는 bootc-image-builder
를 사용하거나 RHEL Anaconda 설치를 사용하여 Containerfile에서 FIPS 모드를 활성화하려면 시스템 설치를 부팅할 때 fips=1
커널 인수도 추가해야 합니다. 자세한 내용은 FIPS 모드가 활성화된 시스템 설치를 참조하십시오.
다음은 fips=1
커널 인수를 활성화하는 지침이 포함된 Containerfile입니다.
FROM registry.redhat.io/rhel9/rhel-bootc:latest# # Enable fips=1 kernel argument: https://containers.github.io/bootc/building/kernel-arguments.html COPY 01-fips.toml /usr/lib/bootc/kargs.d/ # Install and enable the FIPS crypto policy RUN dnf install -y crypto-policies-scripts && update-crypto-policies --no-reload --set FIPS
Jira:RHELDOCS-18585[1]
RHEL의 이미지 모드는 이제 논리적으로 바인딩된 앱 이미지 지원
이번 개선된 기능을 통해 기본 bootc 이미지에 바인딩된 라이프사이클인 컨테이너 이미지를 지원합니다. 이를 통해 애플리케이션 및 운영 체제에 대한 다양한 운영 프로세스를 통합할 수 있으며 기본 이미지에서 이미지 파일 또는 이와 동등한 방식으로 앱 이미지를 참조합니다. 결과적으로 시스템 설치를 위해 여러 컨테이너 이미지를 관리할 수 있습니다(예: 연결이 끊긴 설치의 경우 시스템이 아니라 모두 미러링해야 합니다.
Jira:RHELDOCS-18666[1]
Podman 및 Buildah에서 이미지 인덱스에 OCI 아티팩트 추가 지원
이번 업데이트를 통해 아티팩트 매니페스트를 생성하여 이미지 인덱스에 추가할 수 있습니다.
buildah manifest add
명령에서 다음 옵션을 지원합니다.
-
아티팩트 매니페스트를 생성하는
--artifact
옵션 -
--artifact-type
,--artifact-config-type
,--artifact-layer-type
,--artifact-exclude-titles
,--subject
옵션은 생성하는 아티팩트 매니페스트의 내용을 미세 조정할 수 있는 옵션입니다.
buildah 매니페스트 annotate
명령에서 다음 옵션을 지원합니다.
-
이미지 인덱스의 항목 중 하나 대신 인덱스 자체에 주석을 설정하는
--index
옵션 -
이미지 인덱스의 subject 필드를 설정하는
--subject
옵션입니다.
buildah manifest create
명령에서 --annotation
옵션을 지원하여 새 이미지 인덱스에 주석을 추가합니다.
Podman 상태 점검 이벤트를 비활성화하는 데 옵션을 사용할 수 있습니다.
이번 개선된 기능에는 health_status
이벤트 생성을 비활성화하려면 [engine]
섹션 아래의 containers.conf
구성 파일에 새 healthcheck_events
옵션이 추가되었습니다. 로깅 healthchek 이벤트를 비활성화하려면 healthcheck_events=false
를 설정합니다.
Podman의 런타임 리소스 변경 사항은 영구적입니다.
podman update
명령을 사용하여 컨테이너 구성 업데이트는 영구적으로 유지됩니다. 이 향상된 기능은 SQLite 및 BoltDB 데이터베이스 백엔드 모두에 적용됩니다.
다중 아키텍처 이미지 빌드가 완전히 지원됨
다중 아키텍처 컨테이너 이미지를 생성하는 podman farm build
명령이 이제 완전히 지원됩니다.
est는 Unix Podman 소켓이 실행되고 있는 머신 그룹입니다. 확장성의 노드는 다양한 아키텍처의 다른 머신을 가질 수 있습니다. podman farm build
명령은 podman build --arch --platform
명령보다 빠릅니다.
podman grow build
를 사용하여 다음 작업을 수행할 수 있습니다.
- 프로덕션 환경의 모든 노드에 이미지를 빌드합니다.Creates an image on all nodes in a body.
- 리전의 모든 노드의 이미지를 매니페스트 목록으로 번들로 번들합니다.
-
모든 리전 노드에서
podman build
명령을 실행합니다. -
--tag
옵션을 사용하여 지정된 레지스트리로 이미지를 푸시합니다. - 로컬에서 매니페스트 목록을 생성합니다.
- 매니페스트 목록을 레지스트리에 내보냅니다.
매니페스트 목록에는 리전에 있는 기본 아키텍처 유형당 하나의 이미지가 포함되어 있습니다.
Podman의 Pod Quadlets 사용 가능
Podman v5.0부터 Quadlet을 사용하여 Pod 설명에서 systemd
서비스 파일을 자동으로 생성할 수 있습니다.
Podman v2.0 RESTful API가 업데이트됨
새 필드가 libpod/images/json
끝점에 추가되었습니다.
-
대상이 매니페스트인지 여부를 결정하는
isManifest
부울 필드입니다.libpod
끝점은 이미지 및 매니페스트 목록을 모두 반환합니다. -
이미지 목록의
os
및arch
필드입니다.
Kubernetes YAML에서 데이터 볼륨 컨테이너를 init 컨테이너로 지원
이제 볼륨으로 자동으로 마운트할 이미지 목록은 "io.podman.annotations.kube.image.automount/$ctrname"
주석을 사용하여 Kubernetes YAML에 지정할 수 있습니다. podman run --mount type=image,source=<image>,dst=<path>,
>를 사용하여 이미지 기반 마운트를 통해 이미지의 일부만 컨테이너에 마운트할 수 있습니다.
subpath
=<path
컨테이너 툴 패키지가 업데이트됨
Podman, Buildah, Skopeo, crun
및 runc
툴이 포함된 업데이트된 컨테이너 툴 RPM 메타 패키지를 사용할 수 있습니다. podman v5.0에는 이전 버전에 비해 다음과 같은 주요 버그 수정 및 개선 사항이 포함되어 있습니다.
-
podman manifest add
명령에서 새로운--artifact
옵션을 지원하여 OCI 아티팩트를 매니페스트 목록에 추가합니다. -
podman create
,podman run
,podman push
명령에서--retry
및--retry-delay
옵션을 지원하여 이미지 푸시 및 가져오기를 위한 재시도 횟수를 구성합니다. -
podman run
및podman exec
명령에서--preserve-fd
옵션을 지원하여 파일 설명자 목록을 컨테이너에 전달합니다. 특정 수의 파일 설명자를 전달하는--preserve-fds
의 대안입니다. - Quadlet은 이제 템플릿 유닛을 지원합니다.
-
podman kube play
명령은volume.podman.io/image
주석을 사용하여 이미지 기반 볼륨을 생성할 수 있습니다. -
podman kube play
명령으로 생성된 컨테이너에는 이제 새 주석io.podman.annotations.volumes-from
을 사용하여 다른 컨테이너의 볼륨이 포함될 수 있습니다. -
podman kube play
명령으로 생성된 Pod는 Pod 정의에서io.podman.annotations.userns
주석을 사용하여 사용자 네임스페이스 옵션을 설정할 수 있습니다. -
podman create
및podman run
에 대한--gpus
옵션은 이제 Nvidia GPU와 호환됩니다. -
podman create
및podman run
에 대한--mount
옵션은 역참조 대상이 아닌 심볼릭 링크를 컨테이너에 마운트하기 위해 새로운 마운트 옵션인no-dereference
를 지원합니다. -
Podman은 이제 새로운
--config
글로벌 옵션을 지원하여 레지스트리 로그인 자격 증명을 가져올 수 있는 Docker 구성을 가리킵니다. -
podman ps --format
명령에서 새.Label
형식 지정자를 지원합니다. -
podman run --userns=auto
옵션에 대한uidmapping
및gidmapping
옵션은 호스트 ID 앞에@
기호를 추가하여 호스트 ID에 매핑할 수 있습니다. - Quadlet은 이제 systemd 스타일 드롭인 디렉터리를 지원합니다.
-
Quadlet은 이제 새
.pod
장치 파일을 사용하여 Pod 생성을 지원합니다. -
Quadlet은 이제
.container
파일에서Entrypoint
및StopTimeout
이라는 두 개의 새 키를 지원합니다. -
Quadlet은 이제
.container
파일에서Ulimit
키를 여러 번 지정하여 컨테이너에ulimit
를 두 개 이상 설정할 수 있습니다. -
이제 Quadlet에서
Notify
키를.container
파일에서healthy
로 설정하여 상태 점검이 시작될 때 컨테이너가 시작되었음을 알리는 기능이 지원됩니다. -
컨테이너에 대한
podman inspect
명령의 출력이 변경되었습니다.Entrypoint
필드는 문자열에서 문자열 배열로 변경되고StopSignal
은 정수에서 문자열로 변경됩니다. -
이제 컨테이너의
podman inspect
명령에서 상태 점검 없이 컨테이너를 검사할 때 상태 점검에 대해 nil을 반환합니다. - 더 이상 새로운 BoltDB 데이터베이스를 만들 수 없습니다. 이렇게 하면 오류가 발생합니다. 이제 모든 새로운 Podman 설치에서 SQLite 데이터베이스 백엔드를 사용합니다. 기존 BoltDB 데이터베이스를 계속 사용할 수 있습니다.
- CNI 네트워킹에 대한 지원은 빌드 태그에 의해 결정되며 기본적으로 활성화되어 있지 않습니다.
-
이제 Podman은
cgroups v1
시스템에서 사용할 때 경고를 출력합니다.cgroup v1
에 대한 지원은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.PODMAN_IGNORE_CGROUPSV1_WARNING
환경 변수를 설정하여 경고를 억제할 수 있습니다. - Docker 호환 API를 통해 전송된 네트워크 통계는 이제 인터페이스별로 전송되며 집계되지 않아 Docker 호환성이 향상됩니다.
-
루트리스 네트워킹을 위한 기본 도구가 성능 향상을 위해
slirp4netns
에서pasta
로 변경되었습니다. 결과적으로pasta
라는 네트워크가 더 이상 지원되지 않습니다. - List Images REST API에서 여러 필터를 사용하면 또는 대신 필터를 AND와 결합하여 Docker 호환성을 개선합니다.
배열을 수락하는 여러 Podman CLI 옵션에 대한 구문 분석이 더 이상 문자열 구분 목록을 허용하지 않도록 변경되었으며 대신 옵션을 여러 번 전달해야 합니다. 이러한 옵션은 다음과 같습니다.
-
podman 매니페스트 주석 및
에 대한podman manifest
추가--annotation
옵션 -
podman kube 플레이에
대한--configmap
,--log-opt
,--annotation
옵션
-
podman image trust 설정
의--pubkeysfile
옵션-
podman create
,podman run
,podman push
및podman pull
에 대한--encryption-key
및--decryption-key
옵션 -
podman exec
에 대한--env-file
옵션,--bkio-weight-device
,--device-read-bps
,--device-write-bps
,--device-read-iops
,--device-write-iops
,--device
,--label-file
,--chrootdirs
,--log-opt
,--env-file
옵션은podman create
및podman run
-
--hooks-dir
및--module
글로벌 옵션
-
-
podman system reset
명령은 더 이상 실행 중인 컨테이너가 중지될 때까지 기다리지 않고SIGKILL
신호를 즉시 보냅니다. -
이제
podman network inspect
명령에 네트워크를 사용하는 실행 중인 컨테이너가 출력에 포함됩니다. -
podman compose
명령은 AMD 및 Intel 64비트 아키텍처(x86-64-v2) 및 64비트 ARM 아키텍처(ARMv8.0-A) 외에 다른 아키텍처에서 지원됩니다. -
podman kube 플레이 및
명령의podman kube
generate--no-trunc
옵션이 더 이상 사용되지 않습니다. 이제 Podman은 주석 크기에 대한 Kubernetes 사양을 준수하므로 이 옵션이 필요하지 않습니다. -
podman션 명령의
podman system connection
명령 및션에서 가져온 연결은podman
-connections.confcontainers.conf
파일에 쓰지 않습니다. Podman은 여전히containers.conf
의 기존 연결을 유지합니다. -
대부분의
podman farm
하위 명령을 실행하기 위해 더 이상 프로덕션 환경의 시스템에 연결할 필요가 없습니다. -
컨테이너 이미지가 정의되지 않은 경우
podman create
및podman run
명령을 더 이상 명령줄에서 진입점을 지정할 필요가 없습니다. 이 경우 빈 명령이 OCI 런타임으로 전달되고 결과 동작은 런타임에 따라 다릅니다. -
이미지를 가져오는 데 사용할 수 있는 정규화된 이미지 목록에 잠재적인 짧은 이름을 확인하기 위해 새 API 끝점
/libpod/images/$name/resolve
가 추가되었습니다.
주요 변경 사항에 대한 자세한 내용은 업스트림 릴리스 노트를 참조하십시오.
Podman 및 Buildah에서 --compat-volumes
옵션을 사용할 수 있습니다.
buildah 빌드 ,
명령과 함께 새로운 podman build
, podman build build
--compat-volumes
옵션을 사용할 수 있습니다. 이 옵션은 VOLUME
명령을 사용하여 표시된 디렉터리의 콘텐츠에 대한 특수 처리를 트리거하여 나중에 ADD
및 COPY
명령으로만 콘텐츠를 수정할 수 있습니다. RUN
명령을 통해 해당 위치에서 변경한 내용은 삭제됩니다. 이전에는 이 동작이 기본값이지만 이제 기본적으로 비활성화되어 있었습니다.
새로운 rhel10-beta/rteval
컨테이너 이미지
이제 Red Hat Container Registry에서 실시간 registry.redhat.io/rhel10-beta/rteval
컨테이너 이미지를 사용하여 독립 실행형 RHEL 설치에서 대기 시간 분석을 실행할 수 있습니다. rhel10-beta/rteval
컨테이너 이미지를 사용하면 컨테이너화된 설정 내에서 대기 시간 테스트를 수행하여 실시간 워크로드에 적합한 솔루션이 있는지 확인하거나 rteval
의 베어 메탈 실행과 결과를 비교할 수 있습니다. 이 기능을 사용하려면 실시간 지원으로 RHEL에 가입하십시오. 튜닝 지침이 제공되지 않습니다.
Jira:RHELDOCS-18522[1]
containers.conf
파일이 읽기 전용입니다.
containers.conf
파일에 저장된 시스템 연결 및 pam 정보는 이제 읽기 전용입니다. 이제 시스템 연결 및 pam 정보는 Podman에서만 관리되는 podman.connections.json
파일에 저장됩니다. Podman은 [engine.service_destinations]
및 [farms]
섹션과 같은 이전 구성 옵션을 계속 지원합니다. 필요한 경우 연결 또는 RAM을 수동으로 추가할 수 있지만 podman system connection rm
명령을 사용하여 containers.conf
파일에서 연결을 삭제할 수 없습니다.
필요한 경우 containers.conf
파일을 수동으로 편집할 수 있습니다. Podman v4.0에서 추가한 시스템 연결은 Podman v5.0으로 업그레이드한 후에도 변경되지 않습니다.
macvlan
및 ipvlan
네트워크 인터페이스 이름은 containers.conf
에서 구성할 수 있습니다.
macvlan
및 ipvlan
네트워크를 지정하려면 containers.conf
구성 파일의 새 interface_name
필드를 사용하여 컨테이너 내에서 생성된 네트워크 인터페이스의 이름을 조정할 수 있습니다.
Jira:RHELDOCS-18769[1]
bootc-image-builder
에서 사용자 지정 Kickstart 파일 정의 및 ISO 빌드 삽입 지원
이번 개선된 기능을 통해 이제 사용자를 설정하고, 파티셔닝하고, 키를 삽입하고, Kickstart 파일을 ISO 빌드에 삽입하여 설치 프로세스를 구성하여 Kickstart를 정의할 수 있습니다. 생성된 디스크 이미지는 장치, 연결이 끊긴 시스템, 에지 장치를 자동화하고 배포하는 자체 포함 설치 프로그램을 생성합니다. 결과적으로 bootc-image-builder
를 사용하여 사용자 지정 미디어를 생성하는 것이 훨씬 쉬워집니다.
Jira:RHELDOCS-18734[1]
bootc-image-builder
를 사용하여 GCP 이미지 빌드 지원
bootc-image-builder
도구를 사용하여 .gce
디스크 이미지를 생성하고 GCE(Google Compute Engine) 플랫폼에서 인스턴스를 프로비저닝할 수 있습니다.
Jira:RHELDOCS-18472[1]
bootc-image-builder를 사용하여 VMDK 생성 및 배포 지원
이번 개선된 기능을 통해 bootc-image-builder
툴을 사용하여 bootc 이미지에서 VMI(가상 머신 디스크)를 생성하고 VMDK 이미지를 VMware vSphere에 배포할 수 있습니다.
Jira:RHELDOCS-18398[1]
podman pod inspect
명령에서 Pod 수에 관계없이 JSON 배열을 제공합니다.
이전에는 단일 Pod를 검사할 때 podman pod inspect
명령에서 JSON 배열을 생략했습니다. 이번 업데이트를 통해 podman pod inspect
명령에서 검사한 Pod 수와 관계없이 출력에 JSON 배열을 생성합니다.
Jira:RHELDOCS-18770[1]
composefs 파일 시스템 사용 가능
composefs 읽기 전용 파일 시스템이 이제 완전히 지원됩니다. 일반적으로 현재 bootc/ostree 및 podman 프로젝트에서만 사용하기 위한 것입니다. composefs를 사용하면 이러한 프로젝트를 사용하여 읽기 전용 이미지를 생성 및 사용하고, 이미지 간에 파일 데이터를 공유하며, 런타임 시 이미지를 검증할 수 있습니다. 따라서 동일한 파일의 opportunistic 세분화된 공유를 사용하여 완전히 검증된 파일 시스템 트리가 마운트됩니다.
Jira:RHEL-18157[1]