閱讀413 返回首頁    go 阿裏雲 go 技術社區[雲棲]


使用原子主機(Atomic Host)、Ansible 和 Cockpit 部署容器

請注意,我們不能在原子主機上使用 dnf 命令。原子主機並沒有設計為通用操作係統,而是更適合容器和其他用途。但在原子主機上設置應用程序和服務仍然非常容易。這篇文章向您展示了如何自動化和簡化這個過程。

設置組件

開始之前,請確保你的係統上安裝了 Ansible。


  1. sudo dnf -y install ansible

首先,我們需要在原子主機上運行 cockpit 容器。在你的機器上從 https://github.com/trishnaguha/fedora-cloud-ansible 下載它的源代碼。


  1. $ git clone https://github.com/trishnaguha/fedora-cloud-ansible.git

現在切換到 cockpit 的目錄,並如下編輯 inventory 文件:


  1. $ cd fedora-cloud-ansible
  2. $ cd cockpit
  3. $ vim inventory

完成如下修改:

  1. 使用你的原子主機的 IP 替換掉 IP_ADDRESS_OF_HOST
  2. 用您的 SSH 私鑰文件的路徑替換 ansible_ssh_private_key_file ='PRIVATE_KEY_FILE' 行中的PRIVATE_KEY_FILE

然後保存並退出 inventory 文件編輯。

接下來,編輯 ansible 配置文件:


  1. $ vim ansible.cfg

替換 remote_user=User 中 User 為你的原子主機上的遠程用戶名。然後保存並退出文件編輯。

結合起來

現在是運行 Ansible 的 PlayBook 的時候了。此命令開始運行原子主機上的 Cockpit 容器:


  1. $ 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 來管理容器。

歡迎你對這個倉庫進行分支或添加容器的 PlayBook。

原文發布時間為:2016-10-14

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-06-06 15:31:37

  上一篇:go  在電腦和安卓設備之間使用 FTP 傳輸文件
  下一篇:go  raid5因兩塊硬盤掉線導致的數據丟失恢複過程分享