12장. Podman을 사용하여 컨테이너를 OpenShift로 포트
YAML("YAML Ain't Markup Language") 형식을 사용하여 컨테이너 및 Pod에 대한 이식 가능한 설명을 생성할 수 있습니다. YAML은 구성 데이터를 설명하는 데 사용되는 텍스트 형식입니다.
YAML 파일은 다음과 같습니다.
- 읽을 수 있습니다.
- 쉽게 생성할 수 있습니다.
- 환경 간에 이식 가능(예: RHEL과 OpenShift 간).
- 프로그래밍 언어 간에 이식 가능합니다.
- 사용하기 편리합니다(명령줄에 모든 매개 변수를 추가할 필요가 없음).
YAML 파일을 사용해야 하는 이유:
- 반복 개발에 유용할 수 있는 최소한의 입력을 사용하여 로컬 오케스트레이션 컨테이너 및 Pod 세트를 다시 실행할 수 있습니다.
-
다른 머신에서 동일한 컨테이너 및 Pod를 실행할 수 있습니다. 예를 들어 OpenShift 환경에서 애플리케이션을 실행하고 애플리케이션이 올바르게 작동하는지 확인하려면 다음을 수행합니다.
podman generate kube
명령을 사용하여 Kubernetes YAML 파일을 생성할 수 있습니다. 그런 다음 생성된 YAML 파일을 Kubernetes 또는 OpenShift 환경으로 전송하기 전에podman play
명령을 사용하여 로컬 시스템에서 Pod 및 컨테이너 생성을 테스트할 수 있습니다.podman play
명령을 사용하면 OpenShift 또는 Kubernetes 환경에서 원래 생성된 pod 및 컨테이너를 다시 생성할 수도 있습니다.
podman kube play
명령은 Kubernetes YAML 기능의 하위 집합을 지원합니다. 자세한 내용은 지원되는 YAML 필드의 지원 매트릭스 를 참조하십시오.
12.1. Podman을 사용하여 Kubernetes YAML 파일 생성 링크 복사링크가 클립보드에 복사되었습니다!
하나의 컨테이너가 있는 Pod를 생성하고 podman generate kube
명령을 사용하여 Kubernetes YAML 파일을 생성할 수 있습니다.
사전 요구 사항
-
container-tools
meta-package가 설치되어 있습니다. - Pod가 생성되었습니다. 자세한 내용은 Pod 생성 섹션을 참조하십시오.
프로세스
연결된 모든 Pod 및 컨테이너를 나열합니다.
podman ps -a --pod
$ podman ps -a --pod CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD 5df5c48fea87 registry.access.redhat.com/ubi10/ubi:latest /bin/bash Less than a second ago Up Less than a second ago myubi 223df6b390b4 3afdcd93de3e k8s.gcr.io/pause:3.1 Less than a second ago Up Less than a second ago 223df6b390b4-infra 223df6b390b4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod 이름 또는 ID를 사용하여 Kubernetes YAML 파일을 생성합니다.
podman generate kube mypod > mypod.yaml
$ podman generate kube mypod > mypod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman generate
명령은 컨테이너에 연결할 수 있는 LVM(Logical Volume Manager) 논리 볼륨 또는 물리 볼륨이 반영되지 않습니다.mypod.yaml
파일을 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow