附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱 Oracle Cloud Infrastructure Free Tier 入門。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
解決「無法顯示資訊:無法取得 API 階段作業」使用 OCI CLI 網路命令時發生錯誤
簡介
在 Oracle Cloud Infrastructure (OCI) 運算執行處理上使用 Oracle Cloud Infrastructure 命令行介面 (OCI CLI) 網路命令時,發生無法顯示資訊:無法取得 API 階段作業錯誤,尤其是在您管理重要網路組態時。
在本教學課程中,我們將逐步引導您瞭解此問題的常見原因,並提供逐步指示來解決問題。
何時會發生此錯誤?
sudo oci-network-config show
和 sudo oci-network-config configure
指令是 OCI 網路公用程式的一部分。這些命令用於管理和疑難排解與 OCI 互動之環境中的網路組態。
-
sudo oci-network-config show
-
用途:
sudo oci-network-config show
命令可用來顯示 OCI Compute 執行處理上目前的網路組態。 -
主要使用案例:
- 疑難排解網路問題。
- 驗證目前的虛擬網路介面卡 (VNIC) 組態,例如專用 IP、公用 IP、子網路資訊及 VLAN。
- 確保執行個體在多雲端或混合設置中具有正確的 IP 和路由配置。
-
-
sudo oci-network-config configure
-
用途:
sudo oci-network-config configure
命令可用來重新設定執行處理的網路設定值,通常是進行變更或回復網路連線。 -
主要使用案例:
- 連附或取消連附次要 VNIC。
- 在現有的 VNIC 上設定新的 IP 位址。
- 更新 OCI 資源 (例如子網路或 VLAN) 之後,動態修改網路設定值。
- 確定執行處理符合更新的 OCI 網路安全規則或路由變更。
-
例如:執行 sudo oci-network-config show
命令,將會發生下列錯誤:無法顯示資訊:無法取得 API 階段作業。
- 執行
sudo oci-network-config show
命令,從執行處理擷取所有網路組態。 - 請注意,錯誤:無法顯示資訊:無法取得 API 階段作業。作業系統層級不會提供執行處理 VNIC 的相關資訊,也不會在 OCI 層級提供。
執行無法顯示資訊:無法取得 API 階段作業的命令 oci-network-config show
時,無法這麼做。
為什麼會收到這個錯誤?
-
VCN 不是執行處理擁有的物件,這表示在沒有適當認證的情況下,執行處理無法直接存取 VCN 資訊。
-
若要讓執行處理能夠從 API 擷取 VCN 詳細資訊,您必須建立包含此執行處理的動態群組,並指定授予必要權限的原則。
若要讓 OCI Compute 執行處理能夠透過 API 擷取 VCN 詳細資訊,請依照下列步驟進行:
-
建立動態群組:此動態群組包括需要存取 API 的執行處理。您可以使用以執行處理 OCID 或區間等屬性為基礎的規則來定義群組。
-
指定權限給原則: 您需要建立一個 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 原則,此原則可授予動態群組讀取或管理 VCN 相關資源的權限。舉例而言:
allow dynamic-group <dynamic-group-name> to read virtual-network-family in compartment <compartment-name>
-
使用執行處理 (主體) 進行認證:動態群組中的執行處理會直接使用其識別進行認證,允許不將證明資料內嵌在應用程式中,即可進行安全的 API 存取。此方法可簡化安全性管理,同時維持健全的存取控制。
目標
- 解決無法顯示資訊:無法取得 API 階段作業錯誤,在 OCI Compute 執行處理上使用 OCI CLI 網路命令。
必要條件
- 在 OCI 內部執行的 Oracle Linux 執行處理。
解決錯誤
-
前往 OCI 主控台。
- 按一下漢堡功能表 (簡稱),瀏覽至運算、執行處理,然後選取要執行下列命令的運算執行處理
sudo oci-network-config show
和sudo oci-network-config configure
。 - 按一下顯示即可顯示執行處理 OCID 值。
- 按一下複製即可複製執行處理 OCID 值。
- 按一下漢堡功能表 (1),瀏覽至識別、網域、預設網域,然後按一下動態群組。
- 按一下建立動態群組。
- 輸入動態群組的名稱。在此範例中,我們將使用
sriov-test-04
。 - 按一下規則建置器。
- 選取執行處理相符中的執行處理 OCID 。
- 在值中輸入執行處理 OCID 的值。
- 按一下新增規則。
- 請注意,新規則會新增至群組。
- 按一下建立。
- 按一下漢堡功能表 (簡稱),瀏覽至運算、執行處理,然後選取要執行下列命令的運算執行處理
-
現在我們有執行處理所屬的群組,需要在包含執行處理的區間內建立原則。此原則將允許群組中的執行處理對 VCN 物件 (例如子網路) 執行作業。
- 按一下漢堡功能表 (按),瀏覽至識別,然後按一下區間。
- 按一下根區間。在此範例中,它是
oraseemeaocids4
。
- 請注意,我們現在位於子區間中。
- 按一下下一個子項區間。在此範例中,它是
NETWORK
。
- 請注意,我們現在位於下一個子區間中。
- 按一下下一個子項區間。在此範例中,它是
Iwan
。
- 請確定已選取正確的區間。
- 按一下原則。
- 按一下建立原則。
-
在建立原則中,輸入下列資訊。
- 輸入規定的名稱。在此範例中,我們將使用
allow-sriov-test-04-to-vcn
。 - 輸入原則的說明。在此範例中,我們將使用
allow-sriov-test-04-to-vcn
。 - 選取顯示手動編輯器。
- 輸入下列原則:
allow dynamic-group sriov-test-04 to manage all-resources in compartment Iwan
。 - 按一下建立。
- 輸入規定的名稱。在此範例中,我們將使用
-
請注意,在新建立的原則內會出現新的原則敘述句。
-
現在,我們允許執行處理透過 OCI CLI 對 VCN 執行 API 呼叫。
- 執行
sudo oci-network-config show
命令,從 OCI 層次的執行處理擷取所有網路組態。 - 請注意,錯誤現在已消失,並提供 OCI 層級網路輸出。
- 請注意,在 OCI 層次網路輸出之後,也會提供作業系統層次的網路輸出。
- 執行
認可
- 作者 - Iwan Hoogendoorn (OCI 網路專家)
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Resolve the 'Cannot show information: Failed to get API session' Error when using the OCI CLI Network Commands
G25544-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.