Bir yükseltme gelir ve tünelin karşı tarafındaki sistemler önceki hafta çalışan pod trafiğini reddetmeye başlar. Tünel ayakta, güvenlik duvarı kuralları ellenmemiş ve kimse eş politikasını düzenlememiş. Değişen şey küme günlüklerinde görünmez: o sistemlerin artık gördüğü kaynak adres. Bu boşluk, ağ kesintisi gibi görünen ve izin sorunu gibi davranan arızayı açıklar.

İki geçerli yanıt var ve bunlar sizi farklı yerlere götürür. Bir ConfigMap'i düzenlemeden önce kaynak sözleşmesini seçin.

Artık kurulmayan varsayılan kural

Önceki GKE sürümleri, hedef 10.0.0.0/8 dışında kaldığında pod kaynaklarını düğüm adresiyle değiştiren bir masquerade kuralı kuruyordu. Bu aralığın içindeki VPN geçidi pod adresini görüyordu, daha uzaktakiler ise düğümden geliyormuş gibi görünüyordu. Eşler, gözledikleri bu olduğu için düğüm adreslerinin çevresinde izin listeleri ve dönüş yolları kurdu.

Sonraki sürümler bu varsayılan kuralı kurmayı bıraktı. Pod trafiği artık hedef ne olursa olsun geçide pod adresleriyle ulaşıyor. Yalnızca düğüm adreslerini yönlendiren bir eş yanıtları düşürür ve iki taraf da işe yarar bir günlük kaydı yazmaz. İstek uzak uçta başarılı bile olabilir, ve bu arızayı izlemeyi zorlaştıran şey tam olarak budur.

Ölü bir bileşen anlamında hiçbir şey bozuk değil. İki taraf yalnızca hangi kaynağın meşru olduğunda anlaşamıyor.

Eşin görmesi gereken kaynağı seçin

Pod adreslerini korumak daha doğru sözleşmedir. Uzak taraf trafiği üreten iş yükünü görür, günlükler dürüst kalır ve pod başına ilke mümkün olur. Bedeli, eşin pod önekini taşımak zorunda olmasıdır.

Düğüm adreslerini korumak daha ucuz sözleşmedir. O hedef için masquerade'i yeniden açın ve eş zaten güvendiği bir adresi görmeye devam eder.

İkisi arasında tek bir soru karar verir: eş kaynakla ne yapıyor? Günlüğe yazıyorsa, kaynak başına ilke uyguluyorsa veya dar bir dönüş yönlendirmesi zorluyorsa, pod adresleri ek yapılandırmayı haklı çıkarır. Yalnızca yanıt göndermesi gerekiyorsa masquerade daha ucuza gelir ve karşı taraftan hiçbir şey istemez. İki ekip de yazıya döktüğü sürece her seçim savunulabilir.

Üçüncü seçenek genellikle hatadır: her şeyi masquerade etmek ve trafiği ilişkilendirme yeteneğini kaybetmek. Bir eş gerçekten düğüm adreslerinden başka hiçbir şeyi yönlendiremiyorsa bundan kaçının.

nonMasqueradeCIDRs'i gerçek aralıklara yöneltin

GKE, ip-masq-agent'ı kube-system içinde çalıştırır ve ConfigMap'i masquerade'i atlayan hedefleri listeler. Pod kaynaklarını tünele doğru korumak için pod aralığı, düğüm alt ağı ve yerel önek hepsi bu listede yer alır.

Örnek değerleri kendi kümenizden aralıklarla değiştirin. Listeyi gereğinden geniş yapmayın, çünkü her ek girdi başka bir hedefin ne gördüğünü değiştirir. Aşağıdaki üç girdi pod ağını, düğüm alt ağını ve tünelin arkasındaki öneki temsil eder:

nonMasqueradeCIDRs:
  - 10.12.0.0/14
  - 10.100.0.0/16
  - 172.16.0.0/12
masqLinkLocal: false
resyncInterval: 60s

0.0.0.0/0 girdisi tüm hedefler için masquerade'i devre dışı bırakır; bu, ilgisiz iş yüklerinin dış hizmetlere nasıl göründüğünü değiştirir ve nadiren amaçlanır. Aracı, yapılandırmasını resyncInterval'da yeniden okur, bu yüzden yeniden başlatma genellikle gerekmez. Aracı pod'unun çalıştığını kontrol edin, sonra içindeki bağlı dosyayı açın. Değişikliğin ulaştığını kanıtlayan şey o dosyayı okumaktır.

Dönüş yolu diğer yarıdır

Masquerade isteğin kaynağını değiştirir ve başka hiçbir şeyi. Eş hangi kaynağı alırsa alsın ona geri dönmek için bir yola hâlâ ihtiyaç duyar ve kümenin de eşe doğru bir yola hâlâ ihtiyacı vardır.

VPN geçidindeki bir yakalama iki arızayı hızla ayırır. Pod adresleriyle gelip hiç yanıt almayan paketler eşin pod öneki için yolu olmadığı anlamına gelir. Geçitte görünüp kümeye hiç ulaşmayan bir yanıt yerel yolun eksik olduğu anlamına gelir. Her hâlükârda sözleşmeyi bilete yazın: eşin hangi kaynağı gördüğü ve yanıtı hangi öneke yönlendirdiği.

Her yükseltmeden sonra yeniden kontrol edin

Masquerade'in varsayılan davranışı zaten bir kez değişti ve bir düğüm havuzunun değiştirilmesi küme ağını sıfırlayabilir. Kaynak sözleşmesini varsayılacak değil, doğrulanacak bir şey olarak ele alın.

Bir yükseltmeden sonra bir pod'dan yerel bir hizmete tek bir istek gönderin ve eşin günlüğe yazdığı kaynağı okuyun. Bu tek gözlem, bir tünel durum sayfasının memnuniyetle sağlıklı diye bildireceği bir gerilemeyi yakalar. Tekrarlamak bir dakika alır ve sıradaki kişiye bir akşam kazandırır.

İlgili makaleler