Дополнительные темы в формате Pub Lite с опцией максимальной пропускной способности

#google-cloud-platform #terraform #google-cloud-pubsub #terraform-provider-gcp #google-cloud-pubsublite

#google-облачная платформа #терраформирование #google-cloud-pubsub #terraform-provider-gcp #google-cloud-pubsublite

Вопрос:

Мы используем экземпляры Pub Sub lite вместе с резервированием, мы хотим развернуть его через Terraform, в пользовательском интерфейсе при создании Pub Sub Lite мы получаем возможность указать максимальную пропускную способность публикации (MiB / s) и максимальную пропускную способность подписки (MiB / s), которая недоступна на ресурсе «google_pubsub_lite_topic»согласно этому документу https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/pubsub_lite_topic .

pubsublite

 resource "google_pubsub_lite_reservation" "pubsub_lite_reservation" {
  name = var.lite_reservation_name
  project = var.project
  region  = var.region
  throughput_capacity = var.throughput_capacity
}

resource "google_pubsub_lite_topic" "pubsub_lite_topic" {
  name    = var.topic_name
  project = var.project
  region  = var.region
  zone    = var.zone
  partition_config {
    count = var.partitions_count
    capacity {
      publish_mib_per_sec   = var.publish_mib_per_sec
      subscribe_mib_per_sec = var.subscribe_mib_per_sec
    }
  }

  retention_config {
    per_partition_bytes = var.per_partition_bytes
    period              = var.period
  }

  reservation_config {
    throughput_reservation = google_pubsub_lite_reservation.pubsub_lite_reservation.name
  }

}
 

В настоящее время используется приведенный выше скрипт TF для создания экземпляра pub sub lite, проблема здесь в том, что мы указываем пропускную способность вместо установки максимальной пропускной способности, а блок емкости является обязательным полем. Пожалуйста, помогите, если есть какое-либо обходное решение для этого? мы хотим, чтобы тема устанавливала пропускную способность динамически, но с максимальным ограничением пропускной способности, поскольку мы устанавливаем фиксированное значение для резервирования lite.

Ответ №1:

Если вы посмотрите на скриншот в нижней части своей облачной консоли Google, вы увидите, что там предлагается иметь 4 раздела с пропускной способностью публикации и подписки 4 мБиТ / с.

Поэтому ваш Терраформ partition_config должен соответствовать этому. Количество должно быть 4 для 4 разделов с пропускной способностью 4 мБиТ / с для публикации и 4 мБиТ / с для подписки на каждый раздел.

«Пиковая пропускная способность» в веб-интерфейсе предназначена только для удобства, чтобы помочь вам выбрать здесь некоторые цифры. Фактический базовый API PubSub Lite на самом деле не имеет этого поля, поэтому также нет настройки Terraform. Вы заметите, что образцы документов требуют настройки для каждого раздела, как и Terraform.

например. https://cloud.google.com/pubsub/lite/docs/samples/pubsublite-create-topic

Я думаю, что единственной альтернативой было бы создать reservation прикрепленный к вашей теме файл с достаточным количеством единиц пропускной способности для желаемой емкости. А затем полностью опустите capacity блок в Terraform и позвольте резервированию принять решение.