Bir sunucuya geçici olarak hiç trafik gitmemesini nasıl sağlarım; Weight değerini 0 yapabilir miyim?
Kısa cevap
Weight 0 yapılamaz; Weight 1–256, Connection Limit 1–65535 aralığındadır ve en düşük değerlerde bile sunucu trafik almaya devam eder. HTTP ve L7 TCP vService'lerde sunucuyu geçici olarak trafikten çıkarmanın önerilen yolu Maintenance Mode'dur: sunucu silinmeden yeni trafik almaz, açık bağlantılar kesilmez. Duruma göre Kurum Servisini vService'in Default Backend Services listesinden çıkarmak (Network vService'te de çalışır), grup satırını kaldırmak, Backup Service yapmak, health check'i sunucu tarafında başarısız kılmak ya da bakım modunu WEB-CLI'dan açmak da kullanılır.
Sorun: Sunucuyu Silmeden Trafikten Çıkarmak
Bir sunucuya yama, güncelleme ya da donanım işi yapılacağında kullanıcıları etkilemeden trafiği ondan uzaklaştırmak gerekir. Akla ilk gelen Weight'i 0 yapmaktır; ancak TR7'de Weight en az 1'dir. Sunucuyu silmek ise ayarlarını ve vService bağlantılarını kaybettirir, iş bitince yeniden kurmak gerekir.
Çözüm: Altı Yöntem
Yöntemler birbirinin alternatifidir; aynı anda yalnızca biri uygulanır.
| Durumunuz | Uygun yöntem |
|---|---|
| Tekil Kurum Servisini ya da bir Backend Group'un tamamını bakıma almak istiyorum | Yöntem 1: Maintenance Mode |
| Sunucuyu yalnızca bir vService'ten çıkarmak istiyorum ya da vService Network tipinde | Yöntem 2: vService listesinden çıkarmak |
| Gruptaki tek bir sunucuyu çıkarmak istiyorum | Yöntem 3: Grup satırını kaldırmak |
| Sunucu yalnızca acil durumda trafik alsın | Yöntem 4: Backup Service yapmak |
| TR7'ye dokunmadan sunucu tarafından çıkarmak istiyorum | Yöntem 5: Health check'i başarısız kılmak |
| Komut satırından ya da betikle, bir ya da birçok Kurum Servisini bakıma almak istiyorum | Yöntem 6: WEB-CLI ile Maintenance Mode |
Yöntem 1: Maintenance Mode Önerilen
- Nasıl çalışır Kurum Servisi, kullanıldığı bütün HTTP ve L7 TCP vService'lerde yeni trafik almaz; açık bağlantılar bitene kadar sürer. Ayarlar ve vService bağlantıları yerinde kalır. Backend Group'ta mod grubun bütün sunucularına birlikte uygulanır.
- Nerede açılırLoad Balancer → Backend Services (ya da Backend Groups) → Edit → Maintenance Mode
- Gereksinim Listede trafiği devralacak başka bir Kurum Servisi ya da yedek olması; yoksa istemciler 503 alır
- vService tipi HTTP ve L7 TCP (Network vService'te Yöntem 2 kullanılır)
Adım adım yapılandırma
Kurum Servisine tıklanınca açılan önizleme panelindeki Used in sekmesinden hangi vService'lerin etkileneceğine bakılır.
Load Balancer → Backend Services ekranında Kurum Servisi seçilip Edit tıklanır (sağ tık → Edit de kullanılabilir). Grubun tamamı için Load Balancer → Backend Groups ekranında grup açılır.
Maintenance Mode anahtarı açılır (varsayılan değeri kapalıdır).
Formun altındaki Edit butonuna tıklanır. Kurum Servisini kullanan vService'ler yeniden yüklenir; devam eden bağlantılar kesilmez, yeni bağlantılar diğer Kurum Servislerine gider. Clustering açıkken ve Manual Sync Mode kapalıyken (varsayılan) ayar eş cihaza otomatik aktarılır. İş bitince anahtar kapatılıp aynı şekilde kaydedilir; health check sonucu OK ise sunucu yeniden trafik alır.
Doğrulama
Listede Kurum Servisinin adının yanında amber ambulans simgesi, vService'in Live Stats ekranında amber Maintenance durumu görünür; anlık oturum sayısı açık bağlantılar bittikçe sıfıra iner.
Maintenance · yeni oturum yokYöntem 2: vService Listesinden Çıkarmak
- Nasıl çalışır Kurum Servisi yalnızca o vService'in listesinden çıkar; başka vService'lerde trafik almaya devam eder. Kurum Servisi tanımı korunur.
- Nerede açılırLoad Balancer → Load Balancer vService List → vService → Edit → Default Backend Services (ve varsa Conditional Backend Services kümeleri)
- Gereksinim Listede başka en az bir Kurum Servisi kalması; yoksa istemciler 503 alır
- vService tipi HTTP, L7 TCP ve Network
Adım adım yapılandırma
Kurum Servisinin önizleme panelindeki Used in sekmesinden hangi vService'lerde kullanıldığına bakılır.
Load Balancer → Load Balancer vService List ekranında vService seçilip Edit tıklanır.
Kurum Servisi Default Backend Services listesinden ve varsa koşullu kümelerin listelerinden kaldırılır.
Save tıklanır. Bakım bitince Kurum Servisi aynı listelere yeniden eklenip vService yine Save ile kaydedilir.
Doğrulama
Kurum Servisinin önizlemesindeki Used in sekmesinde o vService artık görünmez.
vService Used in listesinde yokYöntem 3: Grup Satırını Kaldırmak
- Nasıl çalışır Sunucu Backend Group'un Backends tablosundan çıkarılır; grubun diğer sunucuları trafik almaya devam eder.
- Nerede açılırLoad Balancer → Backend Groups → Edit → Backends
- Gereksinim Grupta başka en az bir satır kalması; tek satır kaldığında silme kontrolü görünmez
- vService tipi HTTP, L7 TCP ve Network
Adım adım yapılandırma
Load Balancer → Backend Groups ekranında grup seçilip Edit tıklanır.
Satırdaki adres, Cookie Content, Connection Limit ve Weight değerleri not edilir; satır kaldırılınca bu bilgiler kaybolur.
Backends tablosunda satırın silme kontrolüyle satır kaldırılır.
Formun altındaki Edit butonuna tıklanır. Bakım bitince satır aynı değerlerle yeniden eklenip grup yine kaydedilir.
Doğrulama
Backend Groups listesinde Show Backend Services anahtarı açılır.
Sunucu grup satırları arasında yokYöntem 4: Backup Service Yapmak
- Nasıl çalışır Kurum Servisi yedeğe dönüşür; listedeki bütün ana Kurum Servisleri kullanılamaz olmadıkça trafik almaz. Ana sunucular düşerse trafik alacağı için kesin bir "hiç trafik yok" çözümü değildir.
- Nerede açılırLoad Balancer → Backend Services → Edit → Backup Service
- Gereksinim Listede sağlıklı başka Kurum Servisleri olması
- vService tipi HTTP ve L7 TCP
Adım adım yapılandırma
Load Balancer → Backend Services ekranında Kurum Servisi seçilip Edit tıklanır.
Backup Service anahtarı açılır (varsayılan değeri kapalıdır).
Formun altındaki Edit butonuna tıklanır. Sunucu normal dağıtıma dönecekse anahtar kapatılıp kaydedilir.
Doğrulama
Listede ad kolonunda amber yedek sunucu simgesi görünür; Live Stats'ta sunucuya yeni oturum gelmez.
Yedek simgesi · yeni oturum yokYöntem 5: Health Check'i Başarısız Kılmak
- Nasıl çalışır Sunucu tarafında health check'in yoklandığı uç (ör.
/health) hata döndürecek şekilde ayarlanır; TR7 sunucuyu Error sayıp trafikten çıkarır. TR7'de değişiklik gerekmez. - Nerede açılır Kurum Servisi (sunucu) tarafında
- Gereksinim Kurum Servisine bir Health Checks profili atanmış olması
- vService tipi HTTP ve L7 TCP; Network vService'te yalnızca Port Range kapalı ve Protocol ANY - L3 değilken
Adım adım yapılandırma
Kurum Servisinin Health Check alanında bir profil seçili olduğu kontrol edilir; No Check ise bu yöntem çalışmaz. Profil seçiliyse 4. adıma geçilir.
Load Balancer → Backend Services ekranında Kurum Servisi seçilip Edit tıklanır; Health Check listesindeki ekleme butonuyla profil oluşturulur ve kendiliğinden seçilir (nasıl eklenir). Profil, sağlık ucunun hata döndürmesini algılayacak türde (ör. HTTP) olmalıdır. Ayrıntı: Period, Timeout, Required Successes ve Required Failures değerlerini nasıl ayarlamalıyım?
Formun altındaki Edit butonuna tıklanır.
Sunucuda denetlenen port ya da sayfa hata döndürecek şekilde kapatılır (ör. uygulamanın bakım bayrağı). Denetim profildeki Required Failures kadar art arda başarısız olunca sunucu trafikten çıkar.
İş bitince sağlık ucu yeniden açılır; denetim Required Successes kadar art arda başarılı olunca sunucu trafiğe döner.
Doğrulama
Backend Services listesinde Health göstergesine bakılır.
Health: ErrorYöntem 6: WEB-CLI ile Maintenance Mode
- Nasıl çalışır Yöntem 1'deki bakım modu komut satırından açılır;
update-manyile aynı anda birçok Kurum Servisine uygulanabilir. - Nerede açılır TR7 WEB-CLI →
lb backend updatevelb backend update-many - Gereksinim WEB-CLI erişimi ve Kurum Servisinin kimliği
- vService tipi HTTP ve L7 TCP
Adım adım yapılandırma
Kurum Servislerinin kimlikleri listelenir:
lb backend list<kimlik> yerine 1. adımda görülen kimlik yazılır:
lb backend update id <kimlik> --maintenanceMode trueToplu güncelleme komutu yazılır; kimlik verilmediği için onay kutulu seçim listesi açılır, kayıtlar işaretlenir ve etkilenecek kayıt sayısını yazan uyarıda onay sözcüğü yazılarak onaylanır:
lb backend update-many target selected --maintenanceMode trueİş bitince aynı komut --maintenanceMode false ile çalıştırılır. Cluster'da değişiklik Yöntem 1'deki kurala göre eş cihaza aktarılır.
Doğrulama
lb backend show <kimlik> çıktısında bakım alanına bakılır; panelde ambulans simgesi görünür.
Bakım alanı trueSık Yapılan Hatalar
- Weight'i 1 yapıp trafiğin kesileceğini sanmak. Weight 1 en düşük paydır, sıfır değildir.
- Connection Limit'i 1 yapmak. Sunucu yine bağlantı alır; limit dolunca istekler kuyrukta bekler.
- Geçici iş için Kurum Servisini silmek. Silme kalıcıdır; Kurum Servisi kullanıldığı bütün vService'lerden çıkar ve ayarlarıyla birlikte yeniden kurulması gerekir.
- Gruptaki tek sunucu için grubun bakım modunu açmak. Grubun bütün sunucuları trafikten çıkar; Yöntem 3 kullanılır.
- Health kolonuna bakıp bakım modunu doğrulamaya çalışmak. Health kolonu bakım durumunu göstermez; ambulans simgesine ve Live Stats'a bakılır.
- Network vService'te Maintenance Mode'a güvenmek. Network vService'in dağıtımına bakım modu uygulanmaz; Yöntem 2 ya da 3 kullanılır.
Dokümantasyonda nasıl yapılır
