Resource nubes_kafka · v2.1.0 · Service ID: 116 · Service Name: ApacheKafka¶
Manual · Create params · Modify params · Output params · Operations · Example
Минимальный пример (только обязательные параметры)¶
terraform {
required_providers {
nubes = {
source = "tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes"
version = "2.1.0"
}
}
}
provider "nubes" {
api_token = "***"
api_endpoint = "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc"
}
resource "nubes_kafka" "baza" {
resource_name = "my-kafka"
startup_configuration = {
resource_realm = "TODO" # Кластер Kubernetes, на котором будет развернут экземпляр
}
cluster_configuration = {
cpu = 2000 # Указывается в Milicores `1000` Mili == `1` Ядро
memory = 2048
replicas = "TODO"
disk = 1
}
access_configuration = {
allocation_external = false
master_access_list = jsonencode([]) # Необходимо настраивать, когда зарезервирован внешний адрес Если передан пустой массив, доступ выделяется всем
}
}
Полный пример (все параметры, включая значения по умолчанию)
terraform {
required_providers {
nubes = {
source = "tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes"
version = "2.1.0"
}
}
}
# Токен доступа api_token к Nubes API — замените на реальный.
provider "nubes" {
api_token = "token_***"
api_endpoint = "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc"
}
resource "nubes_kafka" "baza" {
resource_name = "TODO"
startup_configuration = {
resource_realm = "TODO" # Кластер Kubernetes, на котором будет развернут экземпляр
}
cluster_configuration = {
cpu = 2000 # Указывается в Milicores `1000` Mili == `1` Ядро
memory = 2048
replicas = "TODO"
disk = 1
}
access_configuration = {
allocation_external = false
master_access_list = jsonencode([]) # Необходимо настраивать, когда зарезервирован внешний адрес Если передан пустой массив, доступ выделяется всем
}
}
Использование выходных данных¶
# Выходные параметры можно использовать как
nubes_kafka.baza.state_params["имя_ключа"]
nubes_kafka.baza.state_out["имя_ключа"]
nubes_kafka.baza.state_params_flat["имя_ключа"]
nubes_kafka.baza.state_out_flat["имя_ключа"]
nubes_kafka.baza.vault_secrets["имя_ключа"]
nubes_kafka.baza.vault_url
nubes_kafka.baza.vault_user_path
nubes_kafka.baza.vault_fields
Реальные ключи из облака¶
# externalConnect = nubes_kafka.baza.state_out_flat["externalConnect"]
# externalConnect.bootstrap = nubes_kafka.baza.state_out_flat["externalConnect.bootstrap"]
# externalConnect.bootstrap.fqdn = nubes_kafka.baza.state_out_flat["externalConnect.bootstrap.fqdn"]
# externalConnect.bootstrap.ip = nubes_kafka.baza.state_out_flat["externalConnect.bootstrap.ip"]
# externalConnect.bootstrap.isExternal = nubes_kafka.baza.state_out_flat["externalConnect.bootstrap.isExternal"]
# externalConnect.bootstrap.uuid = nubes_kafka.baza.state_out_flat["externalConnect.bootstrap.uuid"]
# internalConnect = nubes_kafka.baza.state_out_flat["internalConnect"]
# kafkaTopics = nubes_kafka.baza.state_out_flat["kafkaTopics"]
# kafkaTopics.test-events = nubes_kafka.baza.state_out_flat["kafkaTopics.test-events"]
# kafkaTopics.test-events.partitions = nubes_kafka.baza.state_out_flat["kafkaTopics.test-events.partitions"]
# kafkaTopics.test-events.replicas = nubes_kafka.baza.state_out_flat["kafkaTopics.test-events.replicas"]
# kafkaUsers = nubes_kafka.baza.state_out_flat["kafkaUsers"]
# kafkaUsers.usertest = nubes_kafka.baza.state_out_flat["kafkaUsers.usertest"]
# kafkaUsers.usertest.accessHosts = nubes_kafka.baza.state_out_flat["kafkaUsers.usertest.accessHosts"]
# kafkaUsers.usertest.group = nubes_kafka.baza.state_out_flat["kafkaUsers.usertest.group"]
# kafkaUsers.usertest.nameTopic = nubes_kafka.baza.state_out_flat["kafkaUsers.usertest.nameTopic"]
# kafkaUsers.usertest.operations = nubes_kafka.baza.state_out_flat["kafkaUsers.usertest.operations"]
# monitoring = nubes_kafka.baza.state_out_flat["monitoring"]
# monitoring.allDashboards = nubes_kafka.baza.state_out_flat["monitoring.allDashboards"]
# monitoring.base = nubes_kafka.baza.state_out_flat["monitoring.base"]
# monitoring.base.url = nubes_kafka.baza.state_out_flat["monitoring.base.url"]
# monitoring.loki = nubes_kafka.baza.state_out_flat["monitoring.loki"]
# monitoring.loki.url = nubes_kafka.baza.state_out_flat["monitoring.loki.url"]
# users = nubes_kafka.baza.vault_secrets["users"]