一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Linux|Centos|Ubuntu|系統(tǒng)進(jìn)程|Fedora|注冊(cè)表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務(wù)器之家 - 服務(wù)器系統(tǒng) - Linux - Linux上安裝配置Ansible管理Podman容器

Linux上安裝配置Ansible管理Podman容器

2021-05-17 23:47Linux中國Mahesh1b Linux

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

Linux上安裝配置Ansible管理Podman容器

在復(fù)雜的 IT 基礎(chǔ)設(shè)施中,有許多重復(fù)性任務(wù)。成功運(yùn)行這些任務(wù)并不容易。運(yùn)行失敗大多數(shù)是人為錯(cuò)誤引發(fā)。在 Ansible 幫助下,你可以通過遠(yuǎn)程主機(jī)來執(zhí)行所有任務(wù),這些遠(yuǎn)程主機(jī)按照行動(dòng)手冊(cè)playbook執(zhí)行,行動(dòng)手冊(cè)可以根據(jù)需要重復(fù)使用多次。在本文中,你將學(xué)習(xí)如何在 Fedora Linux 上安裝、配置 Ansible,以及如何使用它來管理、配置 Podman 容器

Ansible

 

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

Podman

 

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

  • 便攜性
  • 隔離性
  • 擴(kuò)展性
  • 輕量級(jí)
  • 快速啟動(dòng)
  • 更小的磁盤和內(nèi)存需求

簡(jiǎn)而言之:當(dāng)你為任何應(yīng)用程序構(gòu)建容器鏡像時(shí),所有必需的依賴項(xiàng)都被打包到容器中。你現(xiàn)在可以在任何主機(jī)操作系統(tǒng)上運(yùn)行該容器,沒有任何可移植性和兼容性問題。

Podman 的關(guān)鍵亮點(diǎn)在于它沒有守護(hù)程序,因此不需要 root 權(quán)限來運(yùn)行容器。你可以借助 Dockerfile 構(gòu)建容器鏡像,或者從 Docker Hub、fedoraproject.org 或 Quay 上拉取鏡像。

為什么用 Ansible 配置 Podman?

 

Ansible 提供了一種輕松多次運(yùn)行重復(fù)任務(wù)的方法。它還為云提供商(如 AWS、GCP 和 Azure)、容器管理工具(如 Docker 和 Podman)與數(shù)據(jù)庫管理提供了大量模塊。Ansible 還有一個(gè)社區(qū)(Ansible Galaxy),在這里你可以找到大量 Ansible 角色Roles,它們由來自世界各地的貢獻(xiàn)者創(chuàng)建。因?yàn)檫@些,Ansible 成為了 DevOps 工程師和系統(tǒng)管理員手中的好工具。

借助 DevOps,應(yīng)用程序的開發(fā)步伐很快。開發(fā)的應(yīng)用不局限于任意操作系統(tǒng),這點(diǎn)至關(guān)重要。這就是 Podman 出現(xiàn)的地方。

安裝 Ansible

 

首先,安裝 Ansible:

  1. $ sudo dnf install ansible -y

配置 Ansible

 

Ansible 需要在受管節(jié)點(diǎn)上運(yùn)行 ssh,所以首先生成一個(gè)密鑰對(duì)Key Pair

  1. $ ssh-keygen

生成密鑰后,將密鑰復(fù)制到受管節(jié)點(diǎn)。

輸入 yes,然后輸入受管節(jié)點(diǎn)的密碼。現(xiàn)在可以遠(yuǎn)程訪問受管主機(jī)。

為了能夠訪問受管節(jié)點(diǎn),你需要將所有主機(jī)名或 IP 地址存儲(chǔ)在清單文件中。默認(rèn)情況下,這是在 ~/etc/ansible/hosts

這是庫存inventory文件的樣子。方括號(hào)用于將組分配給某些特定的節(jié)點(diǎn)。

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

檢查所有受管節(jié)點(diǎn)是否可以到達(dá)。

  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] $

現(xiàn)在創(chuàng)建你的第一個(gè)行動(dòng)手冊(cè)playbook,它將在受管節(jié)點(diǎn)上安裝 Podman。首先用 .yml 拓展名創(chuàng)建一個(gè)任意名稱的文件。

  1. $ vim name_of_playbook.yml

行動(dòng)手冊(cè)應(yīng)該如下所示。第一個(gè)字段是行動(dòng)手冊(cè)的名稱。主機(jī)字段(hosts)用于提及清單中提到的主機(jī)名或組名。become: yes 表示升級(jí)權(quán)限,以及任務(wù)(tasks)包含所要執(zhí)行的任務(wù),這里的名稱(name)指定任務(wù)(tasks)名稱,yum 是安裝軟件包的模塊,下面在名稱字段(name)指定軟件包名稱,在狀態(tài)字段(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

檢查文件中是否有語法錯(cuò)誤:

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

現(xiàn)在運(yùn)行行動(dòng)手冊(cè):

  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] $

現(xiàn)在創(chuàng)建一個(gè)新的行動(dòng)手冊(cè),從 Docker Hub 中拉取一個(gè)鏡像。你將使用 podman_image 模塊從 Docker Hub 中提取版本號(hào)為 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

現(xiàn)在檢查已拉取的鏡像:

  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] $

創(chuàng)建一個(gè)新的行動(dòng)手冊(cè)來運(yùn)行 httpd 鏡像。更多信息請(qǐng)查看 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

檢查容器運(yùn)行狀態(tài)。

  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] $

現(xiàn)在停止已運(yùn)行的容器,改變狀態(tài),由 started 變?yōu)?nbsp;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

當(dāng)你執(zhí)行 podman ps 命令時(shí),你看不到任何運(yùn)行的容器。

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

podman_container 可以做很多事情,例如重新創(chuàng)建容器、重新啟動(dòng)容器、檢查容器是否正在運(yùn)行等等。有關(guān)執(zhí)行這些操作的信息,請(qǐng)參考 文檔。

原文鏈接:https://linux.cn/article-13396-1.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99久久er这里只有精品17 | 男男gaygays中国 | 奇米网7777| 蜜汁肉桃全文免费阅读 | 国产麻豆精品视频 | 外国老少性配 | 美女被草漫画 | 女女同性做爰xxoo亲吻 | 色综合久久中文字幕网 | 久热这里只有精品99国产6 | 成人影院视频 | 日本三级s级在线播放 | 息与子中文字幕在线 | 91网红福利精品区一区二 | 亚洲国产日韩成人综合天堂 | 日本视频免费看 | 九九精品视频在线观看九九 | 韩国甜性涩爱免费观看 | 亚洲国产在线综合018 | 波多野结衣 在线播放 | 精品国产在天天线在线麻豆 | 国产情侣偷国语对白 | 国产精品怡红院永久免费 | blacked黑人hd2021 bestialityvideo另类 | 亚洲小视频在线 | 日本久久热 | 亚洲欧美久久一区二区 | 精品精品国产自在香蕉网 | 热久久亚洲 | 古代色翁荡熄 | 2021国产麻豆剧传媒新片 | 色综合天天综合网国产人 | 亚洲天堂视频在线观看免费 | 欧美人与禽交片在线播放 | 亚洲精品色婷婷在线影院麻豆 | 亚洲国产天堂在线观看 | xx18-19xxxxhd| 嫩草在线视频www免费观看 | 免费视频精品一区二区 | zoo性欧美| 久久免费黄色 |