Com configurar les IP externes de Deny Service a Kubernetes

Com Configurar Les Ip Externes De Deny Service A Kubernetes



És possible que us trobeu amb un problema mentre configureu un clúster de Kubernetes quan només sabeu com utilitzar NodePort per fer que el vostre servei Kubernetes sigui accessible a través d'Internet. Quan utilitzeu el tipus de servei NodePort, s'assignarà un número de port elevat i haureu de permetre les connexions a aquests ports a la vostra regla de tallafoc. És perjudicial per a la vostra infraestructura, sobretot si el servidor és accessible a través d'Internet obert. Podeu assignar un bloc d'adreces IP fora del clúster com a administrador del clúster que pot transmetre trànsit als serveis allà. Això és exactament del que parlarem en aquest article: trobar tota la informació crítica sobre com configurar les IP externes del servei de denegació a Kubernetes.

Què és el servei IP extern?

Un dels punts finals del servei rebrà trànsit que entra al clúster mitjançant la IP externa (com a IP de destinació) i el port de servei. Kubernetes no es fa responsable de la gestió de la IP externa.







Assegurar-se quina IP s'utilitza per accedir al clúster de Kubernetes és crucial en aquesta situació. Utilitzant el tipus de servei IP extern, podem vincular el servei a l'adreça IP que s'utilitza per accedir al clúster.



El fet que la xarxa Kubernetes interaccioni amb la xarxa Overlay és important per entendre aquesta situació. Això implica que podeu accedir pràcticament a tots els nodes del clúster un cop arribeu a qualsevol dels nodes (node ​​mestre o de treball).



La xarxa es mostra de la següent manera:






Els dos nodes 1 i 2 del diagrama comparteixen una única adreça IP. El pod real viu al node 1, però l'adreça IP 1.2.3.6 està vinculada al servei Nginx del node 1. L'adreça IP del node 1, 1.2.3.4, està vinculada al servei httpd i el pod real del node 2 es troba allà.

Això és possible gràcies als fonaments de la xarxa Overlay. Quan enrotllem l'adreça IP 1.2.3.4, el servei httpd hauria de respondre; quan curlem 1.2.3.5, el servei Nginx hauria de respondre.



Avantatges i desavantatges de la IP externa

Aquests són els avantatges i desavantatges de la IP externa:

És avantatjós utilitzar IP externa perquè:

    • La vostra IP està completament sota el vostre control. En lloc d'utilitzar l'ASN del proveïdor del núvol, podeu utilitzar la IP que pertany al vostre propi ASN.

Els inconvenients de la IP externa inclouen els següents:

    • La configuració senzilla que passarem ara NO està molt disponible. Això implica que si el node falla, el servei ja no serà accessible i haureu de solucionar el problema manualment.
    • Per gestionar les IP, es requereix una feina humana considerable. Com que les IP no s'assignen dinàmicament per a tu, has de fer-ho manualment.

Què és el comportament de denegació/permissió per defecte?

El ' Permet per defecte indica que tot el trànsit està permès per defecte. Tret que es permeti específicament, tot el trànsit es rebutja per defecte quan s'utilitza el terme ' denegació per defecte ”. excepte quan s'especifica una política de xarxa.

    • Tot el trànsit cap a i des d'un pod està permès si no hi ha polítiques de xarxa vigents per a aquest pod.
    • Si una o més polítiques de xarxa estan vigents per a un pod de tipus ingress, només es permetrà el trànsit d'entrada explícitament permès per aquestes polítiques.
    • Quan una o més polítiques de xarxa s'apliquen a un pod de tipus sortida, només es permet el trànsit de sortida que permeten aquestes polítiques.

La configuració predeterminada per a altres tipus de punts finals (VMs, interfícies d'amfitrió) és bloquejar el trànsit. Només es permet el trànsit específicament permès per la política de xarxa, encara que no s'apliquen polítiques de xarxa al punt final.

Pràctica recomanada: política de denegació per defecte implícita

Heu de configurar una política de denegació predeterminada implícita creada per als vostres pods de Kubernetes. Això assegura que el trànsit no desitjat es bloqueja automàticament. Recordeu que el defecte implícit nega que les polítiques sempre entren en vigor l'última; si altres polítiques permeten el trànsit, la denegació no s'aplica. La denegació només s'implementa després que s'hagin considerat totes les altres polítiques.

Com crear una política de denegació predeterminada per als pods de Kubernetes?

Recomanem que utilitzeu la política de xarxa global encara que es pugui utilitzar alguna de les regles següents per crear una política de denegació predeterminada per als pods de Kubernetes. S'aplica una política de xarxa global a totes les càrregues de treball (VM i contenidors) a tots els espais de noms i amfitrions. Una política global de xarxa fomenta un enfocament prudent de la seguretat alhora que es defensa els recursos.

    • Activa per defecte per denegar la política de xarxa global, sense espai de noms
    • Activa per defecte per denegar la política de xarxa, amb espai de noms
    • Activa per defecte per denegar la política de Kubernetes, amb espai de noms

Què és IP Block?

Amb això, s'escullen intervals IP CIDR específics perquè es permetin com a fonts d'entrada o destinacions de sortida. Atès que les IP de pod són transitòries i impredictibles, haurien de ser IP externes del clúster.

La IP d'origen o de destinació dels paquets s'ha de reescriure amb freqüència quan s'utilitzen mètodes d'entrada i sortida del clúster. Depenent del connector de xarxa particular (proveïdor de serveis al núvol, implementació del servei, etc.) que s'utilitzi, el comportament pot canviar.

Això és cert per a l'entrada i vol dir que, en alguns casos, heu de filtrar els paquets entrants que es basen en la IP d'origen real. D'altra banda, la 'IP d'origen' amb la qual treballa NetworkPolicy pot ser la IP d'un LoadBalancer o fins i tot el node del Pod, etc.

Això mostra que les connexions entre pods i IP de servei que es reescriuen a IP externes del clúster podrien estar subjectes a restriccions basades en ipBlock en termes de sortida.

Quines són les polítiques predeterminades?

Tot el trànsit d'entrada i sortida cap i des de pods en un espai de noms està permès, de manera predeterminada, si no hi ha controls per a aquest espai de noms. Podeu modificar el comportament predeterminat de l'espai de noms utilitzant els exemples següents.

Per defecte Denegar tot el trànsit d'entrada

Quan creeu una política de xarxa que esculli tots els pods però que no inclogui cap trànsit d'entrada a aquests pods, podeu crear una política d'aïllament d'entrada 'predeterminada' per a un espai de noms.


Això garanteix que tots els pods, independentment de si qualsevol altre NetworkPolicy els tria, estiguin aïllats per a l'entrada. Aquesta regla no s'aplica a l'aïllament per sortir de qualsevol pod.

Denegació per defecte de tot el trànsit de sortida

Quan creeu una política de xarxa que tria tots els pods però prohibeix el trànsit de sortida d'aquests pods, podeu crear una política d'aïllament de sortida 'predeterminada' i això també és per a un espai de noms.

Conclusió

Aquesta guia tractava sobre l'ús de DenyServiceExternalIPs. També hem dissenyat una representació esquemàtica perquè els nostres usuaris entenguin que funciona. També hem proporcionat configuracions de mostra.