在工作 紅色的帽子, 我和 名冊 進入容器 Fedora 原子主機 每天。原子主機來自 原子計劃 一個輕量級的容器操作系統,可以運行 Docker 格式的 Linux 容器。它已針對效率進行了修改,最適合用作雲環境的 Docker 運行時系統。

幸運的是,我找到了一種管理在主機上運行的容器的好方法。 座艙Cockpit 是一個用於 GNU/Linux 服務器的遠程管理器,具有漂亮的 Web UI。您可以管理在您的主機上運行的服務器和容器。 有關 Cockpit 的更多信息,請參閱此之前發布的概述文章。但是,我希望容器在主機上自動運行,所以我使用了 Ansible.

請注意,dnf 命令在 Atomic Host 上不可用。該主機並非設計為通用操作系統,但更適合容器和其他用途。但是,在 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

將目錄更改為 cockpit 並編輯其庫存文件,如下所示:

$ cd fedora-cloud-ansible
$ cd cockpit
$ vim inventory

進行以下更改:

  1. 將 IP_ADDRESS_OF_HOST 替換為您的原子主機的 IP 地址。
  2. 將 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

Cockpit 現在在 Atomic 主機上運行。使用 Web 瀏覽器在端口 9090 上訪問您的實例的公共 IP。這是 Cockpit 的默認端口。例如,如果您的實例的 IP 地址是 192.168.1.4,則瀏覽到 192.168.1.4:9090。 Cockpit 的網絡界面出現在您的網絡瀏覽器中。

管理容器

使用您的 Atomic 主機憑據或以 root 身份登錄。接下來,訪問 Cockpit Manager 的 Containers 部分,查看在 Atomic Host 上運行的容器。在下面的示例中,您可以看到我還設置了其他內容,例如 httpd 什麼時候 請再說一遍

用於管理容器的駕駛艙面板

使用這個界面,[実行]按鈕和[停止]請注意,您可以使用按鈕直接在 Cockpit Manager 中啟動和停止容器。 您還可以使用 Cockpit Manager 來管理 Atomic Hosts。轉到工具-> 終端。在那裡你可以使用 Atomic Host 的終端。

駕駛艙終端面板

如果您打算將容器化應用程序部署到 Atomic Host,只需為它編寫一個劇本。然後,您可以使用 ansible-playbook 命令部署並使用 Cockpit 管理容器。

運行 ansible-playbook 部署多個容器

隨意為存儲庫中的容器分叉或添加劇本 https://github.com/trishnaguha/fedora-cloud-ansible.