附註:

搭配 Oracle Linux Automation Manager 使用 OCI Ansible 集合

簡介

Oracle Cloud Infrastructure (OCI) Ansible 集合使用 Oracle Linux Automation Engine 或 Oracle Linux Automation Manager,讓使用者能夠輕鬆在 Oracle Cloud 中佈建及管理資源。

目標

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

必要條件

部署 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: "olam-node"
        type: "control"
      2:
        instance_name: "git-server"
        type: "server"
    use_git: true
    olam_type: single
    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 位址。

建立手冊

  1. 開啟一個新的終端機視窗。

  2. 設定遠端 Git 伺服器執行處理的變數。

    export REMOTE=<ip_address_of_instance>
    
  3. 建立專案目錄。

    mkdir ~/myproject
    
  4. 建立必修課程檔案。

    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
    
  5. 建立手冊 。

    此手冊會查詢 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
    

新增專案至來源控制項

  1. 將專案的工作目錄起始至 Git 儲存區域。

    起始儲存區域之前,您必須執行一些 Git 第一次設定組態步驟。

    1. 設定起始專案時使用的預設分支名稱。

      git config --global init.defaultBranch main
      
    2. 設定您的身份 。

      電子郵件和名稱是本教學課程中的範例。使用您的專案時,請使用您的電子郵件地址和名稱,因為 Git 在每次確認時都包含此資訊。

      git config --global user.email johndoe@example.com
      git config --global user.name "John Doe"
      
    3. 變更至專案的工作目錄。

      cd ~/myproject
      
    4. 將目錄起始為本機 Git 儲存區域。

      git init
      

      此命令會傳回它起始空白的 Git 儲存區域。

  2. 檢查工作目錄和專案暫存區的狀態。

    git status
    

    本機儲存區域的狀態代表兩個未追蹤的檔案:get_namespace.ymlrequirements.yml

  3. 新增並追蹤暫存區中的新檔案。

    git add --all
    

    --all 選項會將所有未追蹤和已變更的檔案新增至暫存區。

  4. 確認目前在暫存區中的變更。

    git commit -m 'initial commit'
    

    -m 選項可以將註解新增至已確認的變更。

  5. 建立並起始遠端 Git 儲存區域。

    遠端儲存區域是所有專案提供者使用的共用儲存區域,並儲存在程式碼代管服務 (例如 GitHub 或自行代管的伺服器) 中。

    ssh git@$REMOTE "git init -b main --bare /git-server/repos/myproject.git"
    

    -b 選項可確保使用稱為 main 的分支來初始化遠端儲存庫。

  6. 輸入 yes 以接受 ECDSA 金鑰指紋。

  7. 新增遠端儲存區域連線記錄。

    新增遠端連線到本機儲存區域,可讓您將它當作 Git 命令中的具名捷徑使用。

    git remote add origin git@$REMOTE:/git-server/repos/myproject.git
    

    冒號之後的路徑是遠端 Git 伺服器上儲存區域的目錄位置。

  8. 驗證新增的連線記錄。

    git remote -v
    

    輸出顯示指向 git fetchgit push 命令之遠端 Git 儲存區域位置的連線記錄 origin

  9. 將本機儲存區域變更植入遠端儲存區域。

    git push origin main
    

    現在可以在 Oracle Linux Automation Manager 專案中使用 myproject 來源。

建立 Ansible Galaxy 證明資料

這些證明資料可讓 Oracle Linux Automation Manager 從公用 Ansible Galaxy Hub 提取 OCI Ansible 集合。

  1. 開啟新的終端機視窗,然後設定 olam-node 執行處理的 SSH 通道。

    ssh -L 8444:localhost:443 oracle@<ip_address_of_instance>
    
  2. 開啟 Web 瀏覽器並輸入 URL。

    https://localhost:8444
    

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

  3. 登入 Oracle Linux Automation Manager Web UI。使用自動部署期間所建立的使用者名稱 admin 和密碼 admin

    olam2- 登入

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

    olam2- 烏布

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

  6. 按一下新增按鈕。

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

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

    • 名稱My Ansible Galaxy
    • 組織Default
    • 證明資料類型Ansible Galaxy/Automation Hub API 記號

    Oracle Linux Automation Manager 使用 Ansible Galaxy 證明資料,以便使用 ansible-galaxy 命令來下載角色與集合。

    • Galaxy 伺服器 URLhttps://galaxy.ansible.com

    olam2-ansible-galaxy-creds

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

  9. 按一下導覽功能表中存取區段底下的組織

    若在組織內指定 Ansible Galaxy 證明資料,便可從 git 專案內下載 Oracle Linux Infrastructure Ansible 集合。

  10. 按一下預設組織,然後按一下編輯按鈕。

  11. Galaxy 證明資料欄位中選取 My Ansible Galaxy 證明資料,然後按一下選取按鈕。

  12. 複查並按一下儲存按鈕。

    olam2-ansible-galaxy-org

建立 OCI 證明資料

OCI 證明資料主要提供特定 OCI 租用戶的 Oracle Linux Automation Manager 資訊。

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

  2. 按一下新增按鈕。

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

    • 名稱My OCI Credentials
    • 組織Default
    • 證明資料類型Oracle Cloud Infrastructure

    olam2-oci-cred1

    頁面會重新整理並要求您的 OCI 組態資訊。

  4. 開啟一個新的終端機視窗。

  5. 顯示 OCI 組態檔的內容。

    cat ~/.oci/config
    
  6. 使用終端機中顯示的值,並將它們與 Oracle Linux Automation Manager Web UI 中 OCI 證明資料的特定欄位進行比對。

    使用每個欄位旁邊的 olam2-webui-show 圖示來顯示貼上的值。

    olam2-oci-cred2

  7. 取得 OCI 使用者的 API 私密金鑰內容。

    在免費的實驗室環境中,您可以執行 cat ~/.oci/oci.key 取得此資訊,然後複製整個輸出,包括 BEGINEND 行。

  8. 將金鑰貼至 Oracle Linux Automation Manager Web UI 中的私密使用者金鑰欄位。

    olam2-oci-cred3

  9. 複查並按一下儲存按鈕。

    olam2-oci-cred4

    如果您稍後需要編輯這些值,這些值將會在 Web UI 中以加密方式顯示。因此,若要進行變更,請按一下特定欄位旁的取代圖示,然後新增欄位的值。視需要重複,然後在完成變更後按一下儲存按鈕。

建立產品目錄

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

  2. 按一下新增按鈕,然後從下拉式值清單中選取新增產品目錄

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

    • 名稱My Local Inventory
    • 實例群組controlplane

    使用 Oracle Linux Automation Engine 與 OCI 租用戶互動時,Oracle Cloud Infrastructure Ansible 集合會使用 localhost 網路連線。

  4. 複查並按一下儲存按鈕。

    olam2- 發票

新增來源控制證明資料

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

  2. 按一下新增按鈕。

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

    • 名稱Git Server
    • 證明資料類型來源控制

    olam2-git-cred1

    頁面會重新整理,要求類型詳細資訊

  4. 輸入 Git 伺服器的使用者名稱。

    • 使用者名稱git
  5. 將 Git 伺服器私密金鑰的內容複製並貼到 SCM 私密金鑰欄位中。

    Free Lab 環境會使用預設的 ~/.ssh/id_rsa 檔案。

    olam2-git-cred2

  6. 複查並按一下儲存按鈕。

    olam2-git-cred3

建立專案

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

  2. 按一下新增按鈕。

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

    • 名稱My Project
    • 執行環境OLAM EE (2.3)
    • 來源控制證明資料類型Git

    olam2-proj1

    頁面會重新整理,要求類型詳細資訊

    • 來源控制 URLgit@<ip_address_of_instance>:/git-server/repos/myproject.git
    • 來源控制分支main
    • 來源控制證明資料Git 伺服器

    自由實驗室環境會使用來源控制 URL 欄位中的 git-server IP 位址。

  4. 複查並按一下儲存按鈕。

    olam2-proj2

  5. 複查專案同步狀態。

    建立專案之後,Web UI 會在同步開始時,在明細摘要中顯示其狀態。如果組態正確且 Git 伺服器可以連線,狀態就會從執行中轉換成成功

    olam2- 專案同步

建立工作樣板

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

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

  3. 輸入或選取必要的值。

    • 名稱My Template
    • 工作類型執行
    • 存貨我的本端存貨
    • 專案我的專案
    • 執行環境OLAM EE (2.3)
    • 手冊get_namespace.yml
  4. 選取證明資料。

    選取證明資料時,會顯示選取證明資料即現式對話方塊。從選取的類別下拉式清單中選擇 Oracle Cloud Infrastructure ,以顯示該類型的證明資料。

  5. 選取我的 OCI 證明資料,然後按一下選取按鈕。

  6. 複查工作樣板項目。

    olam2-temp1

  7. 向下捲動頁面,然後按一下儲存 (Save) 按鈕。

    olam2-temp2

  8. 啟動樣板。

    按一下啟動按鈕,從樣板摘要頁面啟動工作。

    olam2 啟動

    如果成功,工作會啟動並顯示樣板的輸出,包括 OCI 租用戶的命名空間。如有必要,您可以按一下重新載入輸出連結來重新整理輸出面板。

    olam2-temp- 輸出

接下來的步驟

顯示命名空間的輸出會確認您具有作業中的組態和專案,示範如何使用 Oracle Cloud Infrastructure Ansible 集合的手冊。進一步實驗集合,將執行處理和其他資源部署到您的租用戶。

其他學習資源

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

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