メインコンテンツまでスキップ
バージョン: User Guides (BYOC)

既存クラスターで階層型ストレージを有効にする

このガイドは、以前のバージョンの Terraform サンプルを使用して BYOC/BYOC-I クラスターをすでにデプロイしており、階層型ストレージを有効にしたいユーザー向けです。

前提条件

  • Terraform provider zillizcloud バージョン >= 0.6.34

ステップ 1: Provider をアップグレードする

versions.tf または required_providers ブロックのバージョン制約を更新します。Terraform の ~> 制約はプレリリースバージョンには一致しないため、-rc ビルドをテストする場合は明示的にバージョンを固定してください。

zillizcloud = {
source = "zilliztech/zillizcloud"
version = ">= 0.6.34"
}

ステップ 2: data.tf を更新する

locals {} ブロックで、既存の k8s_node_groups の割り当てを置き換えます。

# Remove this line:
k8s_node_groups = data.zillizcloud_byoc_i_project_settings.this.node_quotas

次のマージロジックに置き換えます。

# Tiered node quota from API (separate provider field, null when not enabled)
tiered_node_quota = (
data.zillizcloud_byoc_i_project_settings.this.tiered_node_quota != null
? { tiered = data.zillizcloud_byoc_i_project_settings.this.tiered_node_quota }
: {}
)

k8s_node_groups = {
for name, ng in merge(
# Tiered placeholder (max_size=0 → count=0, not created unless API enables it)
{ tiered = { disk_size = 100, min_size = 0, max_size = 0, desired_size = 0, instance_types = "i4i.2xlarge", capacity_type = "ON_DEMAND" } },
# API returns: core, index, search, fundamental
data.zillizcloud_byoc_i_project_settings.this.node_quotas,
# API tiered quota overwrites placeholder when present
local.tiered_node_quota,
) : name => merge(ng, {
ami_id = lookup(var.k8s_node_group_image_id, name, null)
disk_size = max(ng.disk_size, 100)
})
}

# Placeholder has max_size=0, so this is false unless API returns tiered with max_size>0
enable_tiered = local.k8s_node_groups["tiered"].max_size > 0

ステップ 3: EKS モジュールを更新する

terraform-zilliz-examples の master ブランチから最新の modules/aws_byoc_i/eks/ ディレクトリをコピーし、ローカルコピーを置き換えます。これにより、階層型ノードグループリソース、enable_tiered 変数、更新された検証ルールが追加されます。

ステップ 4: EKS モジュールに enable_tiered を渡す

ルートの main.tf で、module "eks" ブロックに引数を追加します。

module "eks" {
# ... existing arguments ...
enable_tiered = local.enable_tiered
}

ステップ 5: Zilliz Cloud コンソールで階層型ストレージを有効にする

  1. Zilliz Cloud コンソールにログインします。

  2. 右上隅で正しい BYOC 組織を選択します。

Tfgxb8cJRoahQxx8UYicQiPPnLf

  1. Projects に移動し、階層型ストレージを有効にするプロジェクトを見つけます。

  2. プロジェクトカードの右下隅にある "..." ボタンをクリックし、View Project Details をクリックします。

Roidb6iXZo373pxGnCSc0C2MnLh

  1. Resource Settings セクションで Edit をクリックします。

DOsebYbZZo4fDAx8uIPcOSRknhc

  1. ダイアログで Tiered にチェックを入れ、右下隅の Save をクリックします。

保存後、API はこのプロジェクトの tiered_node_quota を返します。

JvbVbbZlKojF2Pxd7SncmK69nvg

ステップ 6: 確認する

terraform init -upgrade
terraform plan

想定される plan 出力:

シナリオ

想定される結果

階層型ストレージが有効でない

新しいリソースなし (enable_tiered = false, count = 0)

階層型ストレージが有効

aws_eks_node_group.tiered[0] が作成される (1 to add)

既存のリソースには、destroy または recreate アクションが表示されないはずです。