4.19. 컨테이너

새로운 podman RHEL System Role 사용 가능

Podman 4.2부터 podman System Role을 사용하여 Podman 컨테이너를 실행하는 Podman 구성, 컨테이너 및 systemd 서비스를 관리할 수 있습니다.

Jira:RHELPLAN-118705

Podman에서 감사 이벤트 지원

Podman v4.4부터 단일 이벤트 및 journald 항목에서 컨테이너에 대한 모든 관련 정보를 직접 수집할 수 있습니다. Podman 감사를 활성화하려면 container.conf 구성 파일을 수정하고 events_container_create_inspect_data=true 옵션을 [engine] 섹션에 추가합니다. 데이터는 podman container inspect 명령과 동일하게 JSON 형식입니다. 자세한 내용은 Podman 4.4의 새 컨테이너 이벤트 및 감사 기능을 사용하는 방법을 참조하십시오.

Jira:RHELPLAN-136602

container-tools meta-package가 업데이트됨

Podman, Buildah, Skopeo, crun 및 runc 툴이 포함된 container-tools RPM meta-package를 사용할 수 있습니다. 이번 업데이트에서는 이전 버전에 비해 일련의 버그 수정 및 개선 사항을 적용합니다.

Podman v4.4의 주요 변경 사항은 다음과 같습니다.

  • Podman을 사용하여 systemd 서비스를 쉽게 생성하고 유지 관리하는 새로운 systemd 생성기인 Quadlet을 소개합니다.
  • 컨테이너 및 포드의 네트워크를 업데이트하는 새로운 명령 podman network update 가 추가되었습니다.
  • buildah 버전을 표시하는 새 명령 podman buildx 버전 이 추가되었습니다.
  • 컨테이너는 이제 시작 상태 점검을 통해 일반 상태 점검을 활성화하기 전에 컨테이너를 완전히 시작하기 위해 명령을 실행할 수 있습니다.
  • podman --dns 명령을 사용하여 사용자 지정 DNS 서버 선택을 지원합니다.
  • Fulcio 및 Rekor를 사용하여 sigstore 서명을 생성 및 확인할 수 있습니다.
  • Docker와의 호환성 개선(새 옵션 및 별칭).
  • Podman의 Kubernetes 통합 개선 - podman kube generatepodman kube play 명령을 사용할 수 있으며 podman generate kubepodman play kube 명령을 교체합니다. podman generate kubepodman play kube 명령을 계속 사용할 수 있지만 새로운 podman kube 명령을 사용하는 것이 좋습니다.
  • podman kube play 명령으로 생성된 systemd 관리 포드가 이제 io.containers.sdnotify 주석(또는 특정 컨테이너의 io.containers.sdnotify /$name )을 사용하여 sd-notify와 통합됩니다.
  • podman kube 플레이에서 생성한 systemd 관리 포드는 이제 io.containers.auto-update 주석(또는 특정 컨테이너의 io.containers.auto-update/$name )을 사용하여 자동 업데이트할 수 있습니다.

주목할 만한 변경 사항에 대한 자세한 내용은 podman이 버전 4.4로 업그레이드되어 업스트림 릴리스 노트를 참조하십시오.

Jira:RHELPLAN-136607

Aardvark 및 Netavark가 사용자 정의 DNS 서버 선택을 지원

Aardvark 및 Netavark 네트워크 스택은 이제 호스트의 기본 DNS 서버가 아닌 컨테이너에 대한 사용자 정의 DNS 서버 선택을 지원합니다. 사용자 정의 DNS 서버를 지정하는 두 가지 옵션이 있습니다.

  • containers.conf 구성 파일에 dns_servers 필드를 추가합니다.
  • 새로운 --dns Podman 옵션을 사용하여 DNS 서버의 IP 주소를 지정합니다.

--dns 옵션은 container.conf 파일의 값을 덮어씁니다.

Jira:RHELPLAN-138024

Skopeo에서 sigstore 키 쌍 생성을 지원

skopeo generate-sigstore-key 명령을 사용하여 sigstore 공용/개인 키 쌍을 생성할 수 있습니다. 자세한 내용은 skopeo-generate-sigstore-key man 페이지를 참조하십시오.

Jira:RHELPLAN-151481

Toolbox를 사용할 수 있음

toolbox 유틸리티를 사용하면 시스템에 직접 문제 해결 툴을 설치하지 않고도 컨테이너화된 명령줄 환경을 사용할 수 있습니다. Toolbox는 OCI의 Podman 및 기타 표준 컨테이너 기술을 기반으로 합니다. 자세한 내용은 toolbx 를 참조하십시오.

Jira:RHELPLAN-150266

컨테이너 이미지에 두 자리 태그가 있음

RHEL 9.0 및 RHEL 9.1에서는 컨테이너 이미지에 세 자리 태그가 있었습니다. RHEL 9.2부터 컨테이너 이미지에 두 자리 태그가 있습니다.

Jira:RHELPLAN-147982

이미지에 서명하기 위한 신뢰할 수 있는 여러 GPG 키의 기능을 사용할 수 있습니다.

/etc/containers/policy.json 파일은 신뢰할 수 있는 키가 포함된 파일 목록을 수락하는 새로운 keyPaths 필드를 지원합니다. 이로 인해 Red Hat의 일반 가용성 및 베타 GPG 키로 서명된 컨테이너 이미지가 이제 기본 구성에서 허용됩니다.

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

"registry.redhat.io": [
        {
            "type": "signedBy",
            "keyType": "GPGKeys",
            "keyPaths": ["/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release", "/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta"]
        }
]

Jira:RHELPLAN-129327

Podman에서 pre-execution 후크 지원

/usr/libexec/podman/pre-exec-hooks/etc/containers/pre-exec-hooks 디렉터리에 있는 root-owned 플러그인 스크립트는 특히 인증되지 않은 작업을 차단하여 컨테이너 작업에 대한 세부 제어를 정의합니다.

/etc/containers/podman_preexec_hooks.txt 파일은 관리자가 생성해야 하며 비어 있을 수 있습니다. /etc/containers/podman_preexec_hooks.txt 가 없으면 플러그인 스크립트가 실행되지 않습니다. 플러그인 스크립트에서 0 값을 반환하면 podman 명령이 실행됩니다. 그러지 않으면 podman 명령이 상속된 종료 코드로 종료됩니다.

Red Hat은 다음 이름 지정 규칙을 사용하여 스크립트를 올바른 순서로 실행하는 것이 좋습니다. DDD-plugin_name.lang (예: 010-check-group.py ). 플러그인 스크립트는 생성 시 유효합니다. 플러그인 스크립트 이전에 생성된 컨테이너는 영향을 받지 않습니다.

Bugzilla:2119200

sigstore 서명 사용 가능

Podman 4.2부터 컨테이너 이미지 서명의 sigstore 형식을 사용할 수 있습니다. sigstore 서명은 이미지 서명을 저장하기 위해 별도의 서명 서버가 없어도 컨테이너 이미지와 함께 컨테이너 레지스트리에 저장됩니다.

Jira:RHELPLAN-74672

Toolbox는 RHEL 9 컨테이너를 생성할 수 있습니다.

이전에는 Toolbox 유틸리티에서 RHEL UBI 8 이미지만 지원했습니다. 이번 릴리스에서 Toolbox는 RHEL UBI 9도 지원합니다. 결과적으로 RHEL 8 또는 9를 기반으로 Toolbox 컨테이너를 생성할 수 있습니다.

다음 명령은 호스트 시스템과 동일한 RHEL 릴리스를 기반으로 RHEL 컨테이너를 생성합니다.

$ toolbox create

또는 특정 RHEL 릴리스를 사용하여 컨테이너를 만들 수도 있습니다. 예를 들어 RHEL 9.2를 기반으로 컨테이너를 생성하려면 다음 명령을 사용합니다.

$ toolbox create --distro rhel --release 9.2

Bugzilla:2163752

새로운 패키지: passt

이번 업데이트에서는 컨테이너에 pasta rootless 네트워킹 백엔드를 사용할 수 있는 passt 패키지가 추가되었습니다.

Podman의 권한이 없는 네트워킹에 현재 사용되는 Slirp 연결과 비교하여 pasta 는 다음과 같은 향상된 기능을 제공합니다.

  • NDP(neighbor Discovery Protocol) 및 DHCPv6에 대한 지원이 포함된 처리량 향상 및 IPv6 지원 개선
  • IPv6에서 TCP 및 UDP 포트의 포트 전달을 구성하는 기능

pasta 를 사용하여 Podman 컨테이너를 연결하려면 --network pasta 명령줄 옵션을 사용합니다.

Bugzilla:2209419