エージェント・デプロイメントの準備
Schematics エージェントは、プライベート・ネットワークまたは隔離されたネットワーク・ゾーンで直接作業する機能を拡張します。 エージェントにより、ユーザーは、ワークスペースおよびアクション・ジョブを実行するためにエージェントに付与するネットワーク構成およびアクセス権限を制御できます。 エージェントは、 Schematics からのインバウンド・アクセスと、インバウンド・ファイアウォールまたはネットワーク・アクセス・ポートのオープンを使用せずに設計されています。 エージェントと Schematics の間のすべての通信は、エージェントからのアウトバウンド通信であり、ユーザーの制御下にあります。
Schematics Agentは、お客様のアカウント Kubernetes クラスタ上で実行されるマイクロサービスのコレクションです。 また、ワークスペースやアクションのジョブによって生成されたログファイルやステートファイルの中間または一時的なデータストアとして、 Object Storage バケットを使用する。
リストされているタスクを確認して完了し、新規エージェントをデプロイするために IBM Cloud® 環境を準備します。
- アカウントとネットワーク
- エージェントはSchematicsターゲット アカウントとアカウントのプライベート ネットワーク内でワークスペース ジョブとアクション ジョブを実行する機能。 エージェントがデプロイされているクラスタが通信できるようにネットワークポリシーを構成する必要があります。Schematics、また、IBM Cloud API、サービス、そして例えばユーザープライベートGitまたは Vault インスタンス。 詳細については、エージェントのネットワークアクセスと構成の計画。
- エージェントがアクセスできる許可されたネットワーク・ゾーンおよびインフラストラクチャーに関する情報を記録します。
- クラスター
- あSchematicsエージェントは既存のプライベートまたはパブリックに導入可能 IBM Cloud Kubernetes Service そして Red Hat OpenShiftKubernetes Service クラスター。 既存のクラスターを使用することも、以下の最小構成で新規クラスターをプロビジョンすることもできます。
- のためにIBM Cloud Kubernetes Servicev1.28およびそれ以降のクラスター バージョン。 必要がある ネットワークパスを更新する イメージがプライベートサービスエンドポイントではなくVPEゲートウェイ経由で取得されるようにしたり、Schematicsエージェント テンプレート。
- 最小構成:
b4x16フレーバーの 3 つのワーカー・ノード。 この構成は、4 つのワークスペース・ジョブまたはアクション・ジョブを並行して実行するために使用できます。 - 後で使用するために、
cluster ID、cluster resource group、regionなどのクラスターに関する情報を記録します。
ca-mon クラスタ内のエージェントをアップグレードする場合は、 private と public の両方のサービスエンドポイントが有効になっていることを確認してください。 これらのエンドポイントは、インストール時またはアップグレード時にのみ必要です。 インストールまたはアップグレードが成功したら、 public サービスのエンドポイントを無効にできます。 ただし、今後 Agent
をアップグレードする場合は、 public サービスエンドポイントを再度有効にする必要があります。
Red Hat OpenShift Kubernetes Service でエージェントをサポートするために、要件に基づいて、セキュリティグループとネットワークアクセスコントロールリスト(ACL)を介して、イグジットトラフィックを制御することができます。
クラスターにエージェントをデプロイする前に、VPC レベルでセキュリティ グループ ルールと ACL を定義する必要があります。 詳細については、VPC 上のセキュリティ グループと ACL を定義する Terraform スクリプト。
パブリックエンドポイントが無効で、クラスタの OAuth アクセスタイプが vpegw であるクラスタにエージェントをインストールする場合、Viewer ロールを使用して Schematics と Kubernetes の間にサービス間 ( S2S ) 認可ポリシーを作成する必要があります。 エージェントのバージョンは、 1.7.0 以降である必要があります。 S2S ポリシーの作成についての詳細は、「 Using authorizations to grant access between services 」を参照してください。
- 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 エージェントをインストールするには、バージョン 1.0 以上のプラグインが必要です。 プラグインのインストールの詳細については、インストールSchematics CLIプラグイン。
- Terraform バージョンのサポート
- エージェントは、Terraform(
v1.13およびv1.14)を使用してワークスペースをサポートしています。 旧バージョンの Terraform を持つワークスペースは、エージェントによってサポートされるいずれかのバージョンに更新する必要があります。 詳細については、 廃止スケジュールおよびアップグレードのためのユーザー対応 をご確認ください。
Kubernetes クラスタに配置できるエージェント・インスタンスは 1 つだけです。 1つの IBM Cloud アカウント複数のエージェントを配置するには、それらを異なる Kubernetes クラスタに配置する必要があります。 各エージェントおよびクラスターは、クラウド環境内の異なるネットワーク分離ゾーンに対応できます。
エージェントは、1 つの IBM Cloud アカウントおよび地域のジョブに関連付けて実行することができます。 エージェントを他のアカウントと共有したり、複数のアカウントのジョブを実行したりすることはできません。 この図は、エージェントと Schematics 地理的領域との関連を表しています。 ここでは、リモート・ロケーションのローカル専用リソースへのアクセス権限を持つ複数のエージェントが、異なる Schematics 地理的インスタンスに関連付けられています。
この画像は芸術的表現であり、実際の政治的・地理的境界線を反映したものではない。
エージェントのネットワーク・アクセスおよび構成の計画
Schematicsエージェントを使用すると、プライベート ネットワークとデータ センター上のリソースに直接アクセスして、ワークスペースとアクション ジョブをプライベート ネットワーク上で実行できるようになります。 以下の図は、複数の VPC が中継ゲートウェイを介して接続されているクラスター環境で可能なエージェント・デプロイメント・モデルを示しています。
プライベート・リソースを処理するには、エージェント上でクラスターを実行できるようにプライベート・クラウド環境を構成する必要があります。 また、API、サービス、およびリソースにアクセスして、ワークスペースとアクションのジョブを実行できるようにします。 通常、Terraformはポート443上で HTTPS を使用してサービスを設定します。 Ansibleは、ポート22経由のSSHを使用して、プロビジョニング後のVSI構成を実行します。 これらの HTTPS とSSHのネットワーク経路は、図に示されています。
エージェントクラスタHTTPSて IBM Cloud APIに、SSHを使用して任意のターゲットVSIにアクセスできるように、VPCセキュリティグループまたはアクセス制御リストのポリシーを設定する必要があります。
データ・センター・リソースへのアクセスは、 Direct Link または VPN 接続を使用して構成できます。
エージェントを使用する場合は、 Kubernetes クラスターのネットワーク・セキュリティー・ポリシーと、実行中のエージェントの VPC セキュリティー・グループまたはアクセス制御リストのポリシーを実行する必要があります。 そのため、ワークスペース・ジョブとアクション・ジョブがプライベート・クラウド・リソースにアクセスできるかどうか、およびサービスのプロビジョニングと構成のための IBM Cloud API を判別できます。
エージェントのキャパシティー・プランニング
リソースの使用状況を監視する必要がありますSchematicsエージェントポッドは、Kubernetes同時実行ジョブの数に基づいてクラスターを作成します。 以下の変更を行うには、Kubernetesダッシュボードまたは kubectl コマンド。
- The number of concurrent Terraform, and Ansible jobs.
- The number of Terraform and Ansible pods.
- The resource limits for the agent deployment.
次のステップ
次のステップでは、 エージェントをデプロイします。