13.2. podman RHEL 시스템 역할을 사용하여 Podman 볼륨에서 rootful 컨테이너 생성
podman
RHEL 시스템 역할을 사용하여 Ansible 플레이북을 실행하고 이를 사용하여 애플리케이션 구성을 관리하여 Podman 볼륨에 rootful 컨테이너를 생성할 수 있습니다.
예제 Ansible 플레이북은 registry.access.redhat.com/ubi8/httpd-24
이미지에서 HTTP 서버 컨테이너를 실행하는 ubi8-httpd
라는 Kubernetes 포드를 배포합니다. 컨테이너의 웹 콘텐츠는 ubi8-html-volume
이라는 영구 볼륨에서 마운트됩니다. 기본적으로 podman
역할은 rootful 컨테이너를 생성합니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
프로세스
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
kube_file_content
db
라는 첫 번째 컨테이너를 정의하는 Kubernetes YAML 파일이 포함되어 있습니다.podman kube generate
명령을 사용하여 Kubernetes YAML 파일을 생성할 수 있습니다.-
ubi8-httpd
컨테이너는registry.access.redhat.com/ubi8/httpd-24
컨테이너 이미지를 기반으로 합니다. -
ubi8-html-volume
은 호스트의/var/www/html
디렉터리를 컨테이너에 매핑합니다.Z
플래그는 비공개 비공유 레이블로 콘텐츠에 레이블을 지정하므로ubi8-httpd
컨테이너만 콘텐츠에 액세스할 수 있습니다. -
Pod는 마운트 경로
/var/www/html
을 사용하여ubi8-html-volume
이라는 기존 영구 볼륨을 마운트합니다.
-
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.podman/README.md
파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow