state: (default: created) - systemd 서비스 및 Pod를 사용하여 실행할 작업을 나타냅니다.
created: Pod 및 systemd 서비스를 생성하지만 실행하지 않습니다.
started: Pod 및 systemd 서비스를 생성하고 시작합니다.
absent: pod 및 systemd 서비스를 제거합니다.
run_as_user: (기본값: podman_run_as_user) - Pod별 사용자입니다. 사용자를 지정하지 않으면 root 를 사용합니다.
참고
사용자가 이미 있어야 합니다.
run_as_group (기본값: podman_run_as_group) - Pod별 그룹입니다. 사용자를 지정하지 않으면 root 를 사용합니다.
참고
그룹이 이미 있어야 합니다.
systemd_unit_scope (기본값: podman_systemd_unit_scope) - systemd 단위에 사용할 범위입니다. 지정하지 않으면 시스템을 루트 컨테이너 및 사용자 컨테이너에 사용합니다.
kube_file_src - 관리 노드의 kube_file 에 복사될 컨트롤러 노드의 Kubernetes YAML 파일의 이름입니다.
참고
kube_file_content 변수를 지정하는 경우 kube_file_src 변수를 지정하지 마십시오. kube_file_content 는 kube_file_src 보다 우선합니다.
kube_file_content - Kubernetes YAML 형식의 문자열 또는 Kubernetes YAML 형식의 dict입니다. 관리 노드에서 kube_file 의 내용을 지정합니다.
참고
kube_file_src 변수를 지정하는 경우 kube_file_content 변수를 지정하지 마십시오. kube_file_content 는 kube_file_src 보다 우선합니다.
kube_file - 컨테이너 또는 Pod의 Kubernetes 사양이 포함된 관리 노드의 파일 이름입니다. 일반적으로 역할 외부의 관리 노드에 kube_file 파일을 복사할 필요가 없는 경우 kube_file 변수를 지정할 필요가 없습니다. kube_file_src 또는 kube_file_content 중 하나를 지정하는 경우 이를 지정할 필요가 없습니다.
참고
kube_file을 생략하고 대신 kube_file _ src 또는 kube_file _content 를 지정하고 역할에서 파일 경로와 이름을 관리하도록 하는 것이 좋습니다.
파일 basename은 K8s yaml의 metadata.name 값이고 .yml 접미사가 추가됩니다.
디렉터리는 시스템 서비스의 경우 /etc/containers/ansible-kubernetes.d 입니다.
디렉터리는 사용자 서비스의 경우 $HOME/.config/containers/ansible-kubernetes.d 입니다.
관리 노드의 /etc/containers/ansible-kubernetes.d/ <application_name > .yml 파일에 복사됩니다.
Quadlet은 유닛의 이름과 유형으로 정의됩니다. 단위 유형은 컨테이너,kube,network,volume 등일 수 있습니다. name 및 type 을 명시적으로 전달할 수 있습니다. 또는 이름과유형은 파일 ,file _src 또는 template_src 에 지정된 파일 이름에서 파생됩니다.
루트 컨테이너 파일은 관리 노드의 /etc/containers/systemd/$name.$type 에 있습니다.
rootless 컨테이너 파일은 관리 노드의 $HOME/.config/containers/systemd/$name.$type 에 있습니다.
Quadlet 사양이 다른 파일(예: Yaml 파일 또는 ConfigMap 에 종속된 quadlet.kube )에 종속된 경우 해당 파일을 사용하는 파일 앞에 podman_quadlet_specs 목록에 지정해야 합니다. 예를 들어 my-app.kube 파일이 있는 경우 다음을 수행합니다.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
그런 다음 로컬 파일 templates/my-app.container.j2 가 Jinja 템플릿 파일로 처리된 다음 관리 노드의 Quadlet 컨테이너 장치 사양으로 /etc/containers/systemd/my-app.container 에 복사됩니다.
podman_secrets
podman_secret 에서 사용하는 것과 동일한 형식의 시크릿 사양 목록입니다. 단, 지정된 사용자 계정에 보안을 생성하는 데 사용되는 추가 필드 run_as_user 가 있습니다. 이 값을 지정하지 않으면 podman_run_as_user 에서 지정한 계정에 보안이 생성되고, 기본값은 "root"인 경우 Ansible Vault를 사용하여 data 필드의 값을 암호화합니다.
podman_create_host_directories
true인 경우 역할은 podman_kube_specs 에 지정된 Kubernetes YAML의 volume .hostPath 사양에 지정된 호스트 디렉터리를 확인합니다. 기본값은 false입니다.
참고
역할이 디렉터리를 관리하도록 하려면 루트 컨테이너의 절대 경로로 디렉터리를 지정하거나 루트가 아닌 컨테이너의 경우 홈 디렉터리와 관련된 경로를 지정해야 합니다.
이 역할은 기본 소유권 또는 권한을 디렉터리에 적용합니다. 소유권 또는 권한을 설정해야 하는 경우 podman_host_directories 를 참조하십시오.
podman_host_directories
이는 dict입니다. podman_create_host_directories 를 사용하여 볼륨 마운트를 위한 호스트 디렉터리를 생성하도록 역할에 알리고 생성된 호스트 디렉터리에 적용되는 권한 또는 소유권을 지정해야 하는 경우 podman_host_directories 를 사용하십시오. 각 키는 관리할 호스트 디렉터리의 절대 경로입니다. 값은 file 모듈에 대한 매개변수 형식입니다. 값을 지정하지 않으면 역할은 기본 제공 기본값을 사용합니다. 모든 호스트 디렉터리에 사용할 값을 지정하려면 특수 키 DEFAULT 를 사용합니다.
podman_firewall
이 목록은 dict 목록입니다. 방화벽에서 역할을 관리할 포트를 지정합니다. 방화벽 RHEL 시스템 역할에서 사용하는 것과 동일한 형식을 사용합니다.
podman_selinux_ports
이 목록은 dict 목록입니다. 역할에서 사용하는 포트에 대한 SELinux 정책을 관리할 포트를 지정합니다. 이 명령은 selinux RHEL 시스템 역할에서 사용하는 것과 동일한 형식을 사용합니다.
podman_run_as_user
모든 rootless 컨테이너에 사용할 사용자의 이름을 지정합니다. podman_kube_specs,podman_quadlet_specs 또는 podman_secrets 에서 run_as_user 를 사용하여 컨테이너별/unit/secret 사용자 이름을 지정할 수도 있습니다.
참고
사용자가 이미 있어야 합니다.
podman_run_as_group
모든 rootless 컨테이너에 사용할 그룹의 이름을 지정합니다. podman_kube_specs 또는 podman_quadlet_specs 에서 run_as_group 을 사용하여 컨테이너별 또는 단위 그룹 이름을 지정할 수도 있습니다.
참고
그룹이 이미 있어야 합니다.
podman_systemd_unit_scope
모든 systemd 장치에 기본적으로 사용할 systemd 범위를 정의합니다. podman_kube_specs 및 podman_quadlet_specs 에서 systemd_unit_scope 를 사용하여 컨테이너별 또는 단위 범위를 지정할 수도 있습니다. 기본적으로 rootless 컨테이너는 사용자 및 root 컨테이너를 사용합니다.
podman_containers_conf
containers.conf(5) 설정을 dict로 정의합니다. 설정은 containers.conf.d 디렉터리의 드롭인 파일에 제공됩니다. root 로 실행하면 시스템 설정이 관리됩니다. podman_run_as_user. otherwise, 사용자 설정이 관리됨을 참조하십시오. 디렉터리 위치는 containers.conf man 페이지를 참조하십시오.
podman_registries_conf
containers-registries.conf(5) 설정을 dict로 정의합니다. 설정은 registries.conf.d 디렉터리의 드롭인 파일에 제공됩니다. root 로 실행하면 시스템 설정이 관리됩니다. podman_run_as_user 를 참조하십시오. 그렇지 않으면 사용자 설정이 관리됩니다. 디렉터리 위치는 registries.conf man 페이지를 참조하십시오.
podman_storage_conf
containers-storage.conf(5) 설정을 dict로 정의합니다. root 로 실행하면 시스템 설정이 관리됩니다. podman_run_as_user 를 참조하십시오. 그렇지 않으면 사용자 설정이 관리됩니다. 디렉터리 위치는 storage.conf man 페이지를 참조하십시오.
podman_policy_json
containers-policy.conf(5) 설정을 dict로 정의합니다. root로 실행하는 경우( podman_run_as_user참조) 시스템 설정이 관리됩니다. 그렇지 않으면 사용자 설정이 관리됩니다. 디렉터리 위치는 policy.json man 페이지를 참조하십시오.