我已经按照terraform azure文档创建了成功创建的服务结构集群。但是我还需要在群集中创建一个未创建的节点。
我需要添加什么来在terraform脚本中创建节点?
# Create a resource group if it doesn’t exist
resource "azurerm_resource_group" "rg-terraform-group" {
name = "rg-terraform-group"
location = "eastus"
tags = {
environment = "Terraform Node Demo"
}
}
#Create a service fabric cluster
resource "azurerm_service_fabric_cluster" "rg-terraform-sf" {
name = "myServicefabric"
resource_group_name = "${azurerm_resource_group.rg-terraform-group.name}"
location = "${azurerm_resource_group.rg-terraform-group.location}"
reliability_level = "Bronze"
upgrade_mode = "Manual"
cluster_code_version = "6.5.466.1"
vm_image = "Linux"
management_endpoint = "https://test.eastus.cloudapp.azure.com:19080"
node_type {
name = "first"
instance_count = 3
is_primary = true
client_endpoint_port = 19000
http_endpoint_port = 19080
}
}
答案 0 :(得分:0)
如以下Github问题所述:
https://github.com/terraform-providers/terraform-provider-azurerm/issues/1948#issuecomment-433851818
如上所述,azurerm_service_fabric_cluster资源仅在Azure内创建Service Fabric群集(因为这是Service Fabric API的设计方式)。尽管Terraform支持Service Fabric所需的所有单个组件(例如,用于构建计算节点/负载均衡器的VM规模集/扩展)-不幸的是,我们没有样本来分解Service Fabric群集的所有依赖关系这次-但正如@ steve-hawkins所提到的,应该可以从文档/ ARM模板中移植。
同样,如@ steve-hawkins所述,如果您正在寻找Azure为您管理所有这些资源(而不是管理Service Fabric节点),则较新的Service Fabric Mesh可能更适合您的用例。您自己)-但我们目前在Terraform中不支持此功能。如果您正在寻找Terraform来支持此功能,请为此打开一个功能请求-但由于此问题似乎已解决,因此我暂时将其解决。
https://github.com/terraform-providers/terraform-provider-azurerm/issues/2360#issuecomment-446695918
@iharrington,这也可以通过Terraform使用安装了Service Fabric虚拟机扩展(在这里是关键组件)的虚拟机规模集来实现,因此ARM模板应可移植到Terraform中:)
您可以使用以下Terraform资源使用ARM模板来部署Service Fabric群集:
https://www.terraform.io/docs/providers/azurerm/r/template_deployment.html