32 lines
913 B
HCL
32 lines
913 B
HCL
# Это пул IP-адресов, из которого MetalLB будет брать “external IP” и назначать их сервисам типа LoadBalancer
|
|
resource "kubernetes_manifest" "metallb_ip_pool" {
|
|
manifest = {
|
|
apiVersion = "metallb.io/v1beta1"
|
|
kind = "IPAddressPool"
|
|
metadata = {
|
|
name = var.pool_name
|
|
namespace = var.namespace
|
|
}
|
|
spec = {
|
|
addresses = var.addresses
|
|
}
|
|
}
|
|
}
|
|
|
|
# Это говорит MetalLB: рекламируй (announce) адреса из этого пула в L2 режиме.
|
|
resource "kubernetes_manifest" "metallb_l2" {
|
|
manifest = {
|
|
apiVersion = "metallb.io/v1beta1"
|
|
kind = "L2Advertisement"
|
|
metadata = {
|
|
name = var.l2_name
|
|
namespace = var.namespace
|
|
}
|
|
spec = {
|
|
ipAddressPools = [var.pool_name]
|
|
}
|
|
}
|
|
|
|
depends_on = [kubernetes_manifest.metallb_ip_pool]
|
|
}
|