在我工作期間 紅色的帽子, 我和 烤肉店 在容器上 Fedora 原子主機 每天。原子主機來自 原子項目 是一個輕量級的容器操作系統,可以運行 Docker 格式的 Linux 容器。它已針對效率進行了修改,非常適合在雲環境中用作 Docker 運行時系統。
幸運的是,我找到了一種管理在主機上運行的容器的好方法。 座艙Cockpit 是 GNU / Linux 服務器的遠程管理器,具有出色的 Web UI。這允許您管理在主機上運行的服務器和容器。有關駕駛艙的更多信息,請參閱此之前發布的概述文章。但是,我希望容器在主機上自動運行,所以 Ansible..
請注意,您不能將 dnf 命令與 AtomicHost 一起使用。主機並非設計為通用操作系統,但適用於容器和其他用途。但是,在 Atomic Host 上設置應用程序和服務非常容易。本文介紹如何自動化和簡化此過程。
設置組件
在開始之前,請確保您的系統上安裝了 Ansible。
sudo dnf -y install ansible
首先,您需要在 Atomic 主機上運行 cockpit 容器。複製源代碼 https://github.com/trishnaguha/fedora-cloud-ansible 在你的機器上。
$ git clone https://github.com/trishnaguha/fedora-cloud-ansible.git
然後將目錄更改為駕駛艙並編輯庫存文件,如下所示:
$ cd fedora-cloud-ansible $ cd cockpit $ vim inventory
進行以下更改:
- 將 IP_ADDRESS_OF_HOST 替換為原子主機的 IP 地址。
- 將 ansible_ssh_private_key_file =’PRIVATE_KEY_FILE’ 行中的 PRIVATE_KEY_FILE 替換為 SSH 私鑰文件。
然後保存庫存文件並退出。
然後編輯 ansible 配置文件。
$ vim ansible.cfg
remote_user = 將 User 行中的 User 替換為 Atomic 主機上的遠程用戶。然後保存文件並退出。
把它們放在一起
現在是運行劇本的時候了。此命令開始在 Atomic 主機上運行 cockpit 容器。
$ ansible-playbook cockpit.yml
駕駛艙當前在 Atomic 主機上運行。 使用 Web 瀏覽器在端口 9090 上訪問實例的公共 IP。這是駕駛艙默認端口。例如,如果實例的 IP 地址為 192.168.1.4,則它指的是 192.168.1.4:9090。您現在應該在 Web 瀏覽器中看到駕駛艙 Web 界面。
管理容器
使用 Atomic 主機的憑據或以 root 身份登錄。接下來,在 Cockpit Manager 中[Containers]轉到該部分以查看您的 Atomic 主機上正在運行哪些容器。在下面的示例中,您可以看到我還設置了其他內容 httpd 什麼時候 請再說一遍:
在這個界面中,[実行]用一個按鈕[停止]請注意,您可以使用按鈕直接在 Cockpit Manager 中啟動和停止容器。 您還可以使用 CockpitManager 來管理 Atomic 主機。[ツール]->[ターミナル]去。在那裡您可以使用 Atomic 主機的終端。
如果您計劃將容器化應用程序部署到 Atomic 主機,只需為其創建一個劇本。然後,您可以使用 ansible-playbook 命令進行部署,並使用 cockpit 來管理您的容器。
為存儲庫中的容器分叉或添加劇本 https://github.com/trishnaguha/fedora-cloud-ansible..