中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

怎么用Ansible配置Podman容器

本篇內(nèi)容主要講解“怎么用Ansible配置Podman容器”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么用Ansible配置Podman容器”吧!

創(chuàng)新互聯(lián)建站 - 綿陽電信機(jī)房,四川服務(wù)器租用,成都服務(wù)器租用,四川網(wǎng)通托管,綿陽服務(wù)器托管,德陽服務(wù)器托管,遂寧服務(wù)器托管,綿陽服務(wù)器托管,四川云主機(jī),成都云主機(jī),西南云主機(jī),綿陽電信機(jī)房,西南服務(wù)器托管,四川/成都大帶寬,機(jī)柜大帶寬,四川老牌IDC服務(wù)商

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

Ansible

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

Podman

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

  • 便攜性

  • 隔離性

  • 擴(kuò)展性

  • 輕量級

  • 快速啟動

  • 更小的磁盤和內(nèi)存需求

簡而言之:當(dāng)你為任何應(yīng)用程序構(gòu)建容器鏡像時,所有必需的依賴項(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 還有一個社區(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:

$ sudo dnf install ansible -y

配置 Ansible

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

$ ssh-keygen

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

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

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

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

[group1]green.example.comblue.example.com[group2]192.168.100.11192.168.100.10

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

$ ansible all -m ping

你可以看到如下輸出:

[mahesh@fedora new] $ ansible all -m pingfedora.example.com I SUCCESS {    "ansibe_facts": {       "discovered_interpreter_python": "/usr/bin/python"    },    "changed": false,    "ping": "pong"}[mahesh@fedora new] $

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

$ vim name_of_playbook.yml

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

--- - name: First playbook   hosts: fedora.example.com   become: yes   tasks:     - name: Installing podman.       yum:         name: podman         state: present

檢查文件中是否有語法錯誤:

$ ansible-playbook filename --syntax-check

現(xiàn)在運(yùn)行行動手冊:

$ ansible-playbook filename

你可以看到如下輸出:

[mahesh@fedora new] $ ansible-playbook podman_installation.ymlPLAY [First playbook] ************************************************************************************************* TASK [Gathering Facts] *************************************************************************************************0k: [fedora.example.com] TASK [Installing podman] ************************************************************************************************changed: [fedora.example.com] PLAY RECAP *************************************************************************************************fedora.example.com    : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0[mahesh@fedora new] $

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

--- - name: Playbook for podman.    hosts: fedora.example.com    tasks:     - name: Pull httpd:2-alpine image from dockerhub.       podman_image:         name: docker.io/httpd         tag: 2-alpine

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

[mahesh@fedora new] $ podman imagesREPOSITORY                           TAG                  IMAGE ID           CREATED             SIZEdocker.io/library/httpd       2-alpine         fa848876521a    11 days ago        57 MB [mahesh@fedora new] $

創(chuàng)建一個新的行動手冊來運(yùn)行 httpd 鏡像。更多信息請查看 podman_container 模塊文檔。

--- - name: Playbook for podman.   hosts: fedora.example.com   tasks:     - name: Running httpd image.       containers.podman.podman_container:         name: my-first-container         image:  docker.io/httpd:2-alpine         state: started

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

[mahesh@fedora new] $ podman psCONTAINER ID        IMAGE    COMMAND   CREATED      STATUS         PORTS         NAMES45d966eOe207     docker.io/library/httpd:2-alpine    httpd-foreground    13 seconds ago    Up 13 seconds ago       my-first-container [mahesh@fedora new] $

現(xiàn)在停止已運(yùn)行的容器,改變狀態(tài),由 started 變?yōu)?nbsp;absent。

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

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

[mahesh@fedora new] $ podman psCONTAINER ID    IMAGE    COMMAND    CREATED    STATUS    PORTS    NAMES [mahesh@fedora new] $

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

到此,相信大家對“怎么用Ansible配置Podman容器”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章標(biāo)題:怎么用Ansible配置Podman容器
網(wǎng)站鏈接:http://www.rwnh.cn/article48/igpdep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站排名、網(wǎng)站收錄、云服務(wù)器品牌網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
伊宁县| 大方县| 沿河| 新和县| 嵊泗县| 报价| 温州市| 澄迈县| 靖安县| 时尚| 彭山县| 沁水县| 临湘市| 若尔盖县| 容城县| 武陟县| 合阳县| 靖宇县| 临城县| 名山县| 汝城县| 孙吴县| 当雄县| 吴旗县| 玛纳斯县| 沙田区| 新昌县| 禹城市| 延吉市| 东乡| 沁源县| 七台河市| 平陆县| 平度市| 开阳县| 长白| 上蔡县| 河间市| 洞口县| 吴桥县| 怀集县|