Kurum Servisi nasıl eklenir; hangi bilgiler zorunludur?
Kısa cevap
Kurum Servisi, Load Balancer → Backend Services → Add formundan ya da WEB-CLI'daki lb backend add komutuyla eklenir. Formda zorunlu alanlar Backend Service Name ve Address'tir (IP adresi ya da alan adı ile port); Route Table varsayılan olarak DEFAULT, Health Check varsayılan olarak No Check gelir. Eklenen Kurum Servisi tek başına trafik almaz; bir vService'in Default Backend Services listesine (ya da bir Backend Group'a) bağlanması gerekir.
Sorun: Sunucuyu TR7'ye Tanıtmak
TR7'nin trafiği bir sunucuya dağıtabilmesi için o sunucuyu tanıması gerekir: adresi, hangi porttan hizmet verdiği, hangi route table üzerinden erişildiği, sağlığının nasıl denetleneceği ve bağlantının nasıl kurulacağı. Bu tanım Kurum Servisidir. Tanım yapılıp bir vService'e bağlanmadıkça sunucuya trafik gitmez.
Çözüm: İki Yöntem
İki yöntem aynı kaydı oluşturur; biri panelden, diğeri komut satırından çalışır.
| Durumunuz | Uygun yöntem |
|---|---|
| Panelden, form üzerinden eklemek istiyorum | Yöntem 1: Backend Services formu |
| Komut satırından ya da betikle eklemek istiyorum | Yöntem 2: WEB-CLI |
Yöntem 1: Backend Services Formu Önerilen
- Nasıl çalışır Form Kurum Servisi kaydını oluşturur; health check, SSL, SNAT gibi ayarlar aynı formda isteğe bağlı olarak verilir. Kayıt ardından vService'in listesine eklenir.
- Nerede açılırLoad Balancer → Backend Services → Add
- Gereksinim Sunucunun adresi ve portu; sunucu varsayılan dışındaki bir ağdaysa o ağ için route table ve arayüz IP'si
- vService tipi HTTP, L7 TCP ve Network
Adım adım yapılandırma
Sol alttaki TR7 logosuyla Configuration Menu açılır; Load Balancer → Backend Services → Add tıklanır (nasıl eklenir).
Backend Service Name girilir. Ad zorunlu ve benzersizdir; boş bırakılırsa "Required field", başka bir kayıtta kullanılıyorsa "Name is used" uyarısı çıkar.
Address alanına sunucunun IP adresi (IPv4 ya da IPv6) ya da alan adı ve port girilir (ör. 192.0.2.21 · 8080). Ekleme formunda adres alanı çok satırlıdır: her satır için ayrı bir Kurum Servisi oluşturulur, ad ve adres dışındaki bütün ayarlar ortak kopyalanır ve ikinci satırdan itibaren adlara (2), (3) eki verilir. Aynı IP:port iki satıra girilirse "Elements must be unique" uyarısı çıkar.
Route Table varsayılan olarak DEFAULT'tur. Sunucu, DEFAULT tablosundaki arayüzlerden erişilemeyen ayrı bir ağdaysa o ağın route table'ı seçilir. Bu tablo henüz yoksa önce Network → Route Tables ekranında route table oluşturulur, ardından Network → Interfaces ekranında o ağdaki arayüze IP verilir; hangi durumda ayrı tablo gerektiği için: Backend'lerim farklı ağlarda / farklı route table'larda olabilir mi?
Health Check alanında bir profil seçilir. Varsayılan değer No Check'tir; bu durumda TR7 sunucunun düştüğünü anlayamaz ve ona trafik göndermeye devam eder. Profil seçildiğinde altında Enable HC Logs görünür; varsayılan değeri açıktır.
Uygun profil yoksa açılır listedeki ekleme butonuyla, formdan ayrılmadan profil formu açılır (aynı form Load Balancer → Profiles → Health Checks → Add ile de açılır). Name zorunlu ve benzersizdir; Check Type'ın varsayılan değeri HTTP'dir ve kayıttan sonra değiştirilemez. Period ve Timeout 1 sn, Required Successes 3, Required Failures 2 değeriyle gelir. Profil kaydedilince Health Check alanında kendiliğinden seçilir. Değerlerin seçimi için: Period, Timeout, Required Successes ve Required Failures değerlerini nasıl ayarlamalıyım?
Gerekirse Backup Service, Maintenance Mode ve SSL Service açılır; Details anahtarı açılınca Use Frontend Port, SNAT, health check adresi, Cookie Content, Connection Limit, Weight ve Proxy ayarları görünür. Bunların hepsi isteğe bağlıdır; boş bırakılan alanlar varsayılan davranışla çalışır.
Formun altındaki Add butonuna tıklanır. Kayıt Backend Services listesinde görünür.
Load Balancer → Load Balancer vService List ekranında ilgili vService seçilir ve Edit tıklanır. Henüz vService yoksa önce oluşturulur (İlk vService'imi kurmak için en temel adımlar nelerdir?).
Default Backend Services alanında "Add backend services" listesi açılır ve 8. adımda kaydedilen Kurum Servisi işaretlenir. Network vService'te listede yalnızca vService ile aynı route table'daki Kurum Servisleri görünür. Aynı kayıt listeye iki kez eklenirse "Duplicated backend services" uyarısı çıkar.
Save tıklanır. Clustering açıkken ve Manual Sync Mode kapalıyken (varsayılan) Kurum Servisi ve vService değişikliği eş cihaza otomatik aktarılır; Manual Sync Mode açıksa Synchronize ile elle gönderilir.
Doğrulama
Backend Services listesinde yeni satır görünür; Address kolonunda IP : port, Health kolonunda sağlık göstergesi yer alır.
Health: OK (profil atanmadıysa Off)Listede Kurum Servisine tıklanınca açılan önizleme panelinde Used in sekmesine bakılır. Sekme yalnızca kayıt en az bir yerde kullanılıyorsa görünür.
Bağlandığı vService listelenirYöntem 2: WEB-CLI
- Nasıl çalışır
lb backend addkomutu Kurum Servisi kaydını oluşturur; isteğe bağlı ayarlar--önekli alanlarla eklenir. Kayıtlb service updateile vService'in listesine bağlanır. - Nerede açılır TR7 WEB-CLI →
lb backend - Gereksinim WEB-CLI erişimi; sunucunun adresi ve portu
- vService tipi HTTP, L7 TCP ve Network
Adım adım yapılandırma
Kurum Servisine bağlanacak profil yoksa önce oluşturulur. Zorunlu alanlar checkType ve name'dir ve öneksiz, bu sırayla yazılır:
lb hc add checkType http name web-hcMevcut profiller lb hc list ile görülür.
Beş zorunlu alan öneksiz ve şu sırayla yazılır: name, v-device, namespace, addr.ip, addr.port. v-device için Host, namespace için 1 (DEFAULT route table) varsayılan değerlerdir; komut bunları yine de ister ve Tab ile listeden seçilebilir. İsteğe bağlı alanlar ancak zorunlu alanlardan sonra -- önekiyle eklenir; --hc alanına profilin adı yazılır:
lb backend add name web-1 v-device Host namespace 1 addr.ip 192.0.2.21 addr.port 8080 --hc web-hcAğırlık gibi başka ayarlar da aynı satıra eklenebilir (ör. --weight 30; 1–256).
Bağlama komutu listeye indeksle yazar ve verilen indeksteki mevcut kaydın yerine geçer. Bu yüzden önce vService'in defaultBackendList alanı görüntülenir; <vService> yerine vService kimliği yazılır (Tab listeler, lb service list çıktısında da görünür):
lb service show <vService>Listede kayıt yoksa .0, örneğin iki kayıt varsa (.0 ve .1) ilk boş indeks olan .2 kullanılır; değer olarak Kurum Servisinin adı yazılır (vService'e bağlama):
lb service update id <vService> --defaultBackendList.2 web-1Dolu bir indeks yazılırsa o indeksteki Kurum Servisi listeden çıkar ve yerine web-1 gelir. Cluster'da değişiklik, Yöntem 1'deki kurala göre eş cihaza aktarılır.
Doğrulama
lb backend list çıktısında yeni kayıt görünür; panelde Backend Services listesinde de yer alır.
web-1 listedelb service show <vService> çıktısında defaultBackendList alanına bakılır.
Önceki kayıtlar yerinde, web-1 listedeSık Yapılan Hatalar
- Kurum Servisini vService'e bağlamamak. Kayıt oluşur ama trafik almaz; önizlemede Used in sekmesi görünmez.
- Health Check'i No Check bırakmak. TR7 sunucunun düştüğünü anlamaz ve ona trafik göndermeye devam eder.
- WEB-CLI'da dolu bir indekse yazmak.
--defaultBackendList.0gibi dolu bir indeks, oradaki Kurum Servisini listeden çıkarır; ekleme için öncelb service showile ilk boş indeks bulunur. - TR7'nin kendi adreslerini girmek.
127.0.0.0/8,::1,localhost,169.254.0.0/16,0.0.0.0/8,198.51.100.0/24ve241.0.0.x/241.0.1.xTR7'nin iç kullanımındadır; bu adreslere işaret eden Kurum Servisi yapılandırmada devre dışı bırakılır ve trafik almaz. - Network vService'te farklı route table seçmek. Network vService'in listesinde yalnızca kendi route table'ındaki Kurum Servisleri görünür; kayıt listede yoksa Route Table alanı kontrol edilir.
- Sunucu düz HTTP konuşurken SSL Service'i açmak. Bağlantı kurulamaz; SSL Service yalnızca sunucu TLS bekliyorsa açılır.
Dokümantasyonda nasıl yapılır
