Ako nakonfigurovať externé adresy IP odmietnutia služby v Kubernetes

Ako Nakonfigurovat Externe Adresy Ip Odmietnutia Sluzby V Kubernetes



Pri nastavovaní klastra Kubernetes môžete naraziť na problém, keď viete, ako používať iba NodePort na sprístupnenie služby Kubernetes cez internet. Pri použití typu služby NodePort bude pridelené vysoké číslo portu a musíte povoliť pripojenia k týmto portom v pravidle brány firewall. Je to škodlivé pre vašu infraštruktúru, najmä ak je server prístupný cez otvorený internet. Blok adries IP mimo klastra môžete priradiť ako správca klastra, ktorý tam môže prenášať návštevnosť služieb. To je presne to, o čom budeme hovoriť v tomto článku: nájsť všetky dôležité informácie o tom, ako nakonfigurovať externé adresy IP odmietnutia služby v Kubernetes.

Čo je externá služba IP?

Jeden z koncových bodov služby bude prijímať prevádzku, ktorá vstupuje do klastra pomocou externej IP (ako cieľovej IP) a portu služby. Kubernetes nezodpovedá za správu externej IP adresy.







V tejto situácii je rozhodujúce zabezpečiť, aby sa adresa IP využívala na prístup ku klastru Kubernetes. Pomocou externého typu služby IP môžeme službu naviazať na adresu IP, ktorá sa používa na prístup do klastra.



Na pochopenie tejto situácie je dôležitá skutočnosť, že sieť Kubernetes interaguje so sieťou Overlay. To znamená, že môžete pristupovať prakticky ku každému uzlu v klastri, keď dosiahnete ktorýkoľvek z uzlov (hlavný alebo pracovný uzol).



Sieť sa zobrazuje takto:






Oba uzly 1 a 2 v diagrame zdieľajú jednu IP adresu. Skutočný modul žije v uzle 1, ale adresa IP 1.2.3.6 je naviazaná na službu Nginx na uzle 1. Adresa IP uzla 1, 1.2.3.4, je naviazaná na službu httpd a skutočný modul uzla 2 sa nachádza tam.

Je to možné vďaka podpore siete Overlay. Keď stočíme IP adresu 1.2.3.4, služba httpd by mala odpovedať; keď stočíme 1.2.3.5, služba Nginx by mala reagovať.



Výhody a nevýhody externého IP

Tu sú výhody a nevýhody externej IP adresy:

Je výhodné použiť externú IP, pretože:

    • Vaša IP je úplne pod vašou kontrolou. Namiesto použitia ASN poskytovateľa cloudu môžete použiť IP, ktorá patrí do vášho vlastného ASN.

Nevýhody externej IP zahŕňajú nasledovné:

    • Priame nastavenie, ktorým teraz prejdeme, NIE JE veľmi ľahko dostupné. To znamená, že ak uzol zlyhá, služba už nebude prístupná a problém budete musieť vyriešiť manuálne.
    • Na spracovanie IP je potrebná značná ľudská práca. Keďže adresy IP nie sú prideľované dynamicky, musíte to urobiť manuálne.

Čo je predvolené odmietnutie/povoliť správanie?

' Predvolené povolenie označuje, že všetka premávka je štandardne povolená. Pokiaľ to nie je výslovne povolené, pri použití výrazu „ predvolené odmietnutie .“ okrem prípadov, keď je špecifikovaná sieťová politika.

    • Ak pre daný modul neplatia žiadne sieťové pravidlá, je povolená všetka prevádzka do a z modulu.
    • Ak je pre modul typu ingress v platnosti jedna alebo viac sieťových pravidiel, je povolená iba vstupná prevádzka, ktorá je výslovne povolená týmito politikami.
    • Keď sa na modul typu egress vzťahuje jedna alebo viac sieťových politík, potom je povolená iba výstupná prevádzka povolená týmito politikami.

Predvolené nastavenie pre ostatné typy koncových bodov (VM, hostiteľské rozhrania) je blokovať prenos. Povolená je len prevádzka, ktorá je špecificky povolená sieťovou politikou, aj keď sa na koncový bod nevzťahujú žiadne sieťové politiky.

Osvedčený postup: Implicitná predvolená politika odmietnutia

Musíte nakonfigurovať implicitnú predvolenú politiku odmietnutia vytvorenú pre vaše moduly Kubernetes. To zaisťuje, že nechcená prevádzka je automaticky blokovaná. Pamätajte, že implicitné predvolené odmietnutia politiky vždy nadobudnú účinnosť ako posledné; ak iné pravidlá povoľujú prenos, odmietnutie neplatí. Zamietnutie sa vykoná až po zvážení všetkých ostatných politík.

Ako vytvoriť predvolenú politiku odmietnutia pre Kubernetes Pods?

Odporúčame použiť globálnu sieťovú politiku aj v prípade, že na vytvorenie predvolenej politiky odmietnutia pre moduly Kubernetes možno použiť ktorékoľvek z nasledujúcich pravidiel. Globálna sieťová politika sa uplatňuje na všetky pracovné zaťaženia (VM a kontajnery) vo všetkých menných priestoroch a hostiteľoch. Globálna sieťová politika podporuje opatrný prístup k bezpečnosti pri ochrane zdrojov.

    • Povoliť predvolené nastavenie na odmietnutie globálnej sieťovej politiky, bez menného priestoru
    • Ak chcete odmietnuť sieťovú politiku, povoľte predvolené nastavenie s menným priestorom
    • Povoliť predvolené nastavenie na odmietnutie politiky Kubernetes s menným priestorom

Čo je blokovanie IP?

Týmto sa vyberú špecifické rozsahy IP CIDR, ktoré budú povolené ako vstupné zdroje alebo výstupné ciele. Vzhľadom na to, že IP adresy sú prechodné a nepredvídateľné, mali by to byť externé IP adresy klastra.

Zdrojová alebo cieľová IP paketov sa musí často prepisovať pri použití metód vstupu a výstupu klastra. V závislosti od konkrétneho sieťového doplnku (poskytovateľ cloudových služieb, implementácia služby atď.), ktorý sa používa, sa správanie môže zmeniť.

To platí pre ingress a znamená to, že v niektorých prípadoch musíte filtrovať prichádzajúce pakety, ktoré sú založené na skutočnej zdrojovej IP. Na druhej strane, „zdrojová IP“, na ktorej NetworkPolicy funguje, môže byť IP LoadBalancer alebo dokonca uzla podu atď.

To ukazuje, že pripojenia medzi modulmi a adresami IP služby, ktoré sú prepísané na externé adresy IP klastra, môžu podliehať obmedzeniam založeným na ipBlock, pokiaľ ide o výstup.

Aké sú predvolené zásady?

Všetka vstupná a výstupná prevádzka do az modulov v priestore názvov je štandardne povolená, ak pre daný priestor názvov nie sú zavedené žiadne ovládacie prvky. Predvolené správanie priestoru názvov môžete zmeniť pomocou nasledujúcich príkladov.

Predvolené Zakázať všetku vstupnú prevádzku

Pri vytváraní sieťovej politiky, ktorá vyberá všetky moduly, ale nezahŕňa žiadny prichádzajúci prenos do týchto modulov, môžete vytvoriť „predvolenú“ politiku izolácie vstupu, a to pre menný priestor.


To zaisťuje, že všetky moduly, bez ohľadu na to, či si ich vyberie iná sieťová politika, budú izolované pre vstup. Toto pravidlo sa nevzťahuje na izoláciu pre výstup z ľubovoľného modulu.

Predvolené Zakázať všetku výstupnú premávku

Keď vytvoríte NetworkPolicy, ktorá vyberie všetky moduly, ale zakáže výstupný prenos z týchto modulov, môžete vytvoriť „predvolenú“ politiku izolácie výstupu, a to aj pre menný priestor.

Záver

Táto príručka bola o použití DenyServiceExternalIPs. Navrhli sme aj schematické znázornenie, aby naši používatelia pochopili, že to funguje. Poskytli sme aj vzorové konfigurácie.