附註:

使用 Oracle Linux Automation Manager 的自訂執行環境

簡介

使用自訂執行環境 (ee),Oracle Linux Automation Manager 可以利用包含集合的手冊,以及預設 olam-ee 映像檔無法使用的其他資源。您可以使用 Builder 公用程式建立、將其儲存在 Private Automation Hub 上,然後將其提取至 Oracle Linux Automation Manager。

如何共同運作?

本教學課程示範如何將預先建立的映像檔上傳至 Private Automation Hub,然後將其提取至 Oracle Linux Automation Manager 以執行手冊。如需建立自訂執行環境的詳細資訊,請參閱 Builder 公用程式的教學課程,以及 Private Automation Hub 上的此教學課程

目標

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

必要條件

部署 Oracle Linux Automation Manager

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

  1. 在 Luna 桌面上開啟終端機。

  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"
      3:
        instance_name: "olam-node"
        type: "control"
    passwordless_ssh: true
    use_olam_builder: true
    use_olam_pah: true
    EOF
    
  6. 部署實驗室環境。

    ansible-playbook create_instance.yml -e ansible_python_interpreter="/usr/bin/python3.6" -e "@instances.yml"
    

    免費實驗室環境需要額外的變數 ansible_python_interpreter,因為它會安裝適用於 Oracle Cloud Infrastructure SDK for Python 的 RPM 套裝程式。此套裝軟體的安裝位置在 python3.6 模組下。

    預設部署資源配置使用 AMD CPU 和 Oracle Linux 8。若要使用 Intel CPU 或 Oracle Linux 9,請在部署命令中新增 -e instance_shape="VM.Standard3.Flex"-e os_version="9"

    重要事項:等待手冊順利執行並到達暫停工作。Oracle Linux Automation Manager 安裝已在手冊的這個階段完成,且執行處理已就緒。記下先前的播放,此播放會列印所部署節點的公用和專用 IP 位址。

將自訂執行環境推送至 Private Automation Hub

將自訂 ee 推送至 Private Automation Hub 的其中一個方法是使用命令行中的 podman,如 Private Automation Hub 教學課程中所示。您也可以使用手冊和 containers.podman 集合來執行此工作。

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

    ssh oracle@<ip_address_of_instance>
    
  2. 安裝 Oracle Linux Automation Engine。

    sudo dnf install ansible-core -y
    
  3. 安裝所需的集合。

    ansible-galaxy collection install containers.podman
    
  4. 建立播放簿以標記並推送自訂 ee 影像。

       
    tee push-image.yml > /dev/null <<EOF
    ---
    - hosts: localhost
      collections:
        - containers.podman
    
      tasks:
    
      - name: get domain_name
        command: hostname -d
        register: domain_name
    
      - name: output domain_name var
        debug:
          msg: "{{domain_name.stdout}}"
    
      - name: push image to pah
        containers.podman.podman_image:
          name: my_custom_ee
          push: true
          push_args:
            dest: ol-pah.{{domain_name.stdout}}/my_first_olam_ee_image:latest
          username: admin
          password: password
          validate_certs: false
       
    EOF
    
  5. 執行此手冊 。

    ansible-playbook push-image.yml
    

    此手冊會在 localhost 上執行,因此不需要定義的產品目錄檔案。

驗證 Private Automation Hub 中的映像檔存在

  1. 從 Luna 桌面開啟新的終端機 。

  2. 設定 Private Automation Hub 的 SSH 通道。

    ssh -L 5444:localhost:443 oracle@<ip_address_of_ol-pah>
    
  3. 開啟 Web 瀏覽器並輸入 URL。

    https://localhost:5444
    

    注意:根據使用的瀏覽器來核准安全警告。若為 Chrome,請按一下 Advanced 按鈕,然後按一下 Proceed to localhost (unsafe) 連結。

  4. 登入 Private Automation Hub WebUI。

    使用使用者名稱 admin 和密碼 password。免費實驗室環境會在實驗室部署期間設定此密碼值。

    麻醉藥

  5. WebUI 會在成功登入後顯示。

    帕韋比

  6. 按一下 Private Automation Hub WebUI 左上角的導覽功能表。

  7. 瀏覽至執行環境執行環境

  8. 請注意,新的 my_first_olam_ee_image 會顯示在主面板中。

    帕伊 -2

建立手冊

Oracle Linux Automation Manager 管理員可以在檔案系統本機建立播放簿,使用「手動來源控制」的專案可加以運用。我們將使用 devops-node 撰寫手冊,使用 Oracle Linux Automation Engine 將專案手冊推送至 Oracle Linux Automation Manager。此組態僅適用於 Oracle Linux Automation Manager 的單一主機安裝,因為手冊僅存在於該例項中。

  1. 切換到或開啟終端機,然後透過 ssh 連線到 devops-node 執行處理。

  2. 建立專案目錄,並將工作目錄變更為該目錄。

    mkdir ~/project1
    cd ~/project1
    
  3. 建立樣板。

    此範本是我們寫入 Oracle Linux Automation Manager 伺服器上檔案系統的手冊檔案,用來擷取主機上的容器影像清單。

    mkdir templates
    tee templates/list-images.yml.j2 > /dev/null <<EOF
    ---
    - hosts: all
      collections:
        - containers.podman
      become: yes
    
      tasks:
    
      - name: gather info on images
        containers.podman.podman_image_info:
        register: podman_list
        become_user: oracle
    
      - name: list images
        debug:
          msg: "{{ podman_list.images | selectattr('RepoTags') '}}"
    EOF
    
  4. 建立將此專案推送至 Oracle Linux Automation Manager 的手冊。

       
    tee push-project.yml > /dev/null <<EOF
    ---
    - hosts: olam-node
      become: yes
    
      tasks:
    
      - name: create project directory
        ansible.builtin.file:
          path: /var/lib/awx/projects/podman
          state: directory
        become_user: awx
    
      - name: create playbook
        ansible.builtin.template:
          src: templates/list-images.yml.j2
          dest: /var/lib/awx/projects/podman/list-images.yml
        become_user: awx      
       
    EOF
    
  5. 建立產品目錄檔案。

    tee hosts > /dev/null <<EOF
    [olam]
    olam-node
    EOF
    
  6. 將手冊複製到 Oracle Linux Automation Manager 伺服器。

    ansible-playbook -i hosts push-project.yml
    

將自訂執行環境新增至 Oracle Linux Automation Manager

登入 WebUI

  1. 從 Luna 桌面開啟新的終端機 。

  2. 設定 Oracle Linux Automation Manager 的 SSH 通道。

    ssh -L 8444:localhost:443 oracle@<ip_address_of_ol-node>
    

    在免費的實驗環境環境中,使用 olam-node 執行處理的 IP 位址。

  3. 開啟 Web 瀏覽器並輸入 URL。

    https://localhost:8444
    

    注意:根據使用的瀏覽器來核准安全警告。若為 Chrome,請按一下進階按鈕,然後按一下繼續進行 localhost (不安全) 連結。

  4. 登入 Oracle Linux Automation Manager WebUI。

    使用使用者名稱 admin 和密碼 admin。免費實驗室環境會在實驗室部署期間設定此密碼值。

    olam2- 登入

  5. WebUI 會在成功登入後顯示。

    olam2- 烏布

新增容器登錄證明資料

  1. 按一下導覽功能表中資源底下的證明資料

  2. 按一下主面板中的 [ 增加 ] 按鈕。

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

    對於具有搜尋或值清單的欄位,我們可以開始輸入要求的值,然後加以選取。

    • 名稱My Private Automation Hub
    • 組織Default
    • 證明資料類型容器登錄
    • 認證 URLPrivate Automation Hub 的 FQDN
    • 使用者名稱admin
    • 密碼或記號password
    • 選項:取消核取驗證 SSL

    如果您不知道 Private Automation Hub 的 FQDN,請使用終端機來連線至 ol-pah 執行處理,然後執行 hostname -f

    Oracle Linux Automation Manager 使用容器登錄憑證來存取 Private Automation Hub 中的容器映像檔。自行實驗室環境因使用自行簽署憑證而需要取消勾選驗證 SSL 設定。

  4. 複查項目,然後按一下儲存按鈕。

    olam2-cred-registry

新增執行環境

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

  2. 按一下主面板中的 [ 增加 ] 按鈕。

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

    對於具有搜尋或值清單的欄位,我們可以開始輸入要求的值,然後加以選取。

    • 名稱My Custom EE
    • 影像<fqdn_of_the_private_automation_hub>/my_first_olam_ee_image:latest
    • 登錄憑證My Private Automation Hub
  4. 複查項目,然後按一下儲存按鈕。

    olam2 - 客戶

測試執行環境

測試自訂執行環境時,需有「工作樣板」,其中包含「產品目錄」、「主機」、「機器證明資料」以及「專案」。

新增存貨

  1. 按一下導覽功能表中資源底下的存貨

  2. 按一下主畫面中的新增按鈕,然後從值清單中選取新增產品目錄

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

    • 名稱Oracle Linux Hosts
  4. 複查項目,然後按一下儲存按鈕。

    olam2-inv-detail

請新增主機

  1. 按一下 Oracle Linux 主機產品目錄詳細資訊面板中的主機頁籤。

  2. 按一下新增按鈕。

  3. 名稱 (Name) 欄位中輸入主機名稱 devops-node

  4. 複查項目,然後按一下儲存按鈕。

新增機器證明資料

  1. 按一下導覽功能表中資源底下的證明資料

  2. 按一下主面板中的 [ 增加 ] 按鈕。

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

    對於具有搜尋或值清單的欄位,我們可以開始輸入要求的值,然後加以選取。

    • 名稱Oracle Linux SSH Access
    • 組織Default
    • 證明資料類型機器
    • 使用者名稱opc
    • SSH 私密金鑰:從 ~/.SSH 目錄選取 id_rsa 金鑰

    抓取 SSH 私密金鑰的方法之一是選取該欄位的瀏覽選項。在檔案上傳對話方塊中,選取首頁,然後在該對話方塊的主視窗上按一下滑鼠右鍵。選取顯示隱藏的檔案。選取 .ssh 資料夾和 id_rsa 檔案。按一下開啟按鈕,即可將私密金鑰檔案的內容複製到 SSH 私密金鑰對話方塊中。

  4. 複查項目,捲動至頁面底端,然後按一下儲存按鈕。

    olam2-cred-machine

建立新專案

  1. 按一下導覽功能表中資源底下的專案

  2. 按一下主面板中的 [ 增加 ] 按鈕。

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

    對於具有搜尋或值清單的欄位,我們可以開始輸入要求的值,然後加以選取。

    • 名稱Container Management
    • 執行環境我的自訂 EE
    • 來源控制證明資料類型手動
    • 手冊目錄podman
  4. 複查項目,然後按一下儲存按鈕。

    olam2- 專案 - 明細

新增工作樣板

  1. 按一下導覽功能表中資源底下的範本

  2. 按一下主面板中的新增按鈕,然後從值清單中選取新增工作樣板

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

    對於具有搜尋或值清單的欄位,我們可以開始輸入要求的值,然後加以選取。

    • 名稱List Images
    • 工作類型執行
    • 產品目錄Oracle Linux 主機
    • 專案容器管理
    • 執行環境我的自訂 EE
    • 手冊list-images.yml
    • 證明資料Oracle Linux SSH 存取
  4. 複查項目,捲動至頁面底端,然後按一下儲存按鈕。

    olam2-temp-detail

執行範本

  1. 按一下導覽功能表中資源底下的範本

  2. 按一下列出影像工作樣板旁動作資料欄中的啟動樣板圖示。

工作會啟動,面板會切換至工作輸出摘要。在幾分鐘後,「工作」就會失敗。

olam2- 工作失敗

因為新的自訂 ee 不包含 containers.podman 集合,所以會發生此失敗,所以無法執行手冊。

修正自訂執行環境

若要修正自訂 ee,我們必須使用 Builder 公用程式重新建立容器映像檔,然後將新映像檔推送至 Private Automation Hub 以供 Oracle Linux Automation Manager 取貨。

  1. 切換到或開啟終端機,然後透過 ssh 連線到 devops-node 執行處理。

  2. 變更至自訂 ee 專案目錄。

    cd ~/my_custom_ee_project
    
  3. 將遺漏的集合新增至 Ansible Galaxy 需求檔案。

    tee -a requirements.yml > /dev/null <<EOF
    - name: containers.podman
    EOF
    
  4. 重新建立影像。

    ansible-builder build --tag my_custom_ee -v 3
    
  5. 將新映像檔推送至 Private Automation Hub。

    cd ~
    ansible-playbook push-image.yml
    
  6. 驗證成功的映像檔推送。

    連線至 Private Automation Hub WebUI 並複查執行環境變更,特別是 my_first_olam_ee_image上次修改時間資料欄。

    pah-ee- 修改

測試新的自訂執行環境

  1. 在瀏覽器中切換至 Oracle Linux Automation Manager WebUI。

    請重新整理瀏覽器視窗,並視需要重新登入。

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

  3. 按一下我的自訂 EE 影像連結旁邊動作欄下的編輯執行環境圖示。

  4. 提取值變更為一律在執行前提取容器

    此欄位可啟用 podman--pull 選項。設定變更會強制 Oracle Linux Automation Manager 在其圖層總和檢查不相符時提取最新影像。

  5. 複查變更,然後按一下儲存按鈕。

  6. 按一下導覽功能表中檢視底下的工作

  7. 按一下動作欄旁邊的重新啟動圖示, ... 列出影像連結。

    從下拉式值清單中選取全部

    工作會啟動,面板會切換至工作輸出摘要。幾分鐘後,便可順利完成。

    olam2- 工作成功

接下來的步驟

WebUI 中的輸出會確認您在 Oracle Linux Automation Manager 中有工作中的自訂執行環境。建立您的技能,並查看我們在 Oracle Linux Training Station 上的其他 Oracle Linux Automation Manager 訓練。

其他學習資源

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

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