如何声明使用不同协议端口的 azurerm_container_group 资源?
How to declare a azurerm_container_group resource that uses ports with different protocols?
我正在尝试设置一个 stasd-exporter,它需要 2 种类型的端口:UDP 和 TCP。
在 statsd-exporter 的自述文件中,示例使用了 2 种不同类型的端口:
docker pull prom/statsd-exporter
docker run -d -p 9102:9102 -p 9125:9125 -p 9125:9125/udp \
-v $PWD/statsd_mapping.yml:/tmp/statsd_mapping.yml \
prom/statsd-exporter --statsd.mapping-config=/tmp/statsd_mapping.yml
我正在学习的教程对 UDP 使用 8125,对 TCP 使用 9102。
发现我可以使用端口列表,但我找不到如何在 ports
块
中使用设置每个端口协议
目前,我在 azurerm_container_group
中的内容是:
resource "azurerm_container_group" "statsd_exporter" {
name = "${azurerm_resource_group.monitoring.name}-common"
location = azurerm_resource_group.monitoring.location
resource_group_name = azurerm_resource_group.monitoring.name
ip_address_type = "public"
os_type = "Linux"
container {
name = "statsd-exporter"
image = "prom/statsd-exporter"
cpu = "0.5"
memory = "1"
environment_variables = ""
commands = [
"/bin/bash", "-c", "--statsd.listen-udp=:8125", "--web.listen-address=:9102"
]
ports {
port = [8125, 9102] # --> 8125 should be UDP and 9102 should be TCP
protocol = ## < < ??? > > ##
}
}
如何将 azurerm_container_group
容器的每个端口关联到不同的协议?
您可以定义如下端口:
resource "azurerm_container_group" "statsd_exporter" {
name = "statsd"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
ip_address_type = "public"
os_type = "Linux"
container {
name = "statsd-exporter"
image = "prom/statsd-exporter"
cpu = "0.5"
memory = "1"
commands = [
"/bin/bash", "-c", "--statsd.listen-udp=:8125", "--web.listen-address=:9102"
]
ports {
port = 9102
protocol = "TCP"
}
ports{
port = 8125
protocol = "UDP"
}
}
}
输出:
正在制定地形规划:
地形应用:
在 Azure 门户中:
参考:
azurerm_container_group | Resources | hashicorp/azurerm | Terraform Registry
我正在尝试设置一个 stasd-exporter,它需要 2 种类型的端口:UDP 和 TCP。
在 statsd-exporter 的自述文件中,示例使用了 2 种不同类型的端口:
docker pull prom/statsd-exporter
docker run -d -p 9102:9102 -p 9125:9125 -p 9125:9125/udp \
-v $PWD/statsd_mapping.yml:/tmp/statsd_mapping.yml \
prom/statsd-exporter --statsd.mapping-config=/tmp/statsd_mapping.yml
我正在学习的教程对 UDP 使用 8125,对 TCP 使用 9102。
发现我可以使用端口列表,但我找不到如何在 ports
块
目前,我在 azurerm_container_group
中的内容是:
resource "azurerm_container_group" "statsd_exporter" {
name = "${azurerm_resource_group.monitoring.name}-common"
location = azurerm_resource_group.monitoring.location
resource_group_name = azurerm_resource_group.monitoring.name
ip_address_type = "public"
os_type = "Linux"
container {
name = "statsd-exporter"
image = "prom/statsd-exporter"
cpu = "0.5"
memory = "1"
environment_variables = ""
commands = [
"/bin/bash", "-c", "--statsd.listen-udp=:8125", "--web.listen-address=:9102"
]
ports {
port = [8125, 9102] # --> 8125 should be UDP and 9102 should be TCP
protocol = ## < < ??? > > ##
}
}
如何将 azurerm_container_group
容器的每个端口关联到不同的协议?
您可以定义如下端口:
resource "azurerm_container_group" "statsd_exporter" {
name = "statsd"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
ip_address_type = "public"
os_type = "Linux"
container {
name = "statsd-exporter"
image = "prom/statsd-exporter"
cpu = "0.5"
memory = "1"
commands = [
"/bin/bash", "-c", "--statsd.listen-udp=:8125", "--web.listen-address=:9102"
]
ports {
port = 9102
protocol = "TCP"
}
ports{
port = 8125
protocol = "UDP"
}
}
}
输出:
正在制定地形规划:
地形应用:
在 Azure 门户中:
参考:
azurerm_container_group | Resources | hashicorp/azurerm | Terraform Registry