当前位置:首页 >百科 >使用 Ansible 配置 Podman 容器 Ansible 行动手册可以反复使用

使用 Ansible 配置 Podman 容器 Ansible 行动手册可以反复使用

2024-07-02 13:24:03 [百科] 来源:避面尹邢网

使用 Ansible 配置 Podman 容器

作者:Mahesh1b 开源 在本文中,使用你将学习如何在 Fedora Linux 上安装、使用配置 Ansible,使用以及如何使用它来管理、使用配置 Podman 容器。使用

[[399874]]

在复杂的使用 IT 基础设施中,有许多重复性任务。使用成功运行这些任务并不容易。使用运行失败大多数是使用人为错误引发。在 Ansible 帮助下,使用你可以通过远程主机来执行所有任务,使用这些远程主机按照行动手册playbook执行,使用行动手册可以根据需要重复使用多次。使用在本文中,使用你将学习如何在 Fedora Linux 上安装、使用配置 Ansible,以及如何使用它来管理、配置 Podman 容器。

使用 Ansible 配置 Podman 容器 Ansible  行动手册可以反复使用

Ansible

Ansible 是一个由红帽赞助的开源基础设施自动化工具。它可以处理大型基础设施带来的所有问题,例如安装和更新软件包、备份、确保特定服务持续运行等等。你用 YAML 写的行动手册来做这些事。Ansible 行动手册可以反复使用,使系统管理员的工作不那么复杂。行动手册减少了重复任务,并且可以轻松修改。但是我们有很多像 Ansible 一样的自动化工具,为什么要用它呢?与其他一些配置管理工具不同,Ansible 是无代理的:你不必在受管节点上安装任何东西。

使用 Ansible 配置 Podman 容器 Ansible  行动手册可以反复使用

Podman

Podman 是一个开源的容器引擎,用于开发、管理和运行容器镜像。但什么是容器呢?每当你创建任何新应用程序并将其部署在物理服务器、云服务器或虚拟机上时,你面临的最常见问题是可移植性和兼容性。这就是容器出现的原因。容器在操作系统级别上进行虚拟化,因此它们只包含所需的库和应用程序服务。容器的好处包括:

使用 Ansible 配置 Podman 容器 Ansible  行动手册可以反复使用

  • 便携性
  • 隔离性
  • 扩展性
  • 轻量级
  • 快速启动
  • 更小的磁盘和内存需求

简而言之:当你为任何应用程序构建容器镜像时,所有必需的依赖项都被打包到容器中。你现在可以在任何主机操作系统上运行该容器,没有任何可移植性和兼容性问题。

Podman 的关键亮点在于它没有守护程序,因此不需要 root 权限来运行容器。你可以借助 Dockerfile 构建容器镜像,或者从 Docker Hub、fedoraproject.org 或 Quay 上拉取镜像。

为什么用 Ansible 配置 Podman?

Ansible 提供了一种轻松多次运行重复任务的方法。它还为云提供商(如 AWS、GCP 和 Azure)、容器管理工具(如 Docker 和 Podman)与数据库管理提供了大量模块。Ansible 还有一个社区(Ansible Galaxy),在这里你可以找到大量 Ansible 角色Roles,它们由来自世界各地的贡献者创建。因为这些,Ansible 成为了 DevOps 工程师和系统管理员手中的好工具。

借助 DevOps,应用程序的开发步伐很快。开发的应用不局限于任意操作系统,这点至关重要。这就是 Podman 出现的地方。

安装 Ansible

首先,安装 Ansible:

  1. $ sudo dnf install ansible -y

配置 Ansible

Ansible 需要在受管节点上运行 ssh,所以首先生成一个密钥对Key Pair

  1. $ ssh-keygen

生成密钥后,将密钥复制到受管节点。

输入 yes,然后输入受管节点的密码。现在可以远程访问受管主机。

为了能够访问受管节点,你需要将所有主机名或 IP 地址存储在清单文件中。默认情况下,这是在 ~/etc/ansible/hosts

这是库存inventory文件的样子。方括号用于将组分配给某些特定的节点。

  1. [group1]
  2. green.example.com
  3. blue.example.com
  4. [group2]
  5. 192.168.100.11
  6. 192.168.100.10

检查所有受管节点是否可以到达。

  1. $ ansible all -m ping

你可以看到如下输出:

  1. [mahesh@fedora new] $ ansible all -m ping
  2. fedora.example.com I SUCCESS {
  3. "ansibe_facts": {
  4. "discovered_interpreter_python": "/usr/bin/python"
  5. },
  6. "changed": false,
  7. "ping": "pong"
  8. }
  9. [mahesh@fedora new] $

现在创建你的第一个行动手册playbook,它将在受管节点上安装 Podman。首先用 .yml 拓展名创建一个任意名称的文件。

  1. $ vim name_of_playbook.yml

行动手册应该如下所示。第一个字段是行动手册的名称。主机字段(hosts)用于提及清单中提到的主机名或组名。become: yes 表示升级权限,以及任务(tasks)包含所要执行的任务,这里的名称(name)指定任务(tasks)名称,yum 是安装软件包的模块,下面在名称字段(name)指定软件包名称,在状态字段(state)指定安装或删除软件包。

  1. ---
  2. - name: First playbook
  3.    hosts: fedora.example.com
  4.    become: yes
  5.   tasks:
  6.     - name: Installing podman.
  7.        yum:
  8.          name: podman
  9.          state: present

检查文件中是否有语法错误:

  1. $ ansible-playbook filename --syntax-check

现在运行行动手册:

  1. $ ansible-playbook filename

你可以看到如下输出:

  1. [mahesh@fedora new] $ ansible-playbook podman_installation.yml
  2. PLAY [First playbook]

    (责任编辑:休闲)

    推荐文章
    热点阅读