メインコンテンツまでスキップ

クラスターの種類の比較

OpenLM Platform は、どの種類のクラスターでも同じ方法でインストールします。チャート、イメージ、手順はすべて同じです。異なるのはそれを取り巻くクラスターの部分で、トラフィックの受け入れ方、使用するストレージクラス、ノードの設定方法、利用できるマネージドデータサービスが変わります。

一覧で比較​

次の表で、4 種類のクラスターを比較します。

Amazon EKSAKSRed Hat OpenShiftK3s
IngressNLB の背後の Traefik または ingress-nginxAzure LB の背後の ingress-nginx または TraefikOpenShift のルート(ルーター)組み込みの Traefik
INGRESS_CLASStraefik / nginxnginx / traefik(使用しない)traefik
STORAGE_CLASSgp3(EBS CSI)managed-csi(Azure Disk)クラスターのブロックストレージクラス。例: gp3-csi、managed-csi、thin-csilocal-path
TLS の終端Ingress コントローラーIngress コントローラールーター(エッジ)Traefik
Pod のユーザー IDチャートが設定チャートが設定OpenShift が割り当て(useOpenShift: true)チャートが設定
ノード配置任意(ノードグループのラベル)任意(ノードプールのラベル)通常は無効(ノードにラベルを付けられないため)通常は無効(ノードが 1 台または少数のため)
SQL ServerRDS for SQL Server、または独自のものAzure SQL Database / Elastic Pool、または独自のもの到達可能な任意の SQL Server独自のもの
RedisElastiCache(Redis/Valkey)Azure Managed Redis / Azure Cache任意独自のもの
KafkaAmazon MSK または独自のもの独自のものまたは Confluent Cloud独自のもの(オペレーター。例: Strimzi)独自のもの
MongoDBMongoDB Atlas または独自のもの(DocumentDB は不可)MongoDB Atlas または独自のもの(Cosmos DB は不可)Atlas または独自のもの独自のもの
追加の手順NLB、ノードのファイル監視の上限NAT IP のファイアウォールルールOpenShift 用の values ファイル、追加のルート、証明書リダイレクト、DNS の書き換え

各プラットフォームのページは、同じトピックを同じ順序で扱います。始める前に、Ingress、ストレージ、ノード設定、values、データサービス、プラットフォーム固有の確認です。お使いのクラスターの種類のページを開いてください。

すべてのノードに適用するノード設定​

OpenLM Platform は約 100 個の .NET サービスを起動します。そのため、これらを実行するすべてのノードで、Linux のファイル監視の上限を 2 つ設定します。

設定最小値理由
fs.inotify.max_user_instances8192各サービスは自身の構成ファイルを監視します。一般的な既定値の 128 では足りなくなり、Pod が too many open files で失敗します。
fs.inotify.max_user_watches524288同じ理由

ノードを管理している場合は、/etc/sysctl.d/ で上限を設定します。管理していない場合は、小さな DaemonSet ですべてのノードに設定します。この DaemonSet は特権モードで実行されるため、クラスターのポリシーで禁止されている場合があります。

apiVersion: apps/v1
kind: DaemonSet
metadata: { name: openlm-node-sysctl, namespace: kube-system }
spec:
selector: { matchLabels: { app: openlm-node-sysctl } }
template:
metadata: { labels: { app: openlm-node-sysctl } }
spec:
initContainers:
- name: sysctl
image: public.ecr.aws/docker/library/busybox:stable
securityContext: { privileged: true }
command: ["sh", "-c", "sysctl -w fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=524288"]
containers:
- name: wait
image: public.ecr.aws/docker/library/busybox:stable
command: ["sleep", "2147483647"]
resources: { requests: { cpu: 1m, memory: 8Mi }, limits: { memory: 16Mi } }
tolerations: [{ operator: Exists }]

値を確認するには、ノード上またはデバッグ用の Pod から次のコマンドを実行します。

kubectl debug node/<node> -it --image=public.ecr.aws/docker/library/busybox:stable -- cat /proc/sys/fs/inotify/max_user_instances

ドキュメントチームは、大規模言語モデルを使ってこのページを下書きすることがあります。公開前に、テクニカルライターがすべてのページをレビューし、製品と照らし合わせて検証します。最終的な判断は人間が行います。