注意:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱開始使用 Oracle Cloud Infrastructure Free Tier 。
- 它會使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值替代為您雲端環境特定的值。
使用 Golang 微服務搭配 OCI 資源管理程式在 OKE 上部署氣流
簡介
這是六個部分教學課程系列的一,其中顯示如何使用 Golang 微服務 (代表 OCI SDK、OCI-CLI、資源管理程式、OCI Devops 和 Helm 的用量) 在 OKE 叢集上部署一組暫時資源,以部署和毀棄 Apache Airflow。
目標
本教學課程系列示範如何使用 Golang 微服務在 OKE 叢集上建立及毀棄資源,以導入下列處理流程。在本教學課程中,我們將說明如何安裝及設定 OKE 叢集。

架構

必要條件
-
下列各項相關知識:
- Git (提取、新增、確認、推送)
- Linux
- ssh-key 的基本概念
- Kubernetes 的基本概念
作業 1:使用精靈安裝並設定 OKE 叢集
-
建立此實驗室的新區間:登入您的 Oracle Cloud 帳戶。按一下左上方的導覽功能表,選取識別與安全,然後按一下區間。

-
在剛才建立的 oci-resource-manager-lab 區間內建立新的 OKE 叢集。
注意:在本節中,我們將使用 ARM64 架構的型態 "Ampere"。這是重要注意事項,因為我們將部署的微服務必須使用相同的架構,否則並無法運作!


-
建立作為堡壘主機快速鍵的 VM 執行處理:若要存取 OKE 端點,我們將需要設定堡壘主機階段作業。因此,您需要先提供跳躍點 VM 執行處理。您可以按照標準文件建立新的執行處理:在 OCI 上啟動執行處理。
注意:您也可以使用主控台 Cloud Shell ,存取 OKE 端點。基於本教學的目的,我們將在跳板箱上使用 Bastion。如需詳細資訊,請參閱 CloudShell
-
前往運算,按一下即可在免費層建立新的運算執行處理。

-
選取位於 free-tier 的 Ampere VM 資源配置 (VM.Standard.A1.Flex),並將它放置在與 OKE 節點 (「 oke-nodesubnet-quick-.... 」) 相同的子網路上。

-
請貼上膝上型電腦公開金鑰,以便從您的機器存取 VM。如果您沒有 ssh 金鑰組,請遵循下列指示: Generate ssh-key-pair 。

-
按一下顯示進階選項,然後前往 Oracle Cloud 代理程式頁籤,然後選取堡壘主機核取方塊。

-
-
建立您的堡壘主機,指向跳轉方塊 VM。請確定選取的子網路與跳轉方塊 VM 相同。

-
現在,您需要建立一個存在一定時間的堡壘主機 SESSION,因此過期後,您將需要建立新的階段作業。請確定貼上您的 SSH 公鑰。

注意:若為 Oracle Linux 映像檔,預設使用者名稱為 " opc "。

-
取得 SSH 命令壓縮,然後僅設定您的 SSH 金鑰位置。
ssh -i <privateKey> -o ProxyCommand="ssh -i <privateKey> -W %h:%p -p 22 ocid1.bastionsession.oc1.sa-saopaulo-1.amaaaaaa3jinyjqa4kfosxytglr6q27365j67yjdh5hxrfpqn4y72nq2p6ma@host.bastion.sa-saopaulo-1.oci.oraclecloud.com" -p 22 opc@10.0.10.127 -
將 "privateKey " 取代為您的本機 ssh 金鑰位置,通常是 ~/.ssh/id_rsa 。
ssh -i ~/.ssh/id_rsa -o ProxyCommand="ssh -i ~/.ssh/id_rsa -W %h:%p -p 22 ocid1.bastionsession.oc1.sa-saopaulo-1.amaaaaaa3jinyjqa4kfosxytglr6q27365j67yjdh5hxrfpqn4y72nq2p6ma@host.bastion.sa-saopaulo-1.oci.oraclecloud.com" -p 22 opc@10.0.10.127
-
-
在快速鍵上安裝並設定 OCI CLI。您必須在蹦現方塊上設定 OCI CLI,才能使用 OCI 資源。如需完整的指示和詳細資訊,請參閱安裝並設定 OCI 命令行介面 (CLI) 。
-
前往您的快速鍵主控台,然後執行下列命令。
sudo dnf -y install oraclelinux-developer-release-el8 -y sudo dnf install python36-oci-cli -y
注意:請記下下列詳細資訊,因為之後的步驟需要這些詳細資訊:
-
使用者 OCID:要存取 OCI 資源之使用者的 OCID
-
租用戶 OCID:您租用戶的 OCID
-
您的區域:例如 sa-saopaulo-1
-
-
執行 OCIsetup 組態命令。
oci setup config -
利用上述步驟中的值注意事項完成必要項目,然後按一下 Y 以建立 RSA 金鑰組,然後針對其餘欄位使用預設輸入。

-
已經建立 ssh 金鑰檔案:oci_api_key_public.pem 和 oci_api_key.pem 。
-
現在,您必須將產生的 SSH 金鑰上傳到 Oracle Cloud 內的使用者 API 中。如需詳細資訊,請參閱上傳金鑰。必須要有此項目,才能使用 OCI-CLI 並與您的 Oracle Cloud 租用戶通訊。對於此教學課程,我們建立了一個名為 devmaster 的特定使用者,但您可以任選該使用者。
-
取得
oci_api_key_public.pem檔案的內容。
-
按一下新增 API 金鑰,然後貼上
oci_api_key_public.pem檔案的內容。


-
您應該已經在步驟 2 的蹦現視窗上建立 OCI 組態檔。請檢查
~/.oci/config檔案,確定 key_file 路徑正確,然後測試您的連線。 -
在您的蹦現面板主控台中,執行下列指令。
oci iam compartment list -
您應該會取得租用戶中目前的區間清單,這表示您能夠存取 OCI 租用戶。
-
-
-
使用命令行設定快速鍵以存取 OKE 叢集。
-
在您的蹦現視窗實例上安裝 kubectl 指令。
注意:我們使用 "arm64" 作為架構,這是因為我們在跳板箱上使用 Ampere 資源配置所需要的。
-
在您的蹦現面板主控台中,執行下列指令。
cd /home/opc curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/arm64/kubectl chmod +x ./kubectl sudo mv ./kubectl /usr/local/bin
-
-
前往主控台頁面上的 OKE 叢集,然後按一下存取叢集,即可取得必須在蹦現視窗上執行的指令。


-
執行修正權限並測試連線。
chmod 600 /home/opc/.kube/config kubectl get nodes
現在,您已從蹦現視窗連線至 Kubernetes 叢集!
下一步
若要繼續前往此學習進程的下一個教學課程,請按一下此處。
相關連結
確認
- 作者 - Joao Tarla (Oracle LAD A-Team 解決方案工程師)
其他學習資源
探索 docs.oracle.com/learn 的其他實驗室,或者存取更多 Oracle Learning YouTube 頻道上的免費學習內容。此外,請瀏覽 education.oracle.com/learning-explorer 以成為 Oracle Learning 檔案總管。
如需產品文件,請造訪 Oracle Help Center 。
Use Golang microservices with OCI Resource Manager to deploy Airflow on OKE
F79687-01
April 2023
Copyright © 2023, Oracle and/or its affiliates.