Amb el VPC CNI, una Pod pot tenir una adreça del VPC, i un usuari de VPN amb la ruta correcta hi pot arribar directament. Això fa que l’accés directe a la Pod sembli l’opció més simple, i ho és, fins que la Pod se substitueix. L’adreça que un usuari recorda hauria de pertànyer a l’aplicació, no a una rèplica. Comparar les tres entrades es redueix a quin objecte posseeix l’adreça i què ha de continuar funcionant quan la càrrega de treball es mou.

Trieu primer pel cicle de vida, i després pel que la xarxa ha de fer perquè l’entrada sigui accessible.

Tres entrades, tres cicles de vida

Una Pod IP pertany a una Pod: s’assigna amb ella i s’allibera quan acaba. Un ClusterIP pertany a un Service i és virtual, només té sentit on existeix l’encaminament de serveis del clúster. Un balancejador intern pertany a un recurs de núvol que el controlador del clúster programa amb backends. Aquests models de propietat prediuen la fallada que obtindreu: una adreça obsoleta, un nom inabastable o un conjunt de backends desactualitzat.

Escriviu la comparació abans de triar. Un cop anomenats el propietari i la fallada, l’elecció normalment es fa tota sola.

EntryOwnerFailure when the workload moves
Pod IPThe PodAddress changes and saved links break
ClusterIPThe ServiceVirtual address with no meaning outside cluster routing
Internal balancerCloud resource plus controllerBackends update, but the DNS view is yours to maintain

Accés directe a la Pod: útil, temporal

L’accés directe és realment útil per a una comprovació controlada: un administrador, una sessió curta, un port concret. Però és un mal contracte per als usuaris, perquè l’adreça és un detall d’implementació que canvia a cada desplegament. I registrar-ne una en un wiki és com un servei que funciona es converteix en un rumor.

També convida a regles àmplies. El permís perquè un administrador arribi a una Pod no és permís per a cada adreça de la subxarxa del node, i el segon és el que normalment s’escriu.

ClusterIP: limitat al clúster per disseny

Un ClusterIP funciona perquè el pla de dades del clúster programa l’encaminament per a ell dins del clúster. Des d’un portàtil a la VPN l’adreça no significa res tret que alguna cosa l’exposi deliberadament. Un nom que acaba en svc.cluster.local pertany al DNS del clúster, així que copiar-lo a un client amb un altre resolutor produeix un nom que no existeix en lloc d’un error d’encaminament.

El ClusterIP continua sent l’entrada correcta per als cridadors dins del clúster, incloent-hi altres càrregues de treball. Simplement no és un mecanisme de publicació per als usuaris fora del domini d’encaminament del clúster.

Balancejador intern: el camí publicat

Un balancejador intern us dona una adreça privada estable i un nom al qual la vostra zona pot apuntar, mentre el controlador manté actualitzat el conjunt de backends, tal com descriu la guia de balanceig de càrrega d’EKS. Aquesta és l’entrada que sobreviu a una substitució normal de Pod sense que ningú editi un document. Costa un recurs de núvol, una configuració de controlador i una ruta des de la VPN, i aquestes són les parts que la gent subestima.

Utilitzeu el model de controlador que el clúster executa realment. Les anotacions escrites per a una integració no s’apliquen a una altra.

Qui és l’adreça d’origen

Els grups de seguretat veuen l’origen que arriba a la seva frontera, que pot ser el client connectat o una adreça traduïda segons el camí de la VPN i del balanceig de càrrega. Als nodes basats en EC2, les Pods normals de VPC CNI hereten per defecte els grups de l’ENI del node, mentre que les configuracions admeses poden adjuntar grups específics de Pod. Escriviu regles per al camí documentat en lloc d’una adreça suposada del portàtil.

Mantingueu l’oient i l’autenticació propis de l’aplicació com a controls separats. Una regla de xarxa que permet el flux no és una decisió d’autorització i no s’ha de tractar com a tal.

Què lliurar als usuaris

Doneu als usuaris un nom de servei, no una adreça. Publiqueu el nom a la zona privada, apunteu-lo a l’entrada interna i, després, proveu-ho substituint una Pod de backend mentre un client manté el mateix nom obert. Aquest exercici comprova la propietat que importa: arribar a la mateixa aplicació després d’un desplegament rutinari.

Mantingueu l’accés directe a la Pod com una excepció operativa documentada amb el seu propi abast, ben lluny de les instruccions per als usuaris.

Articles relacionats