当前位置:网站首页 > R语言数据分析 > 正文

pass around服务(service bypass)



本文適用於:❌基本/標準 ✔️ Enterprise

本文說明如何使用 VMware Tanzu 的應用程式組態服務搭配 Azure Spring Apps 企業版方案。

VMware Tanzu 的應用程式組態服務是其中一個商業 VMware Tanzu 元件。 它可讓您管理 Kubernetes 原生 資源,這些資源會從一或多個 Git 存放庫中定義的屬性填入。

使用應用程式組態服務,您可以集中管理所有環境之應用程式的外部屬性。 若要瞭解基本和標準方案中的 Spring Cloud Config Server 差異,請參閱將 Azure Spring Apps Basic 或 Standard 方案實例遷移至企業方案的外部設定一節。

應用程式組態服務提供兩個版本:Gen1 和 Gen2。 Gen1 版本主要為現有客戶提供回溯相容性,且僅支援到 2024 年 4 月 30 日為止。 新的服務實例應該使用 Gen2。 Gen2 版本會使用 flux 作為後端來與 Git 存放庫通訊,並比 Gen1 提供更好的效能。

下表顯示子元件關聯性:

產生應用程式組態服務 子元件 Gen1 Gen2



下表顯示您參考的一些基準檢驗數據。 不過,Git 存放庫大小是影響效能數據的重要因素。 我們建議您只將必要的組態檔儲存在 Git 存放庫中,以保持小型。

產生應用程式組態服務 100 模式下重新整理的持續時間 250 模式下重新整理的持續時間 500 模式下重新整理的持續時間 Gen1 330 秒 840 秒 1500 秒 Gen2 13 秒 100 秒 378 秒

當您連線到遠端 Git 存放庫時,Gen2 也會提供更多安全性驗證。 如果您使用 HTTPS,Gen2 需要安全連線,並在使用 SSH 連線時驗證正確的主機金鑰和主機演算法

當您建立 Azure Spring Apps 企業版服務實例時,您可以選擇應用程式組態服務的版本。 默認版本為 Gen1。 您也可以在建立實例之後升級至 Gen2,但不支持降級。 升級為零停機時間,但仍建議您在預備環境中進行測試,再移至生產環境。

  • 已啟用應用程式組態服務的已布建 Azure Spring Apps 企業版方案實例。 如需詳細資訊,請參閱快速入門:使用 Enterprise 方案建置應用程式並將其部署至 Azure Spring 應用程式。

應用程式組態服務支援 Azure DevOps、GitHub、GitLab 和 Bitbucket 來儲存組態檔。

若要管理服務設定,請開啟 [ 設定] 區段。 在本節中,您可以設定下列重要層面:

  • 世代:升級服務產生。
  • 重新整理間隔:調整服務從 Git 存放庫檢查更新的頻率。
  • 存放庫:新增專案或修改現有的專案。 此函式可讓您控制服務監視用來提取數據的存放庫。

如果您目前的服務世代是 Gen1,您可以升級至 Gen2 以提升效能。 如需詳細資訊,請參閱 從 Gen1 升級至 Gen2 一節。

重新 整理間隔 會指定檢查存放庫中更新的頻率(以秒為單位)。 最小值為 0,這會停用自動重新整理。 為了獲得最佳效能,請將此間隔設定為最小值 60 秒。

下表描述每個存放庫項目的屬性:

屬性 是必要的嗎? 描述 Yes 標記每個 Git 存放庫的唯一名稱。 Yes 在 Git 存放庫中搜尋的模式。 針對每個模式,請使用 {application} 或 {application}/{profile}格式,而不是 {application}-{profile}.yml。 以逗號分隔模式。 如需詳細資訊,請參閱 本文的模式 一節。 Yes Git URI(例如 或 ) Yes 在 Git 存放庫中搜尋的分支名稱。 No 選擇性的搜尋路徑,以逗號分隔,以搜尋 Git 存放庫的子目錄。

組態是使用您在模式中定義的內容,從 Git 後端提取。 模式是 {application}/{profile} 的組合,如下列指導方針中所述。

  • {application} - 您要擷取其組態的應用程式名稱。 此值 會被視為預設應用程式,並包含跨多個應用程式共用的組態資訊。 任何其他值都會參考特定應用程式,並包含預設應用程式的特定應用程式和共用屬性的屬性。
  • {profile} -自選。 您可以擷取其屬性的設定檔名稱。 空值或值 包含跨配置檔共享的屬性。 非預設值包括指定設定檔的屬性,以及預設配置檔的屬性。

下列螢幕快照顯示應用程式組態服務支援的三種存放庫驗證類型。

下列清單描述三種驗證類型:

  • 公用存放庫。

    當您使用公用存放庫時,不需要任何額外的驗證設定。 在 [驗證] 窗體中選取 [公用]。

    下表顯示可用來設定公用 Git 存放庫的可設定屬性:

    屬性 是必要的嗎? 描述 No 只有在自我簽署憑證用於 Git 存放庫 URL 時才需要。
  • 具有基本身份驗證的私人存放庫。

    下表顯示您可以用來設定具有基本身份驗證的私人 Git 存放庫的可設定屬性:

    屬性 是必要的嗎? 描述 Yes 用來存取存放庫的用戶名稱。 Yes 用來存取存放庫的密碼。 No 只有在自我簽署憑證用於 Git 存放庫 URL 時才需要。
  • 具有 SSH 驗證的私人存放庫。

    下表顯示您可以使用 SSH 設定私人 Git 存放庫的可設定屬性:

    屬性 是必要的嗎? 描述 Yes 識別 Git 使用者的私鑰。 不支援複雜密碼加密的私鑰。 第 1 代否
    是,適用於 Gen2
    Git 伺服器的主機金鑰。 如果您在命令行上透過 Git 連線到伺服器,主機金鑰位於 .ssh/known_hosts 檔案中。 請勿包含演算法前置詞,因為它在 中 指定。 第 1 代否
    是,適用於 Gen2
    的演算法:、、、 和 的其中一個。 (提供 時為 必要)。 No 選擇性值,指出如果後端在使用提供的 時遇到錯誤,是否應該忽略後端。 有效值為 和 。 預設值是 。



若要驗證目標 URI 的存取權,請選取 [ 驗證]。 在驗證順利完成後,選取 [套用] 以更新組態設定。

相較於 Gen1,應用程式組態服務 Gen2 提供更佳的效能,特別是當您有大量的組態檔時。 我們建議使用 Gen2,特別是因為 Gen1 即將淘汰。 從 Gen1 升級至 Gen2 是零停機,但仍建議您先在預備環境中進行測試,再移至生產環境。

Gen2 在使用 SSH 驗證時,需要比 Gen1 更多的組態屬性。 您必須更新應用程式中的組態屬性,使其可與 Gen2 搭配運作。 下表顯示使用 SSH 驗證時 Gen2 的必要屬性:

屬性 說明 Git 伺服器的主機金鑰。 如果您在命令行上透過 Git 連線到伺服器,主機金鑰位於 .ssh/known_hosts 檔案中。 請勿包含演算法前置詞,因為它在 中 指定。 的演算法:、、、 或 的其中一個。

使用下列步驟,從 Gen1 升級至 Gen2:

  1. 在 Azure 入口網站 中,流覽至 Azure Spring Apps 服務實例的 [應用程式組態服務] 頁面。
  2. 選取 [設定] 區段,然後在 [產生] 下拉菜單中選取 [Gen2]。

  3. 選取 [驗證] 以驗證目標 URI 的存取權。 在驗證順利完成後,選取 [套用] 以更新組態設定。

應用程式組態服務可與 Spring Boot 應用程式順暢地運作。 服務所產生的屬性會透過 Spring Boot 匯入為外部組態,並插入豆類。 您不需要撰寫額外的程式代碼。 您可以使用註釋來取用值、透過 Spring 的環境抽象概念進行存取,或使用註釋將它們 系結至結構化物件。

應用程式組態服務也支援polyglot應用程式,例如 dotNET、Go、Python 等等。 若要存取您在應用程式中的polyglot 應用程式部署期間指定要載入的組態檔,請嘗試存取檔案路徑,您可以透過環境變數擷取的名稱,例如 。 您可以在該路徑下存取所有預定的組態檔。 若要存取組態檔中的屬性值,請使用您應用程式的現有讀取/寫入檔案連結庫。

當您在 Git 存放庫中修改並認可您的設定時,在應用程式中反映這些變更之前,會先進行數個步驟。 此程式雖然自動化,但牽涉到下列不同的階段和元件,每個階段都有自己的時間和行為:

  • 依應用程式組態服務輪詢:應用程式組態服務會定期輪詢後端 Git 存放庫以偵測任何變更。 此輪詢會以重新整理間隔所定義的設定頻率進行。 偵測到變更時,應用程式組態服務會更新 Kubernetes 。
  • 更新與 kubelet 快取的互動:在 Azure Spring Apps 中,這會 掛接為相關應用程式的數據磁碟區。 不過,由於 kubelet 重新整理快取以辨識 中的 變更的頻率,此程式會有自然延遲。
  • 應用程式會讀取更新的組態:在 Azure Spring Apps 環境中執行的應用程式可以存取更新的組態值。 Spring Context 中的現有豆類不會自動重新整理以使用更新的組態。

下圖摘要說明這些階段:

您可以調整應用程式設定服務的輪詢重新整理間隔,以符合您的特定需求。 若要在應用程式中套用更新的組態,則需要重新啟動或重新整理動作。

在 Spring 應用程式中,屬性會保留或參考為 Spring Context 內的豆類。 若要載入新的組態,請考慮使用下列方法:

  • 重新啟動應用程式。 重新啟動應用程式一律會載入新的組態。
  • 透過 Spring 執行器呼叫設定用戶端上公開的端點。

    若要使用此方法,請將下列相依性新增至組態用戶端的 pom.xml 檔案。

     

    您也可以新增下列設定來啟用執行器端點:

     

    藉由呼叫端點重載屬性來源之後,系統會重新整理具有批注的豆類中系結的屬性。

     

    搭配應用程式端點使用 curl 來重新整理新的組態,如下列範例所示:

     
  • 用來 監看檔案變更,並視需要重新整理內容。 是隨附的 類別,可監看特定目錄的檔案變更,或者您可以使用另一個具有類似函式的公用程式。 上述選項會要求用戶主動起始重新整理,而後者可以監視檔案變更,並在偵測更新時自動叫用重新整理。 您可以使用 環境變數 來擷取檔案路徑,如 Polyglot 支援一節中所述。

此為選用步驟。 如果您使用 Git 後端的自我簽署憑證,您必須設定 TLS 憑證以存取 Git 後端。

您必須先將憑證上傳至 Azure Spring Apps。 如需詳細資訊,請參閱在 Azure Spring 應用程式的應用程式中使用 TLS/SSL 憑證的匯入憑證章節。

當您搭配 Git 後端使用應用程式組態服務並使用集中式組態時,必須將應用程式系結至應用程式組態服務。

您現在可以選擇在建立新的應用程式時,將應用程式系結至應用程式組態服務。

您可以使用 Azure 入口網站 或 Azure CLI,在服務建立之後啟用和停用應用程式組態服務。 停用應用程式設定服務之前,您必須將應用程式的所有應用程式解除系結。

下一節說明如何檢查應用程式組態服務從相關 Kubernetes 中上游 Git 存放庫提取的組態檔內容。 如需詳細資訊,請參閱本文的重新 整理策略 一節。

首先,您必須將 Azure 角色 指派給您。

使用下列命令依模式檢視組態檔的內容:

 
  

指令會產生類似下列範例的 JSON 輸出:

 
  

您也可以搭配 參數使用此命令,將組態檔匯出至指定的資料夾。 它同時支持相對路徑和絕對路徑。 如果您未指定路徑,命令預設會使用目前目錄的路徑。

將應用程式系結至應用程式組態服務並設定應用程式部署的模式之後,如本文的使用應用程式組態服務搭配應用程式一節所述,應該將包含模式的組態檔掛接至應用程式容器。 使用下列步驟來檢查應用程式部署的每個實體中的組態檔:

  1. 連接到其中一個應用程式實例。 如需詳細資訊,請參閱連線到應用程式執行個體以進行疑難排解。
  2. 使用 命令來尋找包含組態檔的資料夾。 位置清單會以逗號分隔,如下列範例所示:
     
  3. 使用 之類的 命令檢查組態檔的內容。

下列各節說明如何使用 Azure CLI 或 Azure 入口網站 來檢視應用程式記錄。

您可使用 Azure CLI 即時串流記錄。 如需詳細資訊,請參閱即時串流 Azure Spring 應用程式受控元件記錄。 下列範例說明如何使用 Azure CLI 命令,持續串流 和 子元件的新記錄。

使用下列命令來串流 的記錄:

 
  

使用下列命令來串流 的記錄:

 
  

下列各節說明如何使用Log Analytics開啟和檢視系統記錄。

Log Analytics 的診斷設定

您必須先開啟系統記錄,並將記錄傳送至 Log Analytics 實例,才能查詢應用程式組態服務的記錄。 若要在 Azure 入口網站中啟用系統記錄,請使用下列步驟:

  1. 開啟您的 Azure Spring 應用程式執行個體。
  2. 在瀏覽窗格中,選取 [ 診斷設定]。
  3. 選取 [新增診斷設定],或針對現有設定選取 [編輯設定]
  4. 在 [記錄] 區段中,選取 [系統記錄] 類別。
  5. 在 [目的地詳細資料] 區段中,選取 [傳送至 Log Analytics 工作區],然後選取您的工作區。
  6. 選取 [儲存] 以更新設定。

檢查 Log Analytics 中的記錄

若要使用 Azure 入口網站檢查 和 的記錄,請使用下列步驟:

  1. 確定您已開啟 [系統記錄]。 如需詳細資訊,請參閱 Log Analytics 的診斷設定一節。
  2. 開啟您的 Azure Spring 應用程式執行個體。
  3. 在導覽功能表中,選取 [ 記錄 ],然後選取 [ 概觀]。
  4. 在查詢編輯窗格中使用下列範例查詢。 調整時間範圍,然後選取 [執行] 以搜尋記錄。
    • 若要檢視 的記錄,請使用下列查詢:
       

    • 若要檢視 的記錄,請使用下列查詢:
       

您可以在應用程式組態服務的記錄中找到 Pattern 組態檔的 Git 修訂。 下列範例記錄指出模式的組態檔是從存放庫的分支提取。 您可以在 [檢查記錄 ] 區段中瞭解如何查詢記錄 。

 
  

您也可以使用 Azure CLI 來尋找 Git 修訂。 如需詳細資訊,請參閱 使用 Azure CLI 檢查組態檔一節。

如果應用程式未反映最新的變更,請根據 [ 重新整理策略 ] 區段檢查下列專案:

  • 檢查下列項目,確認 Git 存放庫已正確更新:
    • 確認所需的組態檔變更分支已更新。
    • 確認應用程式組態服務中設定的模式符合更新的組態檔。
    • 確認應用程式已系結至應用程式組態服務。
  • 確認應用程式組態服務使用正確的 Git 修訂,如檢查組態檔的 Git 修訂一節中所述。
  • 確認已更新包含應用程式所用模式之組態檔的 ,如本文的 ConfigMap 中檢查組態檔一節所述。 如果未更新,請提出票證。
  • 確認 已將 掛接至應用程式作為檔案,如本文應用程式區段中的檢查組態檔中所述。 如果檔案未更新,請等候 Kubernetes 重新整理間隔 (1 分鐘),或重新啟動應用程式來強制重新整理。

檢查這些項目之後,應用程式應該能夠讀取更新的組態。 如果應用程式仍然未更新,請提出票證。

Azure Spring Apps

到此这篇pass around服务(service bypass)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • spark 面试题(spark面试题面试题)2025-08-12 21:45:08
  • 电脑剪辑软件pr全称(剪辑的pr软件全称)2025-08-12 21:45:08
  • 群晖修改root密码(群晖设置root密码)2025-08-12 21:45:08
  • termux启动kali桌面(termux打开kali)2025-08-12 21:45:08
  • resnet18比resnet50好(resnet18和resnet50)2025-08-12 21:45:08
  • redis-cli连接(redis-cli连接多个redis)2025-08-12 21:45:08
  • resnet一作(resnet top1)2025-08-12 21:45:08
  • treehut官网(treehouse官网)2025-08-12 21:45:08
  • hrnetone深圳(one more深圳)2025-08-12 21:45:08
  • nrm不是内部或外部命令(rm 不是内部或外部命令,也不是可运行的程序)2025-08-12 21:45:08
  • 全屏图片