ArcGIS Enterprise on Kubernetes 11.1 を実行するために必要な最低限のハードウェアおよびインフラストラクチャについて以下に説明します。 これらの要件は、インターネット非接続環境にデプロイする場合にも適用されます。
サポート環境
システム要件および仕様は、注意書きがない限りサポートされているすべての環境に適用されます。 このリリースでは、次の環境がサポートされています。
- オンプレミス データ センター
- Red Hat OpenShift Container Platform
- クラウド上のマネージド Kubernetes サービス
- Amazon Elastic Kubernetes Service (EKS)
- Google Kubernetes Engine (GKE)
- Microsoft Azure Kubernetes Service (AKS)
Kubernetes クラスターでは、自動アップグレードを無効にすることを強くお勧めします。 自動アップグレードが有効になっている場合は、ノードが最新バージョンの Kubernetes に自動的に更新されますが、これらの将来のバージョンは ArcGIS Enterprise でまだサポートされていない可能性があります。
注意:
環境をアップグレードする際、Kubernetes をサポートされているバージョンにアップグレードする前に ArcGIS Enterprise on Kubernetes をアップグレードする必要があります。各環境の次のバージョンはテスト済みで、サポートされています。
サポートされている環境 | サポートされている Kubernetes バージョン |
---|---|
クラウド上のマネージド Kubernetes サービス (AKS、EKS、GKE) | 1.23 - 1.25 |
Red Hat OpenShift Container Platform | 4.10 - 4.12 |
注意:
ArcGIS Enterprise on Kubernetes は、x86_64 アーキテクチャ (64 ビット) に準拠した CPU のみでサポートされています。 ワーカー ノードは Linux ベースである必要があります。
コンテナー レジストリ
ArcGIS Enterprise on Kubernetes のコンテナー イメージには、プライベートの Docker Hub 組織からアクセスできます。 Esri は、ArcGIS Enterprise on Kubernetes をデプロイしているユーザーにこの組織のリポジトリへのアクセス権を提供します。 非接続環境にデプロイする場合は、プライベートの Docker Hub 組織から、自分のクラスターからアクセスできる組織のコンテナー レジストリへイメージをプッシュする必要があります。
Esri ライセンスの取得
デプロイ時に ArcGIS Enterprise 組織を認証するには、JSON 形式 (.json ファイル) の ArcGIS Enterprise on Kubernetes ライセンス ファイルが必要です。 このライセンス ファイルを取得するには、ライセンス アクションを実行する権限を使用して My Esri にアクセスします。
CPU とメモリ
ArcGIS Enterprise on Kubernetes は、3 つのアーキテクチャ プロファイルのいずれかを使用してデプロイされます。 リソース (CPU とメモリ) の要求と制限および全体的な計算要件の推奨事項は、選択したプロファイルによって異なります。 各プロファイルの推奨事項を以下に示します。
各アーキテクチャ プロファイルの最小ノード要件は以下のとおりです。 各ワーカー/エージェント ノードには、8 CPU および 32 GiB のメモリ以上を推奨します。
アーキテクチャ プロファイル | 最小ワーカー/エージェント ノード | 最小 CPU の合計 | 最小 GiB の合計 |
---|---|---|---|
Enhanced availability | 5 | 40 | 160 |
Standard availability | 4 | 32 | 128 |
開発 | 3 | 24 | 96 |
ArcGIS Enterprise on Kubernetes デプロイメント内のポッドは、クラスター内のワーカー ノード全体に分散しています。 デプロイメントをスケーリングする場合や、別の ArcGIS Enterprise デプロイメントをクラスターに追加する場合は、ハードウェアを適切にプロビジョニングする必要があります。 これには、ノードあたりの最大ポッド数のデフォルト値を増やす必要がある場合があります。 最初に作成されるポッドの数は、アーキテクチャ プロファイルによって異なります。 水平方向にスケールするか、新しい機能を追加すると、ポッド数が増加します。
セキュリティ
以下に、ArcGIS Enterprise on Kubernetes のセキュリティ要件を説明します。
ロールベースのアクセス制御
Kubernetes クラスターでロールベースのアクセス制御 (RBAC) が有効になっている必要があります。 ArcGIS Enterprise on Kubernetes のデプロイでは、cluster-admin 権限は必要ありません。 cluster-admin 権限がない場合、ユーザーは最小の名前空間管理権限を持っている必要があります。 名前空間に RoleBinding を作成することで、ユーザーにデフォルトの ClusterRole を割り当てることができます。
データ フォルダーの登録
ファイルベースのデータ (ファイル ジオデータベースから公開されたアイテムなど) を使用してアイテムを公開するには、データを NFS で共有された位置に配置する必要があります。 データの公開中にデータがサーバーにコピーされないよう、この NFS 共有を ArcGIS Enterprise 組織に登録する必要があります。 共有フォルダーを正常に登録するには、他のユーザーにファイル レベルの読み取り権限を付与する必要があります。 ポッドの IP 範囲へのネットワーク アクセスを許可することで、ネットワークまたはインフラストラクチャ レベルで NFS 共有を保護できます。
ネットワーク
ネットワーク要件には、FQDN とロード バランサーが含まれます。 それぞれの詳細を以下に示します。
完全修飾ドメイン名
ArcGIS Enterprise on Kubernetes は FQDN (たとえば map.company.com) が必要です。 完全修飾ドメイン名は、既存のドメイン名システム (DNS)、または Amazon Route 53 などのクラウド DNS サービスを使用して作成することができます。 デプロイ後、DNS レコードを作成できますが、その値はデプロイしている間に指定する必要があります。 このリリースでは、デプロイ後に FQDN を変更することはできません。
ロード バランサー
各ワーカー ノードでトラフィックを転送するには、ロード バランサーが必要です。 デプロイメント スクリプトから次のロード バランサーをプロビジョニングできます。手動による構成は不要です。
- Azure Load Balancer (パブリック向けまたは内部向け) - プロビジョニングされる静的なパブリック IP アドレスおよび DNS ラベルは、デプロイメントスクリプトで指定できます。
- AWS Network Load Balancer (インターネット向けまたは内部向け) - その他のロード バランシング サービスを使用できます。ただし、クラスター ノードごとに手動で構成する必要があります。
注意:
パブリックまたはプライベート サブネットにネットワーク ロード バランサーを作成するには、AWS Load Balancer Controller アドオンが必要です。
- Google Cloud Platform TCP Load Balancer (インターネット向けまたは内部向け) - プロビジョニングされる静的なパブリック IP アドレスは、デプロイメント スクリプトで指定できます。
OpenShift Container Platform は、ingress コントローラー サービスに向いているときにルートを設定できます。
ingress コントローラー サービスの NodePort のワーカー ノードに向いている自己管理ロード バランサーを使用することができます。 詳細については、ロード バランサーのデプロイメントガイドのパラメーターの説明をご参照ください。
セルフマネージド ロード バランサーまたは NGINX などのリバース プロキシを使用している場合は、次の接続を指定します。proxy_set_header X-Forwarded-Host $host; このヘッダーは、トラフィックが ArcGIS Enterprise 組織の URL に適切にルーティングされるようにするために必要です。
注意:
ArcGIS Enterprise は、リバース プロキシ/ロード バランサーを通じた SSL オフロードをサポートしていません。 リバース プロキシが構成で使用されている場合、HTTPS を通じて ArcGIS Web Adaptor にリダイレクトするか、組織に直接リダイレクトする必要があります。
IP 要件
正常なデプロイメント、適切なスケーリング要件、アップグレード機能を確保するためには、クラスター ネットワークを事前に計画することが必要です。 ArcGIS Enterprise on Kubernetes が最初にデプロイするポッドの数は、アーキテクチャ プロファイルに応じて 47 ~ 66 個です。 機能の追加、デプロイメントのスケーリング、アップグレード処理に伴い、ポッドの数が増加します。
各ポッドには一意の IP アドレスが割り当てられます。また、クラスター ネットワークの構成に応じて、ポッドは、ホスト ネットワーク (オーバーレイ ネットワーク) とは論理的に異なるアドレス空間から、またはホスト サブネットから IP アドレスを取得できます。 たとえば、Azure で Kubernet を使用するようクラスターを構成した場合 (デフォルト)、ポッドは論理的に異なるアドレス空間から IP アドレスを取得し、NAT を使用して Azure リソースにアクセスできるようになります。
Kubernetes は CNI (Container Network Interface) と、プラットフォーム固有の CNI プラグインをクラスター ネットワークで使用するプラットフォーム (AKS や EKS など) をサポートしています。 たとえば、EKS クラスターはデフォルトで VPC (Virtual Private Cloud) CNI を使用します。 クラスターに CNI プラグインが構成されている場合、ポッドは、ホスト サブネットと、VPC/VNet で利用可能な対応 IP プールから IP アドレスを取得します。
ホスト サブネットで使用できる IP の数が十分ではない場合、デプロイメントは失敗するか、デプロイメントをスケーリングできません。 たとえば、EKS クラスターにそれぞれ 2 個のサブネットと /26 IPv4 アドレス接頭辞 (それぞれ 64 個の IPv4 アドレスを使用可能) が構成されている場合、ポッドで使用できる IP アドレス数は 126 個を超えることはできません。 このクラスターに ArcGIS Enterprise on Kubernetes をデプロイできますが、80 個のフィーチャ サービス ポッドを持つようこのデプロイメントをスケーリングすることはできません。このスケーリング要件では、利用可能な IP アドレスの数を超過してしまいます。
システム ストレージ
ArcGIS Enterprise on Kubernetes では、システム ストレージとして永続ボリューム (PV) が必要です。PV は、ストレージ クラスによって動的にプロビジョニングすることも、組織を作成する前に管理者が静的にプロビジョニングすることもできます。 ArcGIS Enterprise のステートフル ワークロードには、リレーショナル データベース管理システムと NoSQL データベースが含まれます。 EBS ボリューム (EKS の使用時)、Azure ディスク (AKS の使用時)、Persistent Disk (GKE の使用時)、vSphereVolume または Longhorn ボリューム (オンプレミスのデプロイメント時) など、低遅延のブロック ストレージ デバイスで PV をプロビジョニングすることをお勧めします。
これらの PV は組織のデータと設定を格納するため、制限付きセキュリティ ポリシーを使用して保護する必要があります。 NFS、Azure ファイル、GlusterFS など、ネットワーク ファイル ストレージに基づく PV の場合、不正なアクセスを防ぐように権限が設定されていることを確認します。 EBS、Azure ディスク、vSphereVolume、Longhorn ボリュームなどのブロック ストレージの場合、ストレージ ボリュームへのアクセスが、そのアクセスを必要とするユーザーのみに制限されていることを確認します。
ストレージ ボリュームの説明と使用目的は次のとおりです。
注意:
11.1 の永続ボリューム要件が記載されており、前のバージョンとは異なる可能性があります。
- インメモリー - 一時システム リソースを格納します。
- アイテム パッケージ - 公開ワークフローをサポートするサイズの大きいアップロードとパッケージを格納します。
- オブジェクト - アップロードおよび保存されたコンテンツ、ホスト タイル/イメージ レイヤー キャッシュ、およびジオプロセシングの出力を格納します。
- キュー - 非同期ジオプロセシング ジョブを格納します。
- リレーショナル - ホスト フィーチャ データと、カスタマイズや構成設定などの管理面の情報を格納します。 デプロイメント用に 2 つ必要です。
- 時空間およびインデックス - ログとインデックスのほか、ホストフィーチャ データを格納します。
- Usage metric data - GIS サービス使用状況データを格納します。
組織に合ったストレージ要件を検討し、各 PV のサイズを状況に応じて適切に定義してください。
静的 PVs
デプロイの前に静的 PV のプロビジョニングを行っている場合は、次の仕様およびラベルの使用をお勧めします。
各アーキテクチャ プロファイルに必要な PVs の数が提供されています。
体積 | Enhanced availability プロファイル | Standard availability プロファイル | Development プロファイル |
---|---|---|---|
in-memory-volume | 1 | 1 | 1 |
item-packages-volume | 2 | 2 | 1 |
object-volume | 8 | 3 | 1 |
queue-volume | 2 | 2 | 1 |
relational-volume | 2 | 2 | 2 |
spatiotemporal-and-index-volume | 5 | 3 | 1 |
usage-metric-volume | 1 | 1 | 1 |
既存の静的 PV を使用するように組織を構成している場合は、各永続ボリューム クレーム (PVC) のサイズ、アクセス モード、およびラベルの値が、ラベル セクションを介して組織を PV にバインドするために使用されます。 これらの値は、プロビジョニングされた PV がそれぞれのステートフルセット仕様に一致するように、設定ウィザードまたは構成プロパティ ファイルでカスタマイズすることができます。
体積 | GiB 単位の容量 (最小) | アクセス モード | ラベル |
---|---|---|---|
in-memory-volume | 16 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=ignite |
item-packages-volume | 16 | ReadWriteOnce | arcgis/tier=api, arcgis/app=sharing |
object-volume | 32 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=ozone |
queue-volume | 16 | ReadWriteOnce | arcgis/tier=queue, arcgis/app=rabbitmq |
relational-volume | 16 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=postgres |
spatiotemporal-and-index-volume | 16 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=elasticsearch |
usage-metric-volume | 30 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=prometheus |
静的 PVs のその他の注意事項
デプロイしている間に構成したプロビジョニング済みのストレージのタイプは、アップグレードと拡張の要件を決定します。
ポータル API デプロイメントを拡張するための追加の PV の作成
ポータル API デプロイメントを拡張する (関連するポットの数を増やす) には、デプロイメントに追加される追加のポッドごとに、追加のアイテムパッケージ PV が必要です。 たとえば、組織のポータル API デプロイメントに 3 つのポッドが追加で必要な場合、デプロイしている間の指定と同等の仕様を使用して、最低 3 つのアイテムパッケージ PVs をプロビジョニングおよび構成する必要があります。
動的 PVs
動的なプロビジョニングの場合、StorageClass が必要です。
管理を簡略化するために StorageClass の reclaimPolicy パラメーターを「Delete」に設定できます。 これを行うと、PVC が削除されるとき (ソフトウェアのアンデプロイ時など) に、関連する PV がクリーンアップされます。
アンデプロイおよび再デプロイ時に PV が保持されるように、reclaimPolicy パラメーターが「Retain」に設定されているホスト バックアップ ストア構成で個別の StorageClass を使用する必要があります。
ストレージ プロバイダーが PV の拡張をサポートしている場合は、StorageClass の allowVolumeExpansion パラメーターを「true」に設定できます。
注意:
すべての VM タイプが Azure のプレミアム ディスクをサポートしているわけではありません。 プレミアム ディスクは、VM タイプがサポートしている場合に使用します。- 以下は、AKS で Azure Premium ディスクにより StorageClass を定義した例です。
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: arcgis-storage-default provisioner: disk.csi.azure.com parameters: kind: Managed storageaccounttype: Premium_LRS reclaimPolicy: Delete allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer
- 以下は、EKS で GP3 タイプの EBS ボリュームにより StorageClass を定義した例です。
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: arcgis-storage-default provisioner: ebs.csi.aws.com parameters: fsType: ext4 type: gp3 reclaimPolicy: Delete allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer
- 以下は、GKE で SSD 永続ディスクにより StorageClass を定義した例です。
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: arcgis-storage-default provisioner: pd.csi.storage.gke.io parameters: type: pd-ssd reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true
EKS (GP2)、AKS (managed または managed-premium)、または GKE (persistentdisk) クラスターとともに提供されるデフォルトのストレージクラスを使用することもできますが、Kubernetes バージョン 1.23 以降のリリースでプロビジョニングをサポートするために CSI ドライバーのインストールが必要になる場合があります。 組織を作成する前に reclaimPolicy および allowVolumeExpansion プロパティがユーザーのニーズを満たしていることを確認する必要があります。
クライアント ワークステーション
デプロイメント スクリプトは、リモートのクライアント ワークステーションから実行できる Bash スクリプトです。 スクリプトを実行しているユーザーには、スクリプトによってサブディレクトリに一時リソース ファイルを書き込めるように、読み取りおよび書き込みアクセス権が必要です。
注意:
互換性に関する既知の問題のため、ArcGIS Enterprise on Kubernetes のデプロイでは、Linux エミュレーターはサポートされていません。
クライアント ワークステーションの設定時に以下が必要です (ダウンロード用リンクを記載しています)。
- Kubectl
- 環境固有のコマンド ライン インターフェイス (CLI)
Kubectl は、デプロイメントスクリプトの実行前に必ず必要です。 Kubectl のインストールとセットアップを使用して Kubernetes コマンド ライン ツールをダウンロードします。
注意:
kubectl クライアント バージョンは、Kubernetes サーバー バージョンの 1 つのマイナー リリースに含まれる必要があります。 たとえば、kubectl 1.24 は Kubernetes クラスター バージョン 1.23-1.25 と互換性があります。
デプロイメントを管理する場合は、環境固有のコマンド ライン ツールを使用できます。 次のリンクを使用して、環境固有の CLI をダウンロードしてください。
TLS 証明書
ArcGIS Enterprise on Kubernetes は、NGINX ベースの ingress コントローラーを使用します。 この ingress コントローラーは、スコープされた名前空間であり、ArcGIS Enterprise の名前空間への ingress トラフィックのみを待機するようにデプロイされます。 TLS 証明書は、証明書の共通名と Subject Alternative Names (サブジェクトの代替名) に FQDN が含まれている必要があります。 CA 署名証明書または自己署名証明書を使用できますが、セキュリティ上の理由から、CA 署名証明書をお勧めします。 これは、ingress コントローラーのデフォルトの TLS 証明書です。 デプロイメントスクリプトでは、次の証明書オプションを使用して ingress トラフィックに TLS 証明書を適用できます。
- プライベート キーと証明書を含む既存の TLS シークレット
- プライベート キーと証明書を含む .pfx ファイル
- PEM 形式のプライベート キーと証明書
- 自己署名証明書
ArcGIS Enterprise on Kubernetes では、ingress コントローラーに対し、Kubernetes cert-manager によって発行および管理された TLS 証明書を使用できます。 この証明書は、ArcGIS Enterprise と同じ名前空間の TLS シークレットに格納する必要があります。 TLS シークレットは、デプロイしている間または ArcGIS Enterprise 組織の作成後に参照される可能性があります。
ArcGIS Pro
- ArcGIS Pro 3.1 は ArcGIS Enterprise on Kubernetes 11.1 のコンパニオン リリースです。 利用可能な最新機能を入手するには、ArcGIS Pro 3.1 をご使用ください。
- ArcGIS Enterprise on Kubernetes にサービスを公開するには、ArcGIS Pro 2.8 以降が必要です。
- ArcGIS Enterprise on Kubernetes のサービスを使用するには、ArcGIS Pro 2.7 以降が必要です。
エンタープライズ ジオデータベースからデータ ストア アイテムを登録する場合、ジオデータベースのバージョンは 10.9.0.2.8 以降でなければなりません。
注意:
利用可能な最新機能を入手するには、ジオデータベースのバージョンを 11.1.0.3.1 にアップグレードしてください。ジオデータベースのバージョン番号は ArcGIS Enterprise と ArcGIS Pro のリリース番号の組み合わせになります。 詳細については、「クライアントとジオデータベースの互換性」をご参照ください。
アップデートとアップグレードの要件
アップグレードを実行する前に、次のようないくつかの要件を満たす必要があります。
- 環境をアップグレードする際、Kubernetes をサポートされているバージョンにアップグレードする前に ArcGIS Enterprise on Kubernetes をアップグレードする必要があります。
- 必要なアップデートが利用可能であれば、このリリースにアップグレードする前に適用する必要があります。 最新の必要なアップデートの詳細については、リリース ノートをご参照ください。
- このリリースには、ArcGIS Enterprise on Kubernetes の統合ライセンスが必要です。
- 現在の要件を満たすには、名前空間のリソース クォータ値を更新する必要があります。
- アップグレードを実施する前に、お使いの環境が、ポッド セキュリティ アドミッション標準などのポッド セキュリティ標準を満たしていることを確認してください。
- お使いの環境が Red Hat OpenShift Container Platform 内にある場合は、現在のセキュリティ コンテキストの制約を満たしていることを確認します。
- 静的 PVs をプロビジョニングした場合、アップグレード要件に対応できるよう、追加のストレージをプロビジョニングする必要があります。 詳細については「アップグレードのための静的 PVs の調整」セクションをご参照ください。
- プロビジョニングしたストレージに動的 PVs がある場合、追加のアイテムパッケージ、オブジェクト ボリューム、キュー ボリュームに十分なストレージを提供できることを確認する必要があります。
- プレアップグレード スクリプトを実行します。 このスクリプトは、現在のソフトウェア リリースに対応するよう、さまざまな機能要件を検出し、対処します。
- 組織で Web Adaptor を構成した場合は、インストールとアップグレードの要件をご確認ください。
- 非接続環境の組織の場合、非接続環境でアップグレードまたはアップデートを適用する手順を実行します。
- ArcGIS Enterprise on Kubernetes のデプロイ時に組織のコンテナー レジストリを使用した場合は、アップデートやアップグレードを実行する前に、必要なコンテナー イメージを Esri リポジトリから組織のレジストリへコピーする必要があります。
アップグレードのための静的 PVs の調整
アップグレードの前には、組織のポータル API デプロイメント内の各ポッドは、アイテムパッケージ ボリューム PV を使用して構成されています。 アップグレードの準備中は、追加の PV を使用して、ポータル API デプロイメント内の各ポッドを構成する必要があります。
たとえば、アップグレードの前にポータル API デプロイメントが 3 つの実行中のポッドで構成されている場合、デプロイ時に指定したものと同等の仕様を使用して、追加で 3 つの PV をプロビジョニングおよび構成する必要があります。
アップグレードが完了すると、ポータル API デプロイメントは新たにプロビジョニングされた永続ボリュームと永続ボリューム クレームを使用するようになり、元のセットは削除できます。