19.2. 使用 podman RHEL 系统角色创建一个带有 Podman 卷的有根容器
您可以使用 podman
RHEL 系统角色,通过运行 Ansible playbook 来创建一个带有 Podman 卷的有根容器,并管理应用程序配置。
示例 Ansible playbook 部署一个名为 ubi8-httpd
的 从 registry.access.redhat.com/ubi8/httpd-24
镜像运行 HTTP 服务器容器的 Kubernetes pod。容器的 Web 内容是从一个名为 ubi8-html-volume
的持久卷中挂载的。默认情况下,podman
角色创建有根容器。
先决条件
- 您已准备好控制节点和受管节点。
- 您以可在受管主机上运行 playbook 的用户身份登录到控制节点。
-
您用于连接到受管节点的帐户对它们具有
sudo
权限。
流程
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例 playbook 中指定的设置包括如下:
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
标志使用私有 unshared 标签标记内容,因此只有ubi8-httpd
容器可以访问内容。 -
pod 使用挂载路径
/var/www/html
挂载名为ubi8-html-volume
的现有持久性卷。
-
有关 playbook 中使用的所有变量的详情,请查看控制节点上的
/usr/share/ansible/roles/rhel-system-roles.podman/README.md
文件。验证 playbook 语法:
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,这个命令只验证语法,不能防止错误的、但有效的配置。
运行 playbook:
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow