D11.2 Εγκατάσταση Podman με Ansible 🔧
Cross-distro εγκατάσταση
---
# roles/podman_install/tasks/main.yml
- name: "🦭 Install Podman (RedHat/Fedora)"
ansible.builtin.package:
name:
- podman
- podman-compose
- podman-docker # ← docker CLI shim
- buildah # ← image builder
- skopeo # ← image inspector
state: present
when: ansible_facts['os_family'] in ["RedHat"]
- name: "🦭 Install Podman (openSUSE)"
ansible.builtin.package:
name:
- podman
- podman-compose
- buildah
state: present
when: ansible_facts['os_family'] == "Suse"
- name: "🦭 Install Podman (Ubuntu)"
ansible.builtin.package:
name:
- podman
- podman-compose
- buildah
state: present
when: ansible_facts['os_family'] == "Debian"
# ── Rootless prerequisites ─────────────────────
- name: Install slirp4netns (rootless networking)
ansible.builtin.package:
name:
- slirp4netns
- fuse-overlayfs # ← rootless overlay storage
state: present
- name: Enable user lingering (auto-start on boot)
ansible.builtin.command:
cmd: "loginctl enable-linger {{ podman_user | default('ansible') }}"
changed_when: true
# ── /etc/subuid & /etc/subgid ─────────────────
- name: subuid για rootless
ansible.builtin.lineinfile:
path: /etc/subuid
line: "{{ podman_user | default('ansible') }}:100000:65536"
regexp: "^{{ podman_user | default('ansible') }}:"
create: true
mode: '0644'
- name: subgid για rootless
ansible.builtin.lineinfile:
path: /etc/subgid
line: "{{ podman_user | default('ansible') }}:100000:65536"
regexp: "^{{ podman_user | default('ansible') }}:"
create: true
mode: '0644'
# ── Verification ──────────────────────────────
- name: Podman version
ansible.builtin.command: podman version
changed_when: false
register: podman_ver
become: false
- name: "✅ Podman installed"
ansible.builtin.debug:
msg: "{{ podman_ver.stdout_lines[0] }}"
containers.podman collection
# Εγκατάσταση collection
ansible-galaxy collection install containers.podman
# ή requirements.yml:
# collections:
# - name: containers.podman
# version: ">=1.10.0"
Σύνοψη D11.2
Podman Installation
│
├── Packages: podman, podman-compose, buildah, skopeo
├── Rootless deps: slirp4netns, fuse-overlayfs
├── subuid/subgid: user namespace mapping
├── loginctl enable-linger: auto-start on boot
└── Collection: containers.podman