附註:
- 此教學課程可在 Oracle 提供的免費實驗室環境中取得。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
搭配 Oracle Linux Automation Manager 使用 OCI Ansible 集合
簡介
Oracle Cloud Infrastructure (OCI) Ansible 集合使用 Oracle Linux Automation Engine 或 Oracle Linux Automation Manager,讓使用者能夠輕鬆在 Oracle Cloud 中佈建及管理資源。
目標
在本教學課程中,您將瞭解如何:
- 建立使用 OCI Ansible 集合的手冊
- 設定 Ansible Galaxy 的證明資料
- 新增 Oracle Cloud Infrastructure 證明資料
- 建立工作樣板
- 執行工作
必要條件
- 已安裝 Oracle Linux Automation Manager 的系統
- 存取 Git 儲存區域
- Oracle Cloud Infrastructure (OCI) 帳戶
- OCI 帳戶中具備使用區間中資源權限的使用者
- 存取該帳戶的證明資料和 OCID 資訊
部署 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: "olam-node" type: "control" 2: instance_name: "git-server" type: "server" use_git: true olam_type: single 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 位址。
建立手冊
-
開啟一個新的終端機視窗。
-
設定遠端 Git 伺服器執行處理的變數。
export REMOTE=<ip_address_of_instance>
-
建立專案目錄。
mkdir ~/myproject
-
建立必修課程檔案。
Oracle Linux Automation Engine 使用需求檔案,在執行階段將任何必要的集合或角色提取至專案中。
cat << EOF > ~/myproject/requirements.yml --- collections: - name: oracle.oci - name: community.general EOF
注意:對於 Oracle Linux Automation Engine < 2.13.9 的版本,您可以設定需求檔案,直接從集合 GitHub 儲存區域提取集合。
cat << EOF > ~/myproject/requirements.yml --- collections: - name: https://github.com/oracle/oci-ansible-collection.git type: git version: master - name: https://github.com/ansible-collections/community.general.git type: git version: main EOF
-
建立手冊 。
此手冊會查詢 Oracle Cloud Infrastructure 租用戶的物件儲存命名空間。我們稍後將在 Oracle Linux Automation Manager Web UI 中設定租用戶詳細資訊。
cat << EOF > ~/myproject/get_namespace.yml --- - name: Get namespace name hosts: localhost tasks: - name: get namespace oracle.oci.oci_object_storage_namespace_facts: register: output - name: print namespace ansible.builtin.debug: msg: "" EOF
新增專案至來源控制項
-
將專案的工作目錄起始至 Git 儲存區域。
起始儲存區域之前,您必須執行一些 Git 第一次設定組態步驟。
-
設定起始專案時使用的預設分支名稱。
git config --global init.defaultBranch main
-
設定您的身份 。
電子郵件和名稱是本教學課程中的範例。使用您的專案時,請使用您的電子郵件地址和名稱,因為 Git 在每次確認時都包含此資訊。
git config --global user.email johndoe@example.com git config --global user.name "John Doe"
-
變更至專案的工作目錄。
cd ~/myproject
-
將目錄起始為本機 Git 儲存區域。
git init
此命令會傳回它起始空白的 Git 儲存區域。
-
-
檢查工作目錄和專案暫存區的狀態。
git status
本機儲存區域的狀態代表兩個未追蹤的檔案:get_namespace.yml 和 requirements.yml
-
新增並追蹤暫存區中的新檔案。
git add --all
--all
選項會將所有未追蹤和已變更的檔案新增至暫存區。 -
確認目前在暫存區中的變更。
git commit -m 'initial commit'
-m
選項可以將註解新增至已確認的變更。 -
建立並起始遠端 Git 儲存區域。
遠端儲存區域是所有專案提供者使用的共用儲存區域,並儲存在程式碼代管服務 (例如 GitHub 或自行代管的伺服器) 中。
ssh git@$REMOTE "git init -b main --bare /git-server/repos/myproject.git"
-b
選項可確保使用稱為 main 的分支來初始化遠端儲存庫。 -
輸入
yes
以接受 ECDSA 金鑰指紋。 -
新增遠端儲存區域連線記錄。
新增遠端連線到本機儲存區域,可讓您將它當作 Git 命令中的具名捷徑使用。
git remote add origin git@$REMOTE:/git-server/repos/myproject.git
冒號之後的路徑是遠端 Git 伺服器上儲存區域的目錄位置。
-
驗證新增的連線記錄。
git remote -v
輸出顯示指向
git fetch
和git push
命令之遠端 Git 儲存區域位置的連線記錄 origin 。 -
將本機儲存區域變更植入遠端儲存區域。
git push origin main
現在可以在 Oracle Linux Automation Manager 專案中使用 myproject 來源。
建立 Ansible Galaxy 證明資料
這些證明資料可讓 Oracle Linux Automation Manager 從公用 Ansible Galaxy Hub 提取 OCI Ansible 集合。
-
開啟新的終端機視窗,然後設定 olam-node 執行處理的 SSH 通道。
ssh -L 8444:localhost:443 oracle@<ip_address_of_instance>
-
開啟 Web 瀏覽器並輸入 URL。
https://localhost:8444
注意:根據使用的瀏覽器來核准安全警告。若為 Chrome 瀏覽器,請按一下進階按鈕,然後按一下繼續進行 localhost (不安全) 連結。
-
登入 Oracle Linux Automation Manager Web UI。使用自動部署期間所建立的使用者名稱
admin
和密碼admin
。 -
Web UI 會在成功登入後顯示。
-
按一下導覽功能表中資源段落底下的證明資料。
-
按一下新增按鈕。
-
在特定欄位中輸入或選取下列值。
對於具有搜尋或值清單的欄位,我們可以開始輸入要求的值,然後從清單中選取該值。
- 名稱:
My Ansible Galaxy
- 組織:
Default
- 證明資料類型:Ansible Galaxy/Automation Hub API 記號
Oracle Linux Automation Manager 使用 Ansible Galaxy 證明資料,以便使用
ansible-galaxy
命令來下載角色與集合。- Galaxy 伺服器 URL :
https://galaxy.ansible.com
- 名稱:
-
複查項目,然後按一下儲存按鈕。
-
按一下導覽功能表中存取區段底下的組織。
若在組織內指定 Ansible Galaxy 證明資料,便可從 git 專案內下載 Oracle Linux Infrastructure Ansible 集合。
-
按一下預設組織,然後按一下編輯按鈕。
-
在 Galaxy 證明資料欄位中選取 My Ansible Galaxy 證明資料,然後按一下選取按鈕。
-
複查並按一下儲存按鈕。
建立 OCI 證明資料
OCI 證明資料主要提供特定 OCI 租用戶的 Oracle Linux Automation Manager 資訊。
-
按一下導覽功能表中的證明資料。
-
按一下新增按鈕。
-
在特定欄位中輸入或選取下列值。
- 名稱:
My OCI Credentials
- 組織:
Default
- 證明資料類型:Oracle Cloud Infrastructure
頁面會重新整理並要求您的 OCI 組態資訊。
- 名稱:
-
開啟一個新的終端機視窗。
-
顯示 OCI 組態檔的內容。
cat ~/.oci/config
-
使用終端機中顯示的值,並將它們與 Oracle Linux Automation Manager Web UI 中 OCI 證明資料的特定欄位進行比對。
使用每個欄位旁邊的
圖示來顯示貼上的值。
-
取得 OCI 使用者的 API 私密金鑰內容。
在免費的實驗室環境中,您可以執行
cat ~/.oci/oci.key
取得此資訊,然後複製整個輸出,包括 BEGIN 和 END 行。 -
將金鑰貼至 Oracle Linux Automation Manager Web UI 中的私密使用者金鑰欄位。
-
複查並按一下儲存按鈕。
如果您稍後需要編輯這些值,這些值將會在 Web UI 中以加密方式顯示。因此,若要進行變更,請按一下特定欄位旁的取代圖示,然後新增欄位的值。視需要重複,然後在完成變更後按一下儲存按鈕。
建立產品目錄
-
按一下導覽功能表中的存貨。
-
按一下新增按鈕,然後從下拉式值清單中選取新增產品目錄。
-
在特定欄位中輸入或選取下列值。
- 名稱:
My Local Inventory
- 實例群組: controlplane
使用 Oracle Linux Automation Engine 與 OCI 租用戶互動時,Oracle Cloud Infrastructure Ansible 集合會使用 localhost 網路連線。
- 名稱:
-
複查並按一下儲存按鈕。
新增來源控制證明資料
-
按一下導覽功能表中的證明資料。
-
按一下新增按鈕。
-
在特定欄位中輸入或選取下列值。
- 名稱:
Git Server
- 證明資料類型:來源控制
頁面會重新整理,要求類型詳細資訊。
- 名稱:
-
輸入 Git 伺服器的使用者名稱。
- 使用者名稱:
git
- 使用者名稱:
-
將 Git 伺服器私密金鑰的內容複製並貼到 SCM 私密金鑰欄位中。
Free Lab 環境會使用預設的
~/.ssh/id_rsa
檔案。 -
複查並按一下儲存按鈕。
建立專案
-
按一下導覽功能表中的專案。
-
按一下新增按鈕。
-
在特定欄位中輸入或選取下列值。
- 名稱:
My Project
- 執行環境: OLAM EE (2.3)
- 來源控制證明資料類型: Git
頁面會重新整理,要求類型詳細資訊。
- 來源控制 URL :
git@<ip_address_of_instance>:/git-server/repos/myproject.git
- 來源控制分支:
main
- 來源控制證明資料: Git 伺服器
自由實驗室環境會使用來源控制 URL 欄位中的 git-server IP 位址。
- 名稱:
-
複查並按一下儲存按鈕。
-
複查專案同步狀態。
建立專案之後,Web UI 會在同步開始時,在明細摘要中顯示其狀態。如果組態正確且 Git 伺服器可以連線,狀態就會從執行中轉換成成功。
建立工作樣板
-
按一下導覽功能表中的範本。
-
按一下新增按鈕,然後從下拉式值清單中選取新增工作樣板。
-
輸入或選取必要的值。
- 名稱:
My Template
- 工作類型:執行
- 存貨:我的本端存貨
- 專案:我的專案
- 執行環境: OLAM EE (2.3)
- 手冊:get_namespace.yml
- 名稱:
-
選取證明資料。
選取證明資料時,會顯示選取證明資料即現式對話方塊。從選取的類別下拉式清單中選擇 Oracle Cloud Infrastructure ,以顯示該類型的證明資料。
-
選取我的 OCI 證明資料,然後按一下選取按鈕。
-
複查工作樣板項目。
-
向下捲動頁面,然後按一下儲存 (Save) 按鈕。
-
啟動樣板。
按一下啟動按鈕,從樣板摘要頁面啟動工作。
如果成功,工作會啟動並顯示樣板的輸出,包括 OCI 租用戶的命名空間。如有必要,您可以按一下重新載入輸出連結來重新整理輸出面板。
接下來的步驟
顯示命名空間的輸出會確認您具有作業中的組態和專案,示範如何使用 Oracle Cloud Infrastructure Ansible 集合的手冊。進一步實驗集合,將執行處理和其他資源部署到您的租用戶。
相關連結
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Use OCI Ansible Collection with Oracle Linux Automation Manager
F76741-03
Copyright ©2023, Oracle and/or its affiliates.