成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用 Ansible 配置 Podman 容器

開源
在本文中,你將學習如何在 Fedora Linux 上安裝、配置 Ansible,以及如何使用它來管理、配置 Podman 容器。

[[399874]]

在復雜的 IT 基礎設施中,有許多重復性任務。成功運行這些任務并不容易。運行失敗大多數是人為錯誤引發。在 Ansible 幫助下,你可以通過遠程主機來執行所有任務,這些遠程主機按照行動手冊playbook執行,行動手冊可以根據需要重復使用多次。在本文中,你將學習如何在 Fedora Linux 上安裝、配置 Ansible,以及如何使用它來管理、配置 Podman 容器。

Ansible

Ansible 是一個由紅帽贊助的開源基礎設施自動化工具。它可以處理大型基礎設施帶來的所有問題,例如安裝和更新軟件包、備份、確保特定服務持續運行等等。你用 YAML 寫的行動手冊來做這些事。Ansible 行動手冊可以反復使用,使系統管理員的工作不那么復雜。行動手冊減少了重復任務,并且可以輕松修改。但是我們有很多像 Ansible 一樣的自動化工具,為什么要用它呢?與其他一些配置管理工具不同,Ansible 是無代理的:你不必在受管節點上安裝任何東西。

Podman

Podman 是一個開源的容器引擎,用于開發、管理和運行容器鏡像。但什么是容器呢?每當你創建任何新應用程序并將其部署在物理服務器、云服務器或虛擬機上時,你面臨的最常見問題是可移植性和兼容性。這就是容器出現的原因。容器在操作系統級別上進行虛擬化,因此它們只包含所需的庫和應用程序服務。容器的好處包括:

  • 便攜性
  • 隔離性
  • 擴展性
  • 輕量級
  • 快速啟動
  • 更小的磁盤和內存需求

簡而言之:當你為任何應用程序構建容器鏡像時,所有必需的依賴項都被打包到容器中。你現在可以在任何主機操作系統上運行該容器,沒有任何可移植性和兼容性問題。

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] *************************************************************************************************
  3.  
  4. TASK [Gathering Facts] *************************************************************************************************
  5. 0k: [fedora.example.com]
  6.  
  7. TASK [Installing podman] ************************************************************************************************
  8. changed: [fedora.example.com]
  9.  
  10. PLAY RECAP *************************************************************************************************
  11. fedora.example.com : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
  12. [mahesh@fedora new] $

現在創建一個新的行動手冊,從 Docker Hub 中拉取一個鏡像。你將使用 podman_image 模塊從 Docker Hub 中提取版本號為 2-alpine 的 httpd 鏡像。

  1. ---
  2. - name: Playbook for podman.
  3. hosts: fedora.example.com
  4. tasks:
  5. - name: Pull httpd:2-alpine image from dockerhub.
  6. podman_image:
  7. name: docker.io/httpd
  8. tag: 2-alpine

現在檢查已拉取的鏡像:

  1. [mahesh@fedora new] $ podman images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. docker.io/library/httpd 2-alpine fa848876521a 11 days ago 57 MB
  4.  
  5. [mahesh@fedora new] $

創建一個新的行動手冊來運行 httpd 鏡像。更多信息請查看 podman_container 模塊文檔。

  1. ---
  2. - name: Playbook for podman.
  3. hosts: fedora.example.com
  4. tasks:
  5. - name: Running httpd image.
  6. containers.podman.podman_container:
  7. name: my-first-container
  8. image: docker.io/httpd:2-alpine
  9. state: started

檢查容器運行狀態。

  1. [mahesh@fedora new] $ podman ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. 45d966eOe207 docker.io/library/httpd:2-alpine httpd-foreground 13 seconds ago Up 13 seconds ago my-first-container
  4.  
  5. [mahesh@fedora new] $

現在停止已運行的容器,改變狀態,由 started 變為 absent

  1. - name: Stopping httpd container.
  2. containers.podman.podman_container:
  3. name: my-first-container
  4. image: docker.io/httpd:2-alpine
  5. state: absent

當你執行 podman ps 命令時,你看不到任何運行的容器。

  1. [mahesh@fedora new] $ podman ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3.  
  4. [mahesh@fedora new] $

 

podman_container 可以做很多事情,例如重新創建容器、重新啟動容器、檢查容器是否正在運行等等。有關執行這些操作的信息,請參考 文檔

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2020-01-02 10:44:22

運維架構技術

2022-01-18 17:57:21

PodmanLinux容器

2018-10-26 16:20:27

PodmanrootLinux

2022-09-22 16:21:43

開源GUI 應用

2021-02-17 09:16:58

PodmanLinuxDocker

2021-02-17 09:39:41

PodmanDockerLinux

2019-10-30 12:00:02

Ansible容器與云容器鏡像

2021-07-25 10:34:17

FedoraPodmanLinux

2019-08-21 16:15:01

DockerPodmanSkopeo

2020-10-29 10:17:24

AnsibleKubernetes容器編排自動化

2016-10-17 13:33:26

原子主機AnsibleCockpit

2020-11-26 10:25:09

FedoraPodmanLinux

2019-08-05 15:38:07

BitwardenPodman密碼管理器

2019-08-26 19:03:58

2023-08-24 10:24:54

GitLabPodman

2019-08-26 19:24:55

Podman容器Linux

2019-07-16 16:40:00

Ansible工作站配置

2022-04-27 10:51:00

PythonMLCubePodman

2022-11-30 21:32:23

開源buildah工具

2019-07-16 16:26:16

Ansible桌面設置Linux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美在线观看一区 | 中文在线www | 久久国产综合 | 在线色网 | 成人性生交大片免费看中文带字幕 | 成人 在线 | 精品国产1区2区3区 在线国产视频 | 视频二区| 玖玖综合网| 看片地址 | 亚洲欧美国产精品久久 | 亚洲有码转帖 | 国产高清免费 | 一区二区三区四区在线播放 | 黄片毛片免费观看 | 精品www | 人人射人人插 | 久久男人| 一级做a | 成人av电影免费在线观看 | 一区二区三区免费观看 | 亚洲精品久久久久中文字幕欢迎你 | 久久亚洲精品国产精品紫薇 | 久久久久国产一区二区三区四区 | 三级成人在线 | 亚洲视频免费在线看 | 精品亚洲一区二区三区四区五区 | 国产精品久久久久一区二区三区 | 99久久精品国产一区二区三区 | 精品91久久 | 一区二区三区精品视频 | 国产免费人成xvideos视频 | 日日操视频 | 超碰在线人| 国产97色| 欧美成人精品一区二区男人看 | av在线视| 中文字幕综合 | 成年视频在线观看福利资源 | 91在线免费视频 | 99精品99|