準備代理程式部署
Schematics 代理程式可延伸直接在專用網路或任何隔離網路區域上工作的能力。 代理程式會讓使用者控制他們提供給代理程式以執行工作區及動作工作的網路配置及存取權。 代理程式是設計成沒有來自 Schematics 的入埠存取權,以及開啟入埠防火牆或網路存取埠。 代理程式與 Schematics 之間的所有通訊都是從代理程式出埠且在使用者控制下。
Schematics Agent 是微服務的集合,可在您帳戶中的 Kubernetes 集群上執行。 此外,它們也使用 Object Storage bucket 作為工作區或動作工作產生的日誌檔案和狀態檔案的中間或暫存資料儲存空間。
檢閱並完成列出的作業,以準備 IBM Cloud® 環境來部署新的代理程式。
- 帳戶和網路
- 代理商提供Schematics能夠在目標帳戶和帳戶專用網路中運行工作區和操作作業。 必須配置網路策略以允許部署代理程式的叢集與其進行回通信Schematics,也到IBM Cloud API、服務以及例如使用者私有的Git或 Vault 實例。 有關詳細信息,請參閱以下部分 規劃代理網路存取和配置。
- 記錄代理程式可存取之容許網路區域及基礎架構的相關資訊。
- 叢集
- ASchematics代理可以部署在現有的私有或公用上 IBM Cloud Kubernetes Service 和 Red Hat OpenShiftKubernetes Service 集群。 您可以使用現有叢集,或使用下列最低配置來佈建新叢集。
- 為了IBM Cloud Kubernetes Servicev1.28以及更高版本的叢集版本。 你需要 更新網路路徑 以便透過 VPE 閘道而不是專用服務端點拉取映像,或增強Schematics代理模板。
- 最低配置: 三個具有
b4x16規格的工作者節點。 此配置可用來平行執行四個工作區或動作工作。 - 記錄叢集的相關資訊,例如
cluster ID、cluster resource group及region,以供稍後使用。
升級 ca-mon 群集中的 Agent 時,請確定 private 和 public 服務端點都已啟用。 只有在安裝或升級時才需要這些端點。 成功安裝或升級後,您可以停用 public 服務端點。 但是,您必須重新啟用 public 服務端點,以便日後進行 Agent 升級。
要根據需求支援 Red Hat OpenShift Kubernetes Service 上的代理,您可以透過安全群組和網路存取控制清單 (ACL) 控制出口流量。
在叢集上部署代理程式之前,您需要在 VPC 層級定義任何安全性群組規則和 ACL。 欲了解更多信息,請參閱 用於在 VPC 上定義安全群組和 ACL 的 Terraform 腳本。
如果要在公用端點已停用且群集的 OAuth 存取類型為 vpegw 的群集上安裝代理程式,則必須在 Schematics 與 Kubernetes 之間,以 Viewer 角色建立服務對服務 ( S2S ) 授權原則。 代理程式版本必須為 1.7.0 或更新版本。 如需有關建立 S2S 政策的詳細資訊,請參閱 使用授權在服務之間授予存取權。
- IBM Cloud Object Storage
- 這Schematics代理使用一個Object Storage儲存桶,用於儲存臨時資料。 這IBM Cloud Object Storage實例必須與叢集位於同一資源組中。 此外,新儲存區必須位於與叢集相同的地區中。
- 若要部署代理程式,您必須具有必要的專用權,以建立 Object Storage 儲存區的
HMAC credentials,並將認證儲存為 Kubernetes 密鑰。 - 這IBM Cloud Object Storage必須建立實例和儲存桶才能成功部署。
- 記錄 IBM Cloud Object Storage 資源的相關資訊,例如
COS instance name、COS bucket name及bucket region,以供稍後使用。
- 若要部署代理程式,您必須具有必要的專用權,以建立 Object Storage 儲存區的
- IAM存取權限
- 您至少必須擁有以下權限:Kubernetes服務、資源組、Object Storage,以及Schematics服務於 部署代理。
- 使用以下方式在另一個帳戶中部署代理
ServiceID或者APIKey,您必須看到帳戶管理員授予了列出的所有服務的權限 部署代理程式的權限。
- 使用以下方式在另一個帳戶中部署代理
- IBM Cloud CLI
- 使用最新版本的IBM Cloud CLI 和 Schematics命令列介面v1.12.12 或更高版本的插件來安裝代理程式。 有關插件安裝的更多信息,請參見 安裝Schematics CLI 插件。
- Terraform 版本支持
- Agent 透過 Terraform 支援工作區:
v1.13及v1.14。 具有舊版 Terraform 的工作區必須更新至其中一個受支援版本,才能由代理程式支援。 如需更多資訊,請參閱 停用時程表及升級所需採取的用戶操作。
您只能在 Kubernetes 集群上部署一個代理實例。 若要在單一 IBM Cloud 帳戶中部署多個代理程式,必須將它們部署到不同的 Kubernetes 集群。 每一個代理程式及叢集都可以滿足雲端環境中不同的網路隔離區域。
代理程式可以與一個 IBM Cloud 帳戶及地理區域相關聯並執行工作。 代理程式無法與其他帳戶共用或執行多個帳戶的工作。 圖表代表代理程式與 Schematics 地理區域的關聯。 在這裡,具有遠端位置中本端專用資源存取權的多個代理程式與不同的 Schematics 地理實例相關聯。
此圖片僅為藝術呈現,並不反映實際的政治或地理邊界。
規劃代理程式網路存取及配置
Schematics代理程式使工作區和操作作業能夠在您的專用網路上運行,並可以直接存取您的專用網路和資料中心上的資源。 下圖說明透過 Transit Gateway 連接多個 VPC 之叢集環境上的可能代理程式部署模型。
若要使用專用資源,必須配置您的專用雲端環境,以容許叢集在代理程式上執行。 並且有權存取 API、服務及資源,以讓工作區及動作工作能夠執行。 通常 Terraform 使用 HTTPS 透過連接埠 443 設定服務。 而 Ansible 使用 SSH 透過連接埠 22 來執行 VSI 後備設定。 這些 HTTPS 和 SSH 網路路徑如圖所示。
必須配置 VPC 安全性群組或存取控制清單策略,以允許代理叢集使用 HTTPS 存取 IBM Cloud API 和使用 SSH 存取任何目標 VSI。
可以使用 Direct Link 或 VPN 連線來配置資料中心資源的存取權。
使用代理程式,您需要執行 Kubernetes 叢集的網路安全原則,以及執行中代理程式的任何「VPC 安全群組」或「存取控制清單」原則。 因此,請判定工作區及動作工作是否能夠存取專用雲端資源,以及 IBM Cloud API,以進行服務供應及配置。
代理程式產能規劃
您需要監控資源使用情況Schematics用於擴展工作節點的代理 PodKubernetes基於並發作業數量的集群。 要進行以下更改,您可以使用Kubernetes儀表板或 庫貝克特爾 命令。
- The number of concurrent Terraform, and Ansible jobs.
- The number of Terraform and Ansible pods.
- The resource limits for the agent deployment.
下一步
下一步是 部署代理程式。