Jak nakonfigurovat externí adresy IP Deny Service v Kubernetes

Jak Nakonfigurovat Externi Adresy Ip Deny Service V Kubernetes



Při nastavování clusteru Kubernetes můžete narazit na problém, když víte, jak používat pouze NodePort ke zpřístupnění služby Kubernetes přes internet. Při použití typu služby NodePort bude přiděleno vysoké číslo portu a musíte povolit připojení k těmto portům ve vašem pravidle brány firewall. Je to škodlivé pro vaši infrastrukturu, zejména pokud je server přístupný přes otevřený internet. Blok IP adres mimo cluster můžete přiřadit jako správce clusteru, který tam může přenášet provoz na služby. To je přesně to, o čem budeme hovořit v tomto článku: najít všechny důležité informace o tom, jak nakonfigurovat externí IP adresy odepření služby v Kubernetes.

Co je externí IP služba?

Jeden z koncových bodů služby bude přijímat provoz, který vstupuje do clusteru pomocí externí IP (jako cílové IP) a portu služby. Kubernetes nezodpovídá za správu externí IP adresy.







V této situaci je zásadní zajistit, která IP adresa se používá pro přístup ke clusteru Kubernetes. Pomocí externího typu služby IP můžeme službu svázat s IP adresou, která se používá pro přístup ke clusteru.



Pro pochopení této situace je důležitá skutečnost, že síť Kubernetes interaguje se sítí Overlay. To znamená, že můžete přistupovat prakticky ke každému uzlu v clusteru, jakmile dosáhnete kteréhokoli z uzlů (hlavního nebo pracovního uzlu).



Síť je zobrazena takto:






Oba uzly 1 a 2 v diagramu sdílejí jednu IP adresu. Skutečný modul žije v uzlu 1, ale IP adresa 1.2.3.6 je svázána se službou Nginx na uzlu 1. IP adresa uzlu 1, 1.2.3.4, je svázána se službou httpd a skutečný modul uzlu 2 je umístěn tam.

To je možné díky podpoře sítě Overlay. Když zvlníme IP adresu 1.2.3.4, služba httpd by měla reagovat; když stočíme 1.2.3.5, služba Nginx by měla reagovat.



Výhody a nevýhody externího IP

Zde jsou výhody a nevýhody externí IP:

Je výhodné použít externí IP, protože:

    • Vaše IP je zcela pod vaší kontrolou. Namísto použití ASN poskytovatele cloudu můžete použít IP, která patří k vašemu vlastnímu ASN.

Nevýhody externí IP zahrnují následující:

    • Přímé nastavení, kterým nyní projdeme, NENÍ příliš snadno dostupné. To znamená, že pokud uzel selže, služba již nebude přístupná a budete muset problém vyřešit ručně.
    • Ke zpracování IP je zapotřebí značné lidské práce. Protože IP adresy nejsou dynamicky přidělovány za vás, musíte to udělat ručně.

Co je výchozí chování zakázat/povolit?

' Výchozí povoleno označuje, že veškerý provoz je ve výchozím nastavení povolen. Pokud to není výslovně povoleno, veškerý provoz je ve výchozím nastavení odmítnut při použití výrazu „ výchozí zamítnout .“ kromě případů, kdy je specifikována síťová politika.

    • Veškerý provoz do az pod je povolen, pokud pro daný modul neplatí žádné síťové zásady.
    • Pokud je pro modul typu ingress v platnosti jedna nebo více síťových zásad, je povolen pouze ten příchozí provoz, který je těmito politikami výslovně povolen.
    • Když se na modul typu egress vztahuje jedna nebo více síťových zásad, je povolen pouze výstupní provoz povolený těmito politikami.

Výchozí nastavení pro ostatní typy koncových bodů (VM, hostitelská rozhraní) je blokovat provoz. Povolen je pouze provoz, který je výslovně povolen zásadami sítě, i když se na koncový bod nevztahují žádné zásady sítě.

Osvědčený postup: Implicitní výchozí zásada odmítnutí

Musíte nakonfigurovat implicitní výchozí zásadu odmítnutí vytvořenou pro vaše moduly Kubernetes. Tím je zajištěno, že nežádoucí provoz je automaticky blokován. Pamatujte, že zásady implicitního zamítání výchozího nastavení vždy vstoupí v platnost jako poslední; pokud jiné zásady povolují provoz, odmítnutí neplatí. Odmítnutí se provede až po zvážení všech ostatních zásad.

Jak vytvořit výchozí zásady odmítnutí pro Kubernetes Pods?

Doporučujeme využít zásady globální sítě, i když lze použít kterékoli z následujících pravidel k vytvoření výchozí zásady odepření pro moduly Kubernetes. Na všechny pracovní zátěže (virtuální počítače a kontejnery) ve všech jmenných prostorech a hostitelích se aplikuje globální síťová politika. Globální síťová politika podporuje opatrný přístup k bezpečnosti a zároveň chrání zdroje.

    • Povolit výchozí zakázat zásady globální sítě, bez jmenného prostoru
    • Povolte výchozí, chcete-li odmítnout síťové zásady, s jmenným prostorem
    • Povolením výchozího nastavení odepřete zásadu Kubernetes s prostorem názvů

Co je IP Block?

Díky tomu jsou specifické rozsahy IP CIDR vybrány tak, aby byly povoleny jako vstupní zdroje nebo výstupní cíle. Vzhledem k tomu, že IP adresy jsou přechodné a nepředvídatelné, mělo by se jednat o externí IP adresy clusteru.

Zdrojová nebo cílová IP paketů musí být často přepisována při použití metod vstupu a výstupu clusteru. V závislosti na konkrétním síťovém pluginu (poskytovatel cloudových služeb, implementace služby atd.), který se používá, se může chování změnit.

To platí pro ingress a znamená to, že v některých případech musíte filtrovat příchozí pakety, které jsou založeny na skutečné zdrojové IP. Na druhou stranu „zdrojová IP“, na které NetworkPolicy pracuje, může být IP LoadBalanceru nebo dokonce uzlu Podu atd.

To ukazuje, že připojení mezi moduly a IP Service, které jsou přepsány na externí IP adresy clusteru, mohou podléhat omezením založeným na ipBlock, pokud jde o výstup.

Jaké jsou výchozí zásady?

Veškerý příchozí a odchozí provoz do az podů ve jmenném prostoru je ve výchozím nastavení povolen, pokud pro daný jmenný prostor neexistují žádné ovládací prvky. Výchozí chování jmenného prostoru můžete změnit pomocí následujících příkladů.

Výchozí Zakázat veškerý příchozí provoz

Při vytváření zásady sítě, která vybírá všechny moduly, ale nezahrnuje žádný příchozí provoz do těchto modulů, můžete vytvořit „výchozí“ zásadu izolace vstupu, a to pro jmenný prostor.


Tím je zajištěno, že všechny moduly, bez ohledu na to, zda je zvolí jakákoli jiná síťová politika, budou izolovány pro vstup. Toto pravidlo se nevztahuje na izolaci pro opuštění jakéhokoli modulu.

Výchozí Zakázat veškerý odchozí provoz

Když vytvoříte NetworkPolicy, která vybere všechny moduly, ale zakáže odchozí provoz z těchto modulů, můžete vytvořit „výchozí“ politiku izolace výstupu, a to také pro jmenný prostor.

Závěr

Tato příručka byla celá o použití DenyServiceExternalIPs. Navrhli jsme také schematické znázornění, aby naši uživatelé pochopili, že to funguje. Poskytli jsme také vzorové konfigurace.