我們幸運的發現一個很好的方式來管理在主機上運行的容器: Cockpit。 它是一個具有漂亮的 Web 界面的 GNU/Linux 服務器遠程管理工具。它可以管理在主機上運行的服務器和容器。不過,我也希望在主機上可以自動運行容器,這時我們可以使用Ansible 來完成這個工作。
需要注意的是,我們不能在原子主機上使用 dnf 命令。原子主機並沒有設計為通用操作系統,而是更適合容器和其他用途。但在原子主機上設置應用程序和服務仍然非常容易。這篇文章向您展示了如何自動化和簡化這個過程。
設置組件安裝 Ansible開始之前,請確保你的系統上安裝了 Ansible。
sudo dnf -y install ansible下載 cockpit 源代碼
我們需要在原子主機上運行 cockpit 容器。在你的機器上從 https://github.com/trishnaguha/fedora-cloud-ansible 下載它的源代碼。
$ git clone https://github.com/trishnaguha/fedora-cloud-ansible.git編輯配置文件
1. 現在切換到 cockpit 的目錄,並如下編輯 inventory 文件:
$ cd fedora-cloud-ansible$ cd cockpit$ vim inventory
完成如下修改:
1). 使用你的原子主機的 IP 替換掉IP_ADDRESS_OF_HOST。
2). 用您的 SSH 私鑰文件的路徑替換ansible_ssh_private_key_file ='PRIVATE_KEY_FILE'行中的PRIVATE_KEY_FILE。
然後保存並退出 inventory文件編輯。
2. 編輯 ansible 配置文件:
$ vim ansible.cfg
替換remote_user=User中User為你的原子主機上的遠程用戶名。然後保存並退出文件編輯。
結合起來現在運行 Ansible 的 PlayBook。此命令開始運行原子主機上的 Cockpit 容器:
$ ansible-playbook cockpit.yml
Cockpit 現在運行在原子主機上了。使用浏覽器去訪問你的實例的公網 IP 的 9090 端口——這是 Cockpit 的默認端口。舉個例子,如果該實例的 IP 地址是 192.168.1.4,就去訪問 192.168.1.4:9090,你將會看到如下的 Web 界面:
使用原子主機的登錄信息或以 root 用戶身份登錄。然後訪問 Cockpit 管理器上的 Containers 部分來查看原子主機上運行的容器。在下面的示例中,您會看到我還設置了其他容器,如 httpd和redis:
注意,該界面允許您直接在 Cockpit 管理器中使用 Run 和 Stop 按鈕啟動和停止容器。您還可以使用 Cockpit 管理器管理您的原子主機。轉到 Tools -> Terminals,在這裡裡你可以使用原子主機的終端:
如果您打算在原子主機上部署容器化的應用程序,則可以簡單地為其編寫一個 PlayBook。然後,您可以使用 ansible-playbook 命令進行部署,並使用 Cockpit 來管理容器。
原文來自:https://linux.cn/article-7861-1.html
本文地址:http://www.linuxprobe.com/host-ansible-cockpit.html
http://xxxxxx/Linuxjc/1184660.html TechArticle