15.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 컨테이너를 생성합니다.

사전 요구 사항

절차

  1. 다음 콘텐츠를 사용하여 플레이북 파일(예: ~/playbook.yml )을 생성합니다.

    - name: Configure Podman
      hosts: managed-node-01.example.com
      tasks:
        - name: Start Apache server on port 8080
          ansible.builtin.include_role:
            name: rhel-system-roles.podman
      vars:
        podman_firewall:
          - port: 8080/tcp
            state: enabled
        podman_kube_specs:
          - state: started
            kube_file_content:
              apiVersion: v1
              kind: Pod
              metadata:
                name: ubi8-httpd
              spec:
                containers:
                  - name: ubi8-httpd
                    image: registry.access.redhat.com/ubi8/httpd-24
                    ports:
                      - containerPort: 8080
                        hostPort: 8080
                    volumeMounts:
                      - mountPath: /var/www/html:Z
                        name: ubi8-html
                volumes:
                  - name: ubi8-html
                    persistentVolumeClaim:
                      claimName: ubi8-html-volume

    예제 플레이북에 지정된 설정은 다음과 같습니다.

    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 파일을 참조하십시오.

  2. 플레이북 구문을 확인합니다.

    $ ansible-playbook --syntax-check ~/playbook.yml

    이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.

  3. Playbook을 실행합니다.

    $ ansible-playbook ~/playbook.yml

추가 리소스

  • /usr/share/ansible/roles/rhel-system-roles.podman/README.md 파일
  • /usr/share/doc/rhel-system-roles/podman/ 디렉터리
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.