附註:
- 此教學課程可在 Oracle 提供的免費實驗室環境中取得。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
使用 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 上的此教學課程。
目標
在本教學課程中,您將瞭解如何:
- 使用手冊將自訂 ee 推送至 Private Automation Hub
- 新增自訂 Ee 至 Oracle Linux Automation Manager
- 使用自訂 EE 執行工作
必要條件
- 執行 Oracle Linux 的三個系統
- 使用 Builder 公用程式的開發環境
- 適用於 Private Automation Hub
- 另一個用於執行 Oracle Linux Automation Manager
部署 Oracle Linux Automation Manager
注意:如果在您自己的租用戶中執行,請先閱讀 linux-virt-labs
GitHub 專案 README.md 並完成先決條件,再部署實驗室環境。
-
在 Luna 桌面上開啟終端機。
-
複製
linux-virt-labs
GitHub 專案。git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
變更至工作目錄。
cd linux-virt-labs/olam
-
安裝所需的集合。
ansible-galaxy collection install -r requirements.yml
-
更新 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
-
部署實驗室環境。
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 集合來執行此工作。
-
開啟終端機,並透過 SSH 連線至 devops-node 執行處理。
ssh oracle@<ip_address_of_instance>
-
安裝 Oracle Linux Automation Engine。
sudo dnf install ansible-core -y
-
安裝所需的集合。
ansible-galaxy collection install containers.podman
-
建立播放簿以標記並推送自訂 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
-
執行此手冊 。
ansible-playbook push-image.yml
此手冊會在
localhost
上執行,因此不需要定義的產品目錄檔案。
驗證 Private Automation Hub 中的映像檔存在
-
從 Luna 桌面開啟新的終端機 。
-
設定 Private Automation Hub 的 SSH 通道。
ssh -L 5444:localhost:443 oracle@<ip_address_of_ol-pah>
-
開啟 Web 瀏覽器並輸入 URL。
https://localhost:5444
注意:根據使用的瀏覽器來核准安全警告。若為 Chrome,請按一下
Advanced
按鈕,然後按一下Proceed to localhost (unsafe)
連結。 -
登入 Private Automation Hub WebUI。
使用使用者名稱
admin
和密碼password
。免費實驗室環境會在實驗室部署期間設定此密碼值。 -
WebUI 會在成功登入後顯示。
-
按一下 Private Automation Hub WebUI 左上角的導覽功能表。
-
瀏覽至執行環境和執行環境。
-
請注意,新的 my_first_olam_ee_image 會顯示在主面板中。
建立手冊
Oracle Linux Automation Manager 管理員可以在檔案系統本機建立播放簿,使用「手動來源控制」的專案可加以運用。我們將使用 devops-node 撰寫手冊,使用 Oracle Linux Automation Engine 將專案手冊推送至 Oracle Linux Automation Manager。此組態僅適用於 Oracle Linux Automation Manager 的單一主機安裝,因為手冊僅存在於該例項中。
-
切換到或開啟終端機,然後透過 ssh 連線到 devops-node 執行處理。
-
建立專案目錄,並將工作目錄變更為該目錄。
mkdir ~/project1 cd ~/project1
-
建立樣板。
此範本是我們寫入 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
-
建立將此專案推送至 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
-
建立產品目錄檔案。
tee hosts > /dev/null <<EOF [olam] olam-node EOF
-
將手冊複製到 Oracle Linux Automation Manager 伺服器。
ansible-playbook -i hosts push-project.yml
將自訂執行環境新增至 Oracle Linux Automation Manager
登入 WebUI
-
從 Luna 桌面開啟新的終端機 。
-
設定 Oracle Linux Automation Manager 的 SSH 通道。
ssh -L 8444:localhost:443 oracle@<ip_address_of_ol-node>
在免費的實驗環境環境中,使用 olam-node 執行處理的 IP 位址。
-
開啟 Web 瀏覽器並輸入 URL。
https://localhost:8444
注意:根據使用的瀏覽器來核准安全警告。若為 Chrome,請按一下進階按鈕,然後按一下繼續進行 localhost (不安全) 連結。
-
登入 Oracle Linux Automation Manager WebUI。
使用使用者名稱
admin
和密碼admin
。免費實驗室環境會在實驗室部署期間設定此密碼值。 -
WebUI 會在成功登入後顯示。
新增容器登錄證明資料
-
按一下導覽功能表中資源底下的證明資料。
-
按一下主面板中的 [ 增加 ] 按鈕。
-
在特定欄位中輸入或選取下列值。
對於具有搜尋或值清單的欄位,我們可以開始輸入要求的值,然後加以選取。
- 名稱:
My Private Automation Hub
- 組織:
Default
- 證明資料類型:容器登錄
- 認證 URL :Private Automation Hub 的 FQDN
- 使用者名稱:
admin
- 密碼或記號:
password
- 選項:取消核取驗證 SSL
如果您不知道 Private Automation Hub 的 FQDN,請使用終端機來連線至 ol-pah 執行處理,然後執行
hostname -f
。Oracle Linux Automation Manager 使用容器登錄憑證來存取 Private Automation Hub 中的容器映像檔。自行實驗室環境因使用自行簽署憑證而需要取消勾選驗證 SSL 設定。
- 名稱:
-
複查項目,然後按一下儲存按鈕。
新增執行環境
-
按一下導覽功能表中管理底下的執行環境。
-
按一下主面板中的 [ 增加 ] 按鈕。
-
在特定欄位中輸入或選取下列值。
對於具有搜尋或值清單的欄位,我們可以開始輸入要求的值,然後加以選取。
- 名稱:
My Custom EE
- 影像:
<fqdn_of_the_private_automation_hub>/my_first_olam_ee_image:latest
- 登錄憑證: My Private Automation Hub
- 名稱:
-
複查項目,然後按一下儲存按鈕。
測試執行環境
測試自訂執行環境時,需有「工作樣板」,其中包含「產品目錄」、「主機」、「機器證明資料」以及「專案」。
新增存貨
-
按一下導覽功能表中資源底下的存貨。
-
按一下主畫面中的新增按鈕,然後從值清單中選取新增產品目錄。
-
請在特定欄位中輸入下列值。
- 名稱:
Oracle Linux Hosts
- 名稱:
-
複查項目,然後按一下儲存按鈕。
請新增主機
-
按一下 Oracle Linux 主機產品目錄詳細資訊面板中的主機頁籤。
-
按一下新增按鈕。
-
在名稱 (Name) 欄位中輸入主機名稱 devops-node
-
複查項目,然後按一下儲存按鈕。
新增機器證明資料
-
按一下導覽功能表中資源底下的證明資料。
-
按一下主面板中的 [ 增加 ] 按鈕。
-
在特定欄位中輸入或選取下列值。
對於具有搜尋或值清單的欄位,我們可以開始輸入要求的值,然後加以選取。
- 名稱:
Oracle Linux SSH Access
- 組織:
Default
- 證明資料類型:機器
- 使用者名稱:
opc
- SSH 私密金鑰:從 ~/.SSH 目錄選取 id_rsa 金鑰
抓取 SSH 私密金鑰的方法之一是選取該欄位的瀏覽選項。在檔案上傳對話方塊中,選取首頁,然後在該對話方塊的主視窗上按一下滑鼠右鍵。選取顯示隱藏的檔案。選取 .ssh 資料夾和 id_rsa 檔案。按一下開啟按鈕,即可將私密金鑰檔案的內容複製到 SSH 私密金鑰對話方塊中。
- 名稱:
-
複查項目,捲動至頁面底端,然後按一下儲存按鈕。
建立新專案
-
按一下導覽功能表中資源底下的專案。
-
按一下主面板中的 [ 增加 ] 按鈕。
-
在特定欄位中輸入或選取下列值。
對於具有搜尋或值清單的欄位,我們可以開始輸入要求的值,然後加以選取。
- 名稱:
Container Management
- 執行環境:我的自訂 EE
- 來源控制證明資料類型:手動
- 手冊目錄: podman
- 名稱:
-
複查項目,然後按一下儲存按鈕。
新增工作樣板
-
按一下導覽功能表中資源底下的範本。
-
按一下主面板中的新增按鈕,然後從值清單中選取新增工作樣板。
-
在特定欄位中輸入或選取下列值。
對於具有搜尋或值清單的欄位,我們可以開始輸入要求的值,然後加以選取。
- 名稱:
List Images
- 工作類型:執行
- 產品目錄:Oracle Linux 主機
- 專案:容器管理
- 執行環境:我的自訂 EE
- 手冊: list-images.yml
- 證明資料:Oracle Linux SSH 存取
- 名稱:
-
複查項目,捲動至頁面底端,然後按一下儲存按鈕。
執行範本
-
按一下導覽功能表中資源底下的範本。
-
按一下列出影像工作樣板旁動作資料欄中的啟動樣板圖示。
工作會啟動,面板會切換至工作輸出摘要。在幾分鐘後,「工作」就會失敗。
因為新的自訂 ee 不包含 containers.podman 集合,所以會發生此失敗,所以無法執行手冊。
修正自訂執行環境
若要修正自訂 ee,我們必須使用 Builder 公用程式重新建立容器映像檔,然後將新映像檔推送至 Private Automation Hub 以供 Oracle Linux Automation Manager 取貨。
-
切換到或開啟終端機,然後透過 ssh 連線到 devops-node 執行處理。
-
變更至自訂 ee 專案目錄。
cd ~/my_custom_ee_project
-
將遺漏的集合新增至 Ansible Galaxy 需求檔案。
tee -a requirements.yml > /dev/null <<EOF - name: containers.podman EOF
-
重新建立影像。
ansible-builder build --tag my_custom_ee -v 3
-
將新映像檔推送至 Private Automation Hub。
cd ~ ansible-playbook push-image.yml
-
驗證成功的映像檔推送。
連線至 Private Automation Hub WebUI 並複查執行環境變更,特別是 my_first_olam_ee_image 的上次修改時間資料欄。
測試新的自訂執行環境
-
在瀏覽器中切換至 Oracle Linux Automation Manager WebUI。
請重新整理瀏覽器視窗,並視需要重新登入。
-
按一下導覽功能表中管理底下的執行環境。
-
按一下我的自訂 EE 影像連結旁邊動作欄下的編輯執行環境圖示。
-
將提取值變更為一律在執行前提取容器。
此欄位可啟用
podman
的--pull
選項。設定變更會強制 Oracle Linux Automation Manager 在其圖層總和檢查不相符時提取最新影像。 -
複查變更,然後按一下儲存按鈕。
-
按一下導覽功能表中檢視底下的工作。
-
按一下動作欄旁邊的重新啟動圖示, ... 列出影像連結。
從下拉式值清單中選取全部。
工作會啟動,面板會切換至工作輸出摘要。幾分鐘後,便可順利完成。
接下來的步驟
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 。
Use Custom Execution Environments with Oracle Linux Automation Manager
G32014-02
Copyright ©2023, Oracle and/or its affiliates.