podman_kube_specs
|
Podman 포드 및 해당 systemd 장치를 설명합니다.
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 파일에 복사됩니다.
|
podman_quadlet_specs
|
Quadlet 사양 목록입니다.
Quadlets는 RHEL 8에서 rootful 컨테이너에서만 작동합니다. Quadlets는 RHEL 9에서만 rootless 컨테이너에서 작동합니다.
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 파일이 있는 경우 다음을 수행합니다.
[Kube]
ConfigMap=my-app-config.yml
Yaml=my-app.yml
...
그런 다음 my-app-config.yml 및 my-app.yml : 앞에 my-app-config.yml을 지정해야 합니다.
podman_quadlet_specs:
- file_src: my-app-config.yml
- file_src: my-app.yml
- file_src: my-app.kube
각 Quadlet 사양에 대한 대부분의 매개변수는 kube 매개변수가 지원되지 않는 점을 제외하고 위의 podman_ kube _spec 과 동일합니다. 지원되는 매개변수는 다음과 같습니다.
name - 단위의 이름입니다. 이름을 지정하지 않으면 파일 , file _src 또는 template_src 에서 파생됩니다.
-
예를 들어
file_src: /path/to/my-container.container 를 지정하면 이름은 my-container 입니다.
유형 - 단위 유형은 container ,kube ,network ,volume 등일 수 있습니다. 이름을 지정하지 않으면 파일 , file _src 또는 template_src 에서 파생됩니다.
file_src - Quadlet 장치의 소스로 사용할 관리 노드에 복사할 제어 노드의 파일 이름입니다.
이 파일이 Quadlet 단위 형식이고 유효한 Quadlet 장치 접미사가 있는 경우 Quadlet 단위로 사용됩니다. 그렇지 않으면 방금 복사됩니다.
file - Quadlet 장치의 소스로 사용할 관리 노드의 파일 이름입니다.
이 파일이 Quadlet 단위 형식이고 유효한 Quadlet 장치 접미사가 있는 경우 Quadlet 단위로 사용됩니다. 그렇지 않으면 방금 복사됩니다.
-
file_content - 관리 노드에 복사할 파일의 콘텐츠(문자열 형식)입니다. 이 기능은 인라인으로 쉽게 지정할 수 있는 짧은 파일을 전달하는 데 유용합니다. name 및 type 을 지정해야 합니다.
template_src - Jinja * 템플릿 파일로 처리할 제어 노드의 파일 이름입니다. 그런 다음 Quadlet 단위 소스로 사용할 관리 노드에 복사됩니다.
이 파일이 Quadlet 단위 형식이고 유효한 Quadlet 장치 접미사가 있는 경우 Quadlet 단위로 사용됩니다. 그렇지 않으면 방금 복사됩니다. 파일에 .j2 접미사가 있는 경우 해당 접미사가 제거되어 사각형 파일 유형을 결정합니다.
예를 들어 다음을 지정하는 경우 다음을 수행합니다.
podman_quadlet_specs:
- template_src: my-app.container.j2
그런 다음 로컬 파일 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 페이지를 참조하십시오.
|