dtcloud_lb_balancing_pool (Kaynak)
Tek bir çağrıda bir dinleyici, havuzu, sağlık denetimi ve üyeleri kurar. Yalnızca oluşturmaya yönelik bir kısayol; ayrıntılı kaynakları tercih edin.
Örnek Kullanım
# Tüm zincir tek çağrıda: dinleyici, havuz, sağlık denetimi ve üyeler.
# Her argüman ForceNew'dur — birini değiştirmek dört nesneyi de yeniden
# kurar.
resource "dtcloud_lb_balancing_pool" "web" {
lb_id = dtcloud_lb.public.id
# Ön uç
protocol = "HTTP"
protocol_port = 80
# Arka uç
backend_protocol = "HTTP"
backend_protocol_port = 8080
lb_algorithm = "ROUND_ROBIN"
# Sağlık denetimi. Buradaki `protocol` bir ağ protokolü değil, yoklama
# türüdür.
health_monitor {
protocol = "HTTP"
url_path = "/healthz"
interval = 10
timeout = 5
healthy_threshold = 2
unhealthy_threshold = 3
}
member {
compute_server_id = dtcloud_vm.web.id
address = dtcloud_vm.web.primary_ip
protocol_port = 8080
}
}
Buradaki her argüman kaynağı yeniden kurdurur. Zincirin bütünü için güncelleme uç noktası yoktur; bu yüzden yoklama aralığını değiştirmek dinleyiciyi yeniden oluşturur ve üyeleri de beraberinde götürür. Atomik biçimi özellikle istemiyorsanız dtcloud_lb_listener, dtcloud_lb_pool, dtcloud_lb_member ve dtcloud_lb_health_monitor kullanın; aynı yük dengeleyicide iki tarzı asla karıştırmayın.
Şema
Zorunlu
backend_protocol(String) Üyelere erişmek için kullanılan protokol. Bu değiştirilirse yeni bir kaynak oluşturulur.backend_protocol_port(Number) Üyelere erişmek için kullanılan port. Bu değiştirilirse yeni bir kaynak oluşturulur.healthy_threshold(Number) Bir üyenin sağlıklı sayılması için gereken ardışık başarı sayısı. Bu değiştirilirse yeni bir kaynak oluşturulur.interval(Number) Yoklamalar arasındaki saniye (5-300). Bu değiştirilirse yeni bir kaynak oluşturulur.lb_algorithm(String) Dengeleme algoritması. Bu değiştirilirse yeni bir kaynak oluşturulur.lb_id(String) Yük dengeleyicinin kimliği. Bu değiştirilirse yeni bir kaynak oluşturulur.lb_port(Number) Ön uç portu. Bu değiştirilirse yeni bir kaynak oluşturulur.lb_protocol(String) Ön uç protokolü. Şunlardan biri: HTTP, HTTPS, TCP, UDP, TERMINATED_HTTPS. Bu değiştirilirse yeni bir kaynak oluşturulur.sticky_session(Boolean) İstemcinin ilk ulaştığı üyeye sabitlenip sabitlenmeyeceği. Bu değiştirilirse yeni bir kaynak oluşturulur.timeout(Number) Yoklama yanıtı için beklenecek saniye (5-60). Bu değiştirilirse yeni bir kaynak oluşturulur.type(String) Sağlık yoklamasının türü. Bu değiştirilirse yeni bir kaynak oluşturulur.unhealthy_threshold(Number) Bir üyenin sağlıksız sayılması için gereken ardışık başarısızlık sayısı. Bu değiştirilirse yeni bir kaynak oluşturulur.
İsteğe Bağlı
allowed_cidrs(List of String) Dinleyiciye ulaşmasına izin verilen CIDR'ler. Bu değiştirilirse yeni bir kaynak oluşturulur.certificate(String, Sensitive) TERMINATED_HTTPS için PEM sertifikası. Bu değiştirilirse yeni bir kaynak oluşturulur.connection_limit(Number) Eşzamanlı bağlantı üst sınırı. -1 sınırsız demektir. Bu değiştirilirse yeni bir kaynak oluşturulur.insert_headers(Block List, Max: 1) Dinleyicinin üyelere ilettiği isteklere eklediği başlıklar. Bu değiştirilirse yeni bir kaynak oluşturulur. (bkz. aşağıdaki iç içe şema)member(Block List) Havuzla birlikte oluşturulan arka uç üyeleri. Bu değiştirilirse yeni bir kaynak oluşturulur. (bkz. aşağıdaki iç içe şema)private_key(String, Sensitive) TERMINATED_HTTPS için PEM özel anahtarı. Bu değiştirilirse yeni bir kaynak oluşturulur.timeout_client_data(Number) İstemci hareketsizlik zaman aşımı, SANİYE (dikkat: dtcloud_lb_listener milisaniye alır). Bu değiştirilirse yeni bir kaynak oluşturulur.timeout_member_connect(Number) Üyeye bağlanma zaman aşımı, SANİYE (dikkat: dtcloud_lb_listener milisaniye alır). Bu değiştirilirse yeni bir kaynak oluşturulur.timeout_member_data(Number) Üye hareketsizlik zaman aşımı, SANİYE (dikkat: dtcloud_lb_listener milisaniye alır). Bu değiştirilirse yeni bir kaynak oluşturulur.timeouts(Block, Optional) (bkz. aşağıdaki iç içe şema)url_path(String) HTTP ve HTTPS yoklamalarının istediği yol. Bu değiştirilirse yeni bir kaynak oluşturulur.
Salt Okunur
balancing_pool_id(String) Dengeleme havuzunun yük dengeleyici öneki olmadan kendi kimliği.health_monitor_id(String) Platformun oluşturduğu sağlık denetiminin kimliği.id(String) Bu kaynağın kimliği.listener_id(String) Platformun oluşturduğu dinleyicinin kimliği.members_state(List of String) Her üyenin çalışma durumu.members_total(Number) Havuzdaki üye sayısı.status(String) Platformun bildirdiği durum.
insert_headers için iç içe şema
İsteğe Bağlı:
x_forwarded_for(String) Bu değiştirilirse yeni bir kaynak oluşturulur.x_forwarded_port(String) Bu değiştirilirse yeni bir kaynak oluşturulur.x_forwarded_proto(String) Bu değiştirilirse yeni bir kaynak oluşturulur.x_ssl_client_cn(String) Bu değiştirilirse yeni bir kaynak oluşturulur.x_ssl_client_dn(String) Bu değiştirilirse yeni bir kaynak oluşturulur.x_ssl_client_has_cert(String) Bu değiştirilirse yeni bir kaynak oluşturulur.x_ssl_client_not_after(String) Bu değiştirilirse yeni bir kaynak oluşturulur.x_ssl_client_not_before(String) Bu değiştirilirse yeni bir kaynak oluşturulur.x_ssl_client_sha1(String) Bu değiştirilirse yeni bir kaynak oluşturulur.x_ssl_client_verify(String) Bu değiştirilirse yeni bir kaynak oluşturulur.x_ssl_issuer(String) Bu değiştirilirse yeni bir kaynak oluşturulur.
member için iç içe şema
Zorunlu:
address(String) Üyenin IP adresi. Bu değiştirilirse yeni bir kaynak oluşturulur.compute_server_id(String) Bu adresin arkasındaki sanal makinenin kimliği. Bu değiştirilirse yeni bir kaynak oluşturulur.protocol_port(Number) Üyenin dinlediği port. Bu değiştirilirse yeni bir kaynak oluşturulur.
timeouts için iç içe şema
İsteğe Bağlı:
create(String)delete(String)
Bilinmesi Gerekenler
- Üç dinleyici süresi burada saniyedir,
dtcloud_lb_listenerise milisaniye alır. Bu asimetri API'ye aittir: bu uç nokta çevirir, dinleyici uç noktası çevirmez. - Verilmediğinde platform birkaç değeri doldurur — süreler,
url_pathveconnection_limit— ve seçtiğini bildirir. Computed olmalarının nedeni budur; olmasaydı verilmemiş bir değer bildirimle çelişir ve ForceNew olduğu için her planda yeniden kurma önerirdi. health_monitor.protocolbir ağ protokolü değil, yoklama türüdür.
Zaman Aşımları
create ve delete varsayılan olarak 30'ar dakikadır. Güncelleme yoktur.
İçe Aktarma
# <yük-dengeleyici-kimliği>:<dengeleme-havuzu-kimliği>. Bir tanesini
# yalnızca `member` bloğu tanımlamadığında içe aktarın: üyenin portunu
# hiçbir uç nokta bildirmez, bu yüzden tanımlanmış üyeler boş döner ve
# ilk plan yeniden kurma önerir.
terraform import dtcloud_lb_balancing_pool.web 3d372446-4c75-4327-9511-98442456162f:5b2a9c31-7e04-4d88-9c6e-44a2f1d0e7b3
member blokları içe aktarmada korunmaz: üyenin portunu hiçbir uç nokta bildirmez. Bir dengeleme havuzunu yalnızca üye tanımlamadığında içe aktarın ya da ilk apply'ın onu yeniden kuracağını kabul edin.