outwire.podman_systemd

Ansible 角色 Podman Systemd

lint quality license

配置 Podman Pod 和容器的 Systemd 单元

角色变量

podman_systemd_service_path: /etc/systemd/system
podman_systemd_container_service_prefix: "container"
podman_systemd_pod_service_prefix: "pod"

Systemd 服务文件的存放位置。您还可以配置服务名称的前缀。

podman_systemd_default_wants: network.target
podman_systemd_default_after: network-online.target
podman_systemd_default_restart: on-failure
podman_systemd_default_wantedby: multi-user.target default.target

Systemd 服务的默认值。您也可以为每个 Pod / 容器更改这些值(见下文)。

podman_systemd_default_container_detached: false

容器默认是附加启动的,因此可以在 syslog 中捕获输出。如果您想将其分离,请更改为 true。这可以为每个 Pod / 容器单独更改(见下文)。

其他变量可以在 defaults/main.yml 中找到。

注意事项

虽然该角色理论上支持以“非主用户组”的身份运行无根容器或 Pod(例如,用户“test”和组“asdf”,而不是组“test”),但在这种情况下可能会遇到 subuids/gids 的一些问题。

示例容器变量

podman_containers:
  - name: nginx
    run_as_user: root
    run_args:
      -p 80:80
    image: nginx:latest
  - name: node-exporter
    run_as_user: prometheus
    run_args:
      -p 9100:9100
    image: quay.io/prometheus/node-exporter:v1.0.1

示例 Pod 变量

podman_pods:
  - name: nextcloud
    run_as_user: nextcloud
    run_user_subid: 500000:100000
    run_args:
      -p 8080:80
    restart: always
    containers:
      - name: db
        image: mariadb
        detached: true
        run_args:
          -v nextcloud-db:/var/lib/mysql
          -e MYSQL_ROOT_PASSWORD=rootpw
          -e MYSQL_PASSWORD=123
          -e MYSQL_DATABASE=nextcloud
          -e MYSQL_USER=nextcloud
        cmd_args:
          --transaction-isolation=READ-COMMITTED
          --binlog-format=ROW
      - name: app
        image: nextcloud
        run_args:
          -v nextcloud-app:/var/www/html
          -e MYSQL_ROOT_PASSWORD=rootpw
          -e MYSQL_PASSWORD=123
          -e MYSQL_DATABASE=nextcloud
          -e MYSQL_USER=nextcloud

许可证

MIT

关于项目

Configure podman pod and container systemd untis

安装
ansible-galaxy install outwire.podman_systemd
许可证
mit
下载
200
拥有者