附註:

在 Oracle Linux Automation Manager Private Automation Hub 中管理執行環境

簡介

Private Automation Hub 是 Oracle Linux Automation Manager 儲存區域,可用來管理收集、執行環境影像,以及客戶基礎架構內本機的其他策劃內容。

本教學課程說明如何安裝 Private Automation Hub,以及將自訂執行環境上傳至其容器登錄。如需建立自訂執行環境的詳細資訊,請參閱建置器公用程式的教學課程

目標

在本教學課程中,您將瞭解如何:

必要條件

部署 Oracle Linux

注意:如果是在您自己的租用戶中執行,請先閱讀 linux-virt-labs GitHub 專案 README.md 並完成先決條件,再部署實驗環境環境。

  1. 在 Luna Desktop 上開啟終端機。

  2. 複製 linux-virt-labs GitHub 專案。

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. 變更至工作目錄。

    cd linux-virt-labs/olam
    
  4. 安裝必要的集合。

    ansible-galaxy collection install -r requirements.yml
    
  5. 更新 Oracle Linux 執行處理組態。

    cat << EOF | tee instances.yml > /dev/null
    compute_instances:
      1:
        instance_name: "devops-node"
        type: "server"
      2:
        instance_name: "ol-pah"
        type: "server"
    passwordless_ssh: true
    use_olam_builder: true
    use_devops_vnc: true
    add_pah_ports: true
    olam_type: none
    EOF
    
  6. 建立產品目錄檔案。

    cat << EOF | tee hosts > /dev/null
    localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6
    EOF
    
  7. 部署實驗環境環境。

    ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
    

    免費實驗室環境需要額外的 localhost ansible_python_interpreter 變數,因為它會為 Python 適用的 Oracle Cloud Infrastructure SDK 安裝 RPM 套件。安裝此套裝軟體的位置位於以您 Oracle Linux 版本為基礎的系統預設 Python 模組底下。使用產品目錄變數可避免影響 localhost 以外的主機上執行的播放。

    預設部署資源配置使用 AMD CPU。您可以在命令行中傳送新的資源配置變數定義,以變更執行處理的資源配置。

    例如:-e instance_shape="VM.Standard3.Flex"

    同樣地,Oracle Linux 映像檔的預設版本會使用 `default_vars.yml 檔案中定義的變數 os_version。您可以在命令行中傳送 Oracle Linux 主要版本,即可修改這個值。

    例如:-e os_version="9"

    重要事項: 請等待播放手冊順利執行,然後到達暫停工作。在手冊的這個階段,Oracle Linux 的安裝已完成,實例已就緒。請注意,上一個播放會列印其部署節點的公用和專用 IP 位址。

安裝 Private Automation Hub 套裝軟體

  1. 開啟終端機,並透過 SSH 連線至 ol-pah 執行處理。

    ssh oracle@<ip_address_of_instance>
    
  2. 安裝 Oracle Linux Automation Manager 儲存區域。

    Oracle Linux 8:

    sudo dnf install -y oraclelinux-automation-manager-release-el8
    

    Oracle Linux 9:

    sudo dnf install -y oraclelinux-automation-manager-release-el9
    
  3. 安裝 Private Automation Hub 套裝軟體。

    sudo dnf install -y ol-private-automation-hub-installer
    

    此指令會安裝 Private Automation Hub 安裝手冊與角色、ansible-corepython3.11 及其他套裝軟體相依性。

安裝 Private Automation Hub

安裝 Private Automation Hub 時,您必須設定 Private Automation Hub admin 超級使用者帳戶及其後端資料庫的密碼。讓我們使用 ansible-vault 更安全地執行該步驟,而不是在開啟時將這些步驟傳遞至播放簿。

隨附於 Oracle Linux Automation Engine 的 ansible-vault 公用程式可加密及解密結構化資料檔,包括文字檔、變數及 YAML 手冊。

我們將加密包含兩個密碼的變數檔案,以供我們參考。

  1. 將 Private Automation Hub 手冊複製到工作目錄。

    cp -r /usr/share/ansible/collections/ansible_collections/oraclelinux/private_automation_hub/playbooks/single-node/ ~/single_node
    
  2. 變更至工作目錄。

    cd ~/single_node
    
  3. 建立產品目錄檔案。

    此手冊的產品目錄檔案需要主機名稱和 SSH 使用者名稱,其中 Playbook 會安裝 Private Automation Hub。您可以用 INI 或 YAML 格式定義產品目錄檔案。安裝手冊中的範例產品目錄 hosts.singlenode.example 使用 YAML,因此我們將在此處使用 INI 格式來示範替代選項。

    tee hosts > /dev/null <<EOF
    [hub]
    ol-pah ansible_host=ol-pah ansible_user=oracle
    EOF
    

    與使用 hub 作為 ansible_host 別名的範例不同,此 INI 產品目錄檔案使用 hub 作為群組名稱。群組可以建立主機之間的父項 - 子項關係,並將它們分類成一或多個類別,以執行工作或指派變數。

  4. 建立包含密碼變數的保存庫。

    ansible-vault create vault_passwords.yml
    

    執行指令時,它會提示您建立 Vault 密碼。ansible-vault 公用程式會使用此密碼來解密 Vault 的內容,並從手冊內存取這些內容。密碼可以是任何字元的組合,但請記住密碼,因為您無法復原密碼。

    輸入並確認密碼之後,公用程式就會在您的預設編輯器中開啟 vault_passwords.yml 檔案。對於免費實驗室環境,編輯器是 vi。輸入 i 以輸入 INSERT 模式並貼上這些範例 Private Automation Hub 密碼變數。

    備註:這是手冊在安裝 Private Automation Hub 並設定超級使用者與資料庫密碼時所使用的變數。

    ---
    olpah_admin_password: password
    olpah_db_password: password
    

    依序輸入 ESC:wq!ENTER,以關閉並儲存檔案。

  5. 核對保存庫的內容。

    ansible-vault view vault_passwords.yml
    

    在提示下輸入 Vault 密碼,而 ansible-vault 會在終端機中顯示 Vault 的內容。

  6. 執行 Private Automation Hub 手冊。

    ansible-playbook single-node-install.yml -i hosts -e "@vault_passwords.yml" --ask-vault-pass
    
    • -i 定義產品目錄檔案
    • -e 將任何程式實際執行變數定義為 key=value 組或變數檔案
    • --ask-vault-pass 會提示您輸入保存庫密碼

    提供保存庫密碼的替代方法,您可以在上游文件中檢閱這些密碼。

    備註:Private Automation Hub 安裝作業需要 10-20 分鐘。在安裝期間,播放手冊的進度會在終端機中捲動,直到所有工作完成為止。

開啟 VNC 階段作業至 DevOps 執行處理

VNC 工作階段可讓您在免費實驗環境環境中,使用主機名稱或完整網域名稱 (FQDN) 連線至 Private Automation Hub Web UI。由於 Django 的內建保護會保護 Web UI 免於跨網站要求偽造 (CSRF) 攻擊,因此必須使用主機名稱或 FQDN。

  1. 結束現有的 SSH 階段作業。

    exit
    
  2. 開啟新的終端機,並透過 SSH 連線至 devops-node 執行處理。

    -L 選項會啟用本機轉送,這會開啟本機連接埠以透過 SSH 通道連線至遠端 VNC 伺服器。

    ssh -L 5914:localhost:5901 oracle@<ip_address_of_instance>
    
  3. 切換到 Luna 桌面 。

  4. 按一下應用程式功能表、網際網路,然後按一下 TigerVNC 檢視器來開啟 TigerVNC 檢視器。

    vnc 功能表

  5. VNC 伺服器文字方塊中輸入 localhost:5914,然後按連接按鈕,以登入已部署伺服器的 GUI 環境。

    vnc 登入

  6. 輸入 oracle 使用者的 oracle 密碼,然後按 OK 按鈕。

    繁體中文 (台灣)

  7. 伺服器的 GUI 桌面會顯示第一次登入設定。

    人才招聘

  8. 按三次下一步按鈕,然後按略過按鈕,接著按開始使用 Oracle Linux 伺服器按鈕。最後,關閉或最小化入門視窗。

    起動醇

連線至 Private Automation Hub

  1. 在 VNC 工作階段中開啟 Web 瀏覽器並輸入 URL。

    https://ol-pah
    

    備註:根據使用的瀏覽器核准安全性警告。對於 Chrome,按一下 Advanced 按鈕,然後按一下 Proceed to localhost (unsafe) 連結。

  2. 登入 Private Automation Hub Web UI。

    使用使用者名稱 admin 和密碼 password。此密碼是我們在程式實際執行變數檔案中為 olpah_admin_password 設定的值。

    pah-login

  3. Web UI 會在成功登入後顯示。

    巴伊

使用 Web UI 新增執行環境

Private Automation Hub 管理的項目之一是執行環境。此功能可讓 Private Automation Hub 作為容器映像的儲存區域,讓管理員能夠使用 Podman 與 Web UI 與其互動。

  1. 在導覽功能表的執行環境下,按一下 Web UI 中的遠端登錄

  2. 按一下新增遠端登錄按鈕。

  3. 在特定欄位中輸入下列值。

    • 名稱Quay Upstream Registry
    • URL :https://quay.io
  4. 按一下儲存按鈕。

    新建立的遠端登錄會顯示在遠端登錄畫面中。

  5. 按一下導覽功能表中執行環境底下的執行環境

  6. 按一下新增執行環境按鈕。

    Web UI 會顯示新增執行環境對話方塊。我們可以透過此對話方塊從上游或其他登錄檔提取容器映像檔。

  7. 在特定欄位中輸入或選取下列值。

    • 名稱upstream/awx-ee
    • 上游名稱ansible/awx-ee
    • 登錄Quay Upstream Registry
    • 新增要包含的標記:輸入 latest,然後輸入 ENTER
  8. 按一下儲存按鈕。

    新建立的執行環境會顯示在執行環境面板中。

  9. 從遠端登錄同步 upstream/awx-ee 執行環境。

    1. 按一下上游 /awx-ee 項目右側的垂直三點功能表。

    2. 選取從登錄同步

      即會出現即現式對話方塊,說明同步已經開始。

    3. 按一下即現式對話方塊中的詳細資訊頁面連結,即可查看此工作的狀態。

    4. 任務會顯示已完成圖示。

    5. 按一下導覽功能表中執行環境底下的執行環境

    6. 按一下執行環境面板中的上游 /awx-ee 連結。

      此連結顯示從 Private Automation Hub 提取明細頁籤下此影像的指示。

    7. 按一下影像頁標。

      此面板顯示有關影像的更多詳細資訊,包括其標記大小以及 sha256 摘要

使用 Podman 推送執行環境

  1. 開啟終端機,並透過 SSH 連線至 devops-node 執行處理。

    ssh oracle@<ip_address_of_instance>
    

    此實例包含 Builder 公用程式與預先建立的自訂執行環境安裝。如需執行這些作業的詳細資訊,請參閱 Build Custom Execution Environments with Oracle Linux Automation Manager Builder Utility

  2. 變更至專案的工作目錄。

    cd ~/my_custom_ee_project
    

    此目錄包含 Builder 公用程式的資料檔,Podman 用來建立自訂執行環境影像。

  3. 列出已存在的本地影像 。

    podman images
    

    輸出會顯示自訂映像檔和 Oracle Linux Automation Manager 的預設 olam-eeolam-builder 映像檔。

  4. 登入 Private Automation Hub。

    podman login -u admin https://ol-pah.$(hostname -d) --tls-verify=0
    
    • -u 是具有存取容器登錄權限的使用者
    • ol-pah.$(hostname -d) 是容器登錄 FQDN
    • 免費實驗室環境使用自行簽署憑證,因此 --tls-verify=0 會關閉 TLS 憑證驗證

    指令會提示輸入 Password:。輸入與 Private Automation Hub admin 使用者登入憑證相符的密碼。

  5. 標記本機自訂影像。

    將映像檔推送至 Private Automation Hub 登錄之前,請先使用本機映像檔建立所需的儲存區域結構和標記。

    podman tag localhost/my_custom_ee ol-pah.$(hostname -d)/my_first_olam_ee_image
    
  6. 確認有新的標記影像存在。

    podman images
    

    輸出範例:

    [oracle@devops-node my_custom_ee_project]$ podman images
    REPOSITORY                                                                  TAG         IMAGE ID      CREATED      SIZE
    localhost/my_custom_ee                                                      latest      fbc43634b168  5 hours ago  2.29 GB
    ol-pah.lv.vcn5ef1c2b6.oraclevcn.com/my_first_olam_ee_image                  latest      fbc43634b168  5 hours ago  2.29 GB
    <none>                                                                      <none>      92aa94db3699  5 hours ago  1.4 GB
    <none>                                                                      <none>      cc087fbfa018  5 hours ago  1.45 GB
    container-registry.oracle.com/oracle_linux_automation_manager/olam-ee       latest      368657c8376d  5 weeks ago  1.25 GB
    container-registry.oracle.com/oracle_linux_automation_manager/olam-builder  latest      5e98580f7956  5 weeks ago  546 MB
    
  7. 將自訂影像上傳至 Private Automation Hub。

    注意:<IMAGE ID> 取代為 podman images 輸出中 my_first_olam_ee_image 的實際影像 ID。

    podman push --tls-verify=0 <IMAGE ID> ol-pah.$(hostname -d)/my_first_olam_ee_image:latest
    
  8. 在 Web UI 中確認上傳。

    1. 切換至包含 Private Automation Hub Web UI 的瀏覽器。

    2. 瀏覽至執行環境

    3. 請注意新的 my_first_olam_ee_image

      帕伊

接下來的步驟

Web UI 中的輸出會確認您有正在運作的 Private Automation Hub,以及上傳和儲存自訂影像的能力。使用 Oracle Linux Automation Manager 學習其他教學課程,以練習您的技能。

其他學習資源

docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center