A szolgáltatás megtagadása külső IP-címek konfigurálása a Kubernetesben

A Szolgaltatas Megtagadasa Kulso Ip Cimek Konfiguralasa A Kubernetesben



Problémába ütközhet a Kubernetes-fürt beállítása során, ha csak azt tudja, hogyan kell a NodePort használatával elérhetővé tenni Kubernetes-szolgáltatását az interneten keresztül. A NodePort szolgáltatástípus alkalmazásakor a rendszer magas portszámot rendel hozzá, és engedélyeznie kell a csatlakozást ezekhez a portokhoz a tűzfalszabályban. Ez különösen káros az infrastruktúrára nézve, ha a szerver elérhető a nyílt interneten keresztül. A fürtön kívüli IP-címek blokkját hozzárendelheti a fürt rendszergazdájaként, aki forgalmat továbbíthat az ottani szolgáltatásokhoz. Pontosan erről fogunk beszélni ebben a cikkben: hogy megtaláljuk az összes kritikus információt a szolgáltatás külső IP-címeinek megtagadásáról a Kubernetesben.

Mi az a külső IP szolgáltatás?

Az egyik szolgáltatás-végpont a külső IP-címen (cél-IP-ként) és a szolgáltatási porton keresztül a fürtbe érkező forgalmat fogja fogadni. A Kubernetes nem felelős a külső IP-címek kezeléséért.







Ebben a helyzetben döntő fontosságú annak biztosítása, hogy melyik IP-t használják a Kubernetes-fürt eléréséhez. A külső IP-szolgáltatástípus használatával a szolgáltatást a fürt eléréséhez használt IP-címhez köthetjük.



Az a tény, hogy a Kubernetes hálózat kölcsönhatásba lép az Overlay hálózattal, fontos a helyzet megértéséhez. Ez azt jelenti, hogy a fürt gyakorlatilag minden csomópontjához hozzáférhet, ha eléri valamelyik csomópontot (fő vagy dolgozó csomópont).



A hálózat a következőképpen jelenik meg:






A diagram 1. és 2. csomópontja ugyanazon az IP-címen osztozik. A valódi Pod az 1. csomóponton él, de az 1.2.3.6 IP-cím az 1. csomópont Nginx szolgáltatásához van kötve. Az 1. csomópont IP-címe, az 1.2.3.4, a httpd szolgáltatáshoz van kötve, és a 2. csomópont tényleges Podja ott található.

Ezt az Overlay hálózat alapjai teszik lehetővé. Amikor az 1.2.3.4-es IP-címet görbítjük, a httpd szolgáltatásnak válaszolnia kell; amikor curl 1.2.3.5, az Nginx szolgáltatás válaszol.



A külső IP előnyei és hátrányai

Íme a külső IP előnyei és hátrányai:

A külső IP-cím használata előnyös, mert:

    • Az IP-címe teljes mértékben az Ön ellenőrzése alatt áll. A felhőszolgáltató ASN-jének használata helyett használhatja a saját ASN-jéhez tartozó IP-címet.

A külső IP hátrányai a következők:

    • Az az egyszerű beállítás, amelyen most megyünk keresztül, NEM nagyon elérhető. Ez azt jelenti, hogy ha a csomópont meghibásodik, a szolgáltatás többé nem lesz elérhető, és a problémát manuálisan kell kijavítania.
    • Az IP-k kezeléséhez jelentős emberi munkaerőre van szükség. Mivel az IP-címek nem dinamikusan vannak kiosztva Önnek, ezt manuálisan kell megtennie.

Mi az alapértelmezett megtagadás/engedélyezés?

Az ' Alapértelmezett engedélyezés azt jelzi, hogy alapértelmezés szerint minden forgalom engedélyezett. Hacsak nincs kifejezetten engedélyezve, alapértelmezés szerint minden forgalom visszautasításra kerül a ' kifejezés használatakor alapértelmezett megtagadás .” kivéve, ha hálózati házirend van megadva.

    • A podba irányuló és onnan induló forgalom engedélyezett, ha az adott podra nincs érvényben hálózati szabályzat.
    • Ha egy vagy több hálózati házirend van érvényben egy bemeneti típusú podhoz, akkor csak az a belépési forgalom engedélyezett, amelyet ezek a házirendek kifejezetten engedélyeznek.
    • Ha egy vagy több hálózati házirend vonatkozik egy kimenő típusú podra, akkor csak az ezen házirendek által engedélyezett kilépési forgalom engedélyezett.

Más végponttípusok (VM-ek, gazdagép-interfészek) alapértelmezett beállítása a forgalom blokkolása. Csak a hálózati házirend által kifejezetten engedélyezett forgalom engedélyezett, még akkor is, ha a végpontra nem vonatkoznak hálózati házirendek.

Bevált gyakorlat: Implicit alapértelmezett megtagadási szabályzat

Be kell állítania a Kubernetes podokhoz létrehozott implicit alapértelmezett megtagadási szabályzatot. Ez biztosítja, hogy a nem kívánt forgalmat automatikusan blokkolja. Ne feledje, hogy az implicit alapértelmezett megtagadási irányelvek mindig utoljára lépnek hatályba; Ha bármely más szabályzat lehetővé teszi a forgalmat, az elutasítás nem érvényes. Az elutasítás csak az összes többi irányelv figyelembevétele után kerül végrehajtásra.

Hogyan hozzunk létre alapértelmezett megtagadási szabályzatot a Kubernetes podokhoz?

Javasoljuk, hogy használja a globális hálózati házirendet, még akkor is, ha a következő szabályok bármelyike ​​használható a Kubernetes pod-ok alapértelmezett megtagadási szabályzatának létrehozására. A globális hálózati házirend minden munkaterhelésre (VM-ekre és tárolókra) vonatkozik minden névtéren és gazdagépen. A globális hálózati házirend a biztonság óvatos megközelítésére ösztönöz, miközben megvédi az erőforrásokat.

    • Az alapértelmezett engedélyezése a globális hálózati házirend, nem névteres letiltásához
    • Alapértelmezés engedélyezése a hálózati házirend, névteres letiltásához
    • Az alapértelmezett engedélyezése a Kubernetes-házirend névteres letiltásához

Mi az az IP Block?

Ezzel bizonyos IP CIDR-tartományok kerülnek kiválasztásra, amelyek engedélyezve vannak bemeneti forrásként vagy kilépési célként. Tekintettel arra, hogy a pod IP-k átmenetiek és kiszámíthatatlanok, ezeknek fürt külső IP-címeknek kell lenniük.

A csomagok forrás- vagy cél IP-címét gyakran át kell írni a fürt be- és kilépési metódusainak használatakor. A használt hálózati beépülő modultól (felhőszolgáltató, szolgáltatás megvalósítása stb.) függően a viselkedés változhat.

Ez igaz a belépésre, és ez azt jelenti, hogy bizonyos esetekben szűrnie kell a bejövő csomagokat, amelyek a tényleges forrás IP-címén alapulnak. Másrészt a „forrás IP”, amelyen a NetworkPolicy dolgozik, lehet egy LoadBalancer vagy akár a Pod csomópontjának IP-címe stb.

Ez azt mutatja, hogy a pod-ok és a fürt külső IP-címekre átírt szolgáltatási IP-címek közötti kapcsolatokra ipBlock-alapú korlátozások vonatkozhatnak a kilépés tekintetében.

Mik az alapértelmezett irányelvek?

A névtérben lévő összes be- és kimenő forgalom a podokra és onnan alapértelmezés szerint engedélyezett, ha az adott névtérhez nincsenek vezérlők. A következő példák segítségével módosíthatja a névtér alapértelmezett viselkedését.

Alapértelmezett Deny Minden bejövő forgalom

Ha olyan hálózati házirendet hoz létre, amely kiválasztja az összes sorba rendezést, de nem tartalmaz semmilyen bejövő forgalmat ezekre a podokra, létrehozhat egy „alapértelmezett” belépés elkülönítési szabályzatot, amely névtérre vonatkozik.


Ez biztosítja, hogy minden pod, függetlenül attól, hogy más NetworkPolicy választja-e őket, le van zárva a behatoláshoz. Ez a szabály nem vonatkozik a podból való kilépéshez szükséges elkülönítésre.

Alapértelmezett minden kimenő forgalom tiltása

Ha olyan NetworkPolicy-t hoz létre, amely kiválasztja az összes pod-ot, de tiltja a kimenő forgalmat ezekből a podokból, létrehozhat egy „alapértelmezett” kilépési elkülönítési szabályzatot, amely egy névtérre is vonatkozik.

Következtetés

Ez az útmutató a DenyServiceExternalIPs használatáról szól. Terveztünk egy diagramos ábrázolást is, hogy a felhasználók megértsék, hogy működik. Mintakonfigurációkat is biztosítunk.