附註:
- 本教學課程適用於 Oracle 提供的免費實驗室環境。
- 其使用 Oracle Cloud Infrastructure 證明資料、租用戶以及區間的範例值。完成實驗室時,請將這些值替代為雲端環境特定的值。
在 Oracle Linux Automation Manager Private Automation Hub 中管理執行環境
簡介
Private Automation Hub 是 Oracle Linux Automation Manager 儲存區域,可用來管理收集、執行環境影像,以及客戶基礎架構內本機的其他策劃內容。
本教學課程說明如何安裝 Private Automation Hub,以及將自訂執行環境上傳至其容器登錄。如需建立自訂執行環境的詳細資訊,請參閱建置器公用程式的教學課程。
目標
在本教學課程中,您將瞭解如何:
- 使用
ansible-vault
保護密碼變數 - 使用變數安裝 Private Automation Hub
- 將自訂執行環境上傳至 Private Automation Hub 登錄
必要條件
- 執行 Oracle Linux 的兩個系統
- 一個用於安裝 Private Automation Hub
- 另一個用於執行 Builder 公用程式,並作為 Private Automation Hub 的用戶端
部署 Oracle Linux
注意:如果是在您自己的租用戶中執行,請先閱讀 linux-virt-labs
GitHub 專案 README.md 並完成先決條件,再部署實驗環境環境。
-
在 Luna Desktop 上開啟終端機。
-
複製
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" passwordless_ssh: true use_olam_builder: true use_devops_vnc: true add_pah_ports: true olam_type: none EOF
-
建立產品目錄檔案。
cat << EOF | tee hosts > /dev/null localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6 EOF
-
部署實驗環境環境。
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 套裝軟體
-
開啟終端機,並透過 SSH 連線至 ol-pah 執行處理。
ssh oracle@<ip_address_of_instance>
-
安裝 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
-
安裝 Private Automation Hub 套裝軟體。
sudo dnf install -y ol-private-automation-hub-installer
此指令會安裝 Private Automation Hub 安裝手冊與角色、
ansible-core
、python3.11
及其他套裝軟體相依性。
安裝 Private Automation Hub
安裝 Private Automation Hub 時,您必須設定 Private Automation Hub admin
超級使用者帳戶及其後端資料庫的密碼。讓我們使用 ansible-vault
更安全地執行該步驟,而不是在開啟時將這些步驟傳遞至播放簿。
隨附於 Oracle Linux Automation Engine 的 ansible-vault
公用程式可加密及解密結構化資料檔,包括文字檔、變數及 YAML 手冊。
我們將加密包含兩個密碼的變數檔案,以供我們參考。
-
將 Private Automation Hub 手冊複製到工作目錄。
cp -r /usr/share/ansible/collections/ansible_collections/oraclelinux/private_automation_hub/playbooks/single-node/ ~/single_node
-
變更至工作目錄。
cd ~/single_node
-
建立產品目錄檔案。
此手冊的產品目錄檔案需要主機名稱和 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
作為群組名稱。群組可以建立主機之間的父項 - 子項關係,並將它們分類成一或多個類別,以執行工作或指派變數。 -
建立包含密碼變數的保存庫。
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
,以關閉並儲存檔案。 -
核對保存庫的內容。
ansible-vault view vault_passwords.yml
在提示下輸入 Vault 密碼,而
ansible-vault
會在終端機中顯示 Vault 的內容。 -
執行 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。
-
結束現有的 SSH 階段作業。
exit
-
開啟新的終端機,並透過 SSH 連線至 devops-node 執行處理。
-L
選項會啟用本機轉送,這會開啟本機連接埠以透過 SSH 通道連線至遠端 VNC 伺服器。ssh -L 5914:localhost:5901 oracle@<ip_address_of_instance>
-
切換到 Luna 桌面 。
-
按一下應用程式功能表、網際網路,然後按一下 TigerVNC 檢視器來開啟 TigerVNC 檢視器。
-
在 VNC 伺服器文字方塊中輸入
localhost:5914
,然後按連接按鈕,以登入已部署伺服器的 GUI 環境。 -
輸入
oracle
使用者的 oracle 密碼,然後按 OK 按鈕。 -
伺服器的 GUI 桌面會顯示第一次登入設定。
-
按三次下一步按鈕,然後按略過按鈕,接著按開始使用 Oracle Linux 伺服器按鈕。最後,關閉或最小化入門視窗。
連線至 Private Automation Hub
-
在 VNC 工作階段中開啟 Web 瀏覽器並輸入 URL。
https://ol-pah
備註:根據使用的瀏覽器核准安全性警告。對於 Chrome,按一下
Advanced
按鈕,然後按一下Proceed to localhost (unsafe)
連結。 -
登入 Private Automation Hub Web UI。
使用使用者名稱
admin
和密碼password
。此密碼是我們在程式實際執行變數檔案中為olpah_admin_password
設定的值。 -
Web UI 會在成功登入後顯示。
使用 Web UI 新增執行環境
Private Automation Hub 管理的項目之一是執行環境。此功能可讓 Private Automation Hub 作為容器映像的儲存區域,讓管理員能夠使用 Podman 與 Web UI 與其互動。
-
在導覽功能表的執行環境下,按一下 Web UI 中的遠端登錄。
-
按一下新增遠端登錄按鈕。
-
在特定欄位中輸入下列值。
- 名稱:
Quay Upstream Registry
- URL :
https://quay.io
- 名稱:
-
按一下儲存按鈕。
新建立的遠端登錄會顯示在遠端登錄畫面中。
-
按一下導覽功能表中執行環境底下的執行環境。
-
按一下新增執行環境按鈕。
Web UI 會顯示新增執行環境對話方塊。我們可以透過此對話方塊從上游或其他登錄檔提取容器映像檔。
-
在特定欄位中輸入或選取下列值。
- 名稱:
upstream/awx-ee
- 上游名稱:
ansible/awx-ee
- 登錄: Quay Upstream Registry
- 新增要包含的標記:輸入
latest
,然後輸入ENTER
- 名稱:
-
按一下儲存按鈕。
新建立的執行環境會顯示在執行環境面板中。
-
從遠端登錄同步 upstream/awx-ee 執行環境。
-
按一下上游 /awx-ee 項目右側的垂直三點功能表。
-
選取從登錄同步
即會出現即現式對話方塊,說明同步已經開始。
-
按一下即現式對話方塊中的詳細資訊頁面連結,即可查看此工作的狀態。
-
任務會顯示已完成圖示。
-
按一下導覽功能表中執行環境底下的執行環境。
-
按一下執行環境面板中的上游 /awx-ee 連結。
此連結顯示從 Private Automation Hub 提取明細頁籤下此影像的指示。
-
按一下影像頁標。
此面板顯示有關影像的更多詳細資訊,包括其標記、大小以及 sha256 摘要。
-
使用 Podman 推送執行環境
-
開啟終端機,並透過 SSH 連線至 devops-node 執行處理。
ssh oracle@<ip_address_of_instance>
此實例包含 Builder 公用程式與預先建立的自訂執行環境安裝。如需執行這些作業的詳細資訊,請參閱 Build Custom Execution Environments with Oracle Linux Automation Manager Builder Utility 。
-
變更至專案的工作目錄。
cd ~/my_custom_ee_project
此目錄包含 Builder 公用程式的資料檔,Podman 用來建立自訂執行環境影像。
-
列出已存在的本地影像 。
podman images
輸出會顯示自訂映像檔和 Oracle Linux Automation Manager 的預設
olam-ee
和olam-builder
映像檔。 -
登入 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 Hubadmin
使用者登入憑證相符的密碼。 -
標記本機自訂影像。
將映像檔推送至 Private Automation Hub 登錄之前,請先使用本機映像檔建立所需的儲存區域結構和標記。
podman tag localhost/my_custom_ee ol-pah.$(hostname -d)/my_first_olam_ee_image
-
確認有新的標記影像存在。
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
-
將自訂影像上傳至 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
-
在 Web UI 中確認上傳。
-
切換至包含 Private Automation Hub Web UI 的瀏覽器。
-
瀏覽至執行環境。
-
請注意新的 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 。
Manage Execution Environments in Oracle Linux Automation Manager Private Automation Hub
G39671-01
Copyright ©2023, Oracle and/or its affiliates.