Kubernetes Pod VPN vs ఎగ్రెస్ గేట్వే: సొరంగం ఎవరిది?
Pod దాని స్వంత నెట్వర్క్ నేమ్స్పేస్, కాబట్టి అసలు ఎంపిక ఏ పొర సొరంగాన్ని కలిగి ఉంది అనేది: ప్రతి వర్క్లోడ్కు గుర్తింపు లేదా ఒకే భాగస్వామ్య మూలంతో CNI నడిపించే ఎగ్రెస్.
మీరు vpn-gateway అనే Pod ను అమలు చేస్తారు, పరీక్ష క్లయింట్ను దాని చిరునామాకు సూచిస్తారు మరియు ప్యాకెట్లు మాయమవడం చూస్తారు. మానిఫెస్ట్లో ఏదీ తప్పు లేదు మరియు kubelet కు ఎలాంటి ఫిర్యాదు లేదు. కారణం నిర్మాణాత్మకం, కాన్ఫిగరేషన్ కాదు: Kubernetes ప్రతి Pod కు దాని స్వంత నెట్వర్క్ నేమ్స్పేస్ ఇస్తుంది, కాబట్టి పేరు, లేబుల్ లేదా భాగస్వామ్య API నేమ్స్పేస్ ప్యాకెట్లు ఎక్కడికి వెళ్తాయో ఏమీ మార్చవు. అందువల్ల VPN ట్రాఫిక్ క్లస్టర్ నుండి ఎలా బయటకు వెళ్తుందో నిర్ణయించడం యాజమాన్యం గురించిన ప్రశ్నతో మొదలవుతుంది, కంటైనర్ ఇమేజ్లతో కాదు.
రెండు యంత్రాంగాలు చాలా వాస్తవ నియోగాలను కవర్ చేస్తాయి, అవి పరస్పరం మార్చుకోలేనివి. ఒకటి సొరంగాన్ని వర్క్లోడ్ స్వంత నెట్వర్క్ నేమ్స్పేస్ లోపల ఉంచుతుంది. మరొకటి CNI ను ఎంచుకున్న ట్రాఫిక్ను నియమిత గేట్వే నోడ్ ద్వారా పంపమని కోరుతుంది. అవి వేర్వేరు విధాలుగా విఫలమవుతాయి, వేర్వేరు విధాలుగా స్కేల్ అవుతాయి, వేర్వేరు బృందాలకు జవాబు చెబుతాయి, అందుకే కంటైనర్ ప్రశ్న సాధారణంగా ఎప్పటికీ పరిష్కారం కాని చర్చలను సృష్టిస్తుంది.
Pod సరిహద్దు ఒక నేమ్స్పేస్, జంప్ హోస్ట్ కాదు
Linux నెట్వర్క్ నేమ్స్పేస్ దాని ఇంటర్ఫేస్లు, చిరునామాలు, రూట్లు మరియు ఫైర్వాల్ నియమాలను కలిగి ఉంటుంది, ప్రతి Pod కు ఒకటి లభిస్తుంది. ఆ Pod లోని కంటైనర్లు దానిలో చేరతాయి, అందుకే సహాయక కంటైనర్ తర్వాత అప్లికేషన్ అనుసరించే రూట్లను తిరిగి రాయగలదు. పక్కనున్న Pod కు కనిపించడంలో సమానమైన కానీ పూర్తిగా ప్రత్యేకమైన స్టాక్ ఉంటుంది. గేట్వే Pod వారసత్వంగా పొందగల భాగస్వామ్య పట్టిక లేదు, ఒక నేమ్స్పేస్ నుండి మరొకదానికి ట్రాఫిక్ యొక్క అవ్యక్త బదిలీ లేదు.
అందుకే గేట్వే-Pod నమూనా పైన నుండి ఏదో నిజంగా దానికి ప్యాకెట్లు పంపినప్పుడే పనిచేస్తుంది: ఒక Service, నోడ్పై స్థిర రూట్ లేదా CNI లో స్టీరింగ్ విధానం. కేవలం చిరునామా ఏదీ ఆకర్షించదు.
ప్రతి Pod కు సొరంగం ఏమి ఇస్తుంది, ఎంత ఖర్చవుతుంది
వర్క్లోడ్ నేమ్స్పేస్లో నడిచే సొరంగం ఆ వర్క్లోడ్కు దాని స్వంత క్లయింట్ గుర్తింపును ఇస్తుంది, అనేక రిమోట్ యాక్సెస్ సేవలు సెషన్ను అధికారం ఇవ్వడానికి లేదా లెక్కించడానికి ముందు దాన్ని కోరతాయి. నష్టపు వ్యాసార్థం కూడా స్థానికంగానే ఉంటుంది: విరిగిన సొరంగం అన్నీ ఉపయోగించే భాగస్వామ్య మార్గానికి బదులు ఒక Deployment ను ఆపేస్తుంది. అది ఎలా నడుస్తుంది అనేది అమలుపై ఆధారపడి ఉంటుంది, ఇక్కడే ప్రజలు తప్పుగా ఊహిస్తారు.
కేవలం కెర్నల్ స్థితి మాత్రమే అవసరమైన సెటప్ init కంటైనర్లో ముగిసి బయటకు వెళ్లవచ్చు. Pod యొక్క మొత్తం జీవితకాలం జీవించి ఉండాల్సిన యూజర్ స్పేస్ డెమన్కు Kubernetes 1.29 లో స్థానిక సైడ్కార్గా ప్రవేశపెట్టిన పునఃప్రారంభించగల init కంటైనర్ రూపం అవసరం, ఈ భేదం రుచి నుండి కాదు, సొరంగం అమలు నుండి వస్తుంది. ఈ నమూనా ఖర్చు నకిలీ: ప్రతి ప్రతిరూపం ప్రామాణీకరిస్తుంది, దాని స్వంత సొరంగ చిరునామాను పొందుతుంది, రిమోట్ సెషన్ స్థానాన్ని ఆక్రమిస్తుంది, కాబట్టి ఆటోస్కేలింగ్ సంఘటన లింక్కు ఆవల సామర్థ్య సంఘటనగా మారుతుంది. ఒక ఆధారపత్రాన్ని అన్ని ప్రతిరూపాలకు కాపీ చేయడం ఆ ఖర్చును తొలగించదు, అది ఆడిట్ జాడను తొలగిస్తుంది. సామర్థ్యాలు కూడా అదే పరిశీలనకు అర్హమైనవి, ఎందుకంటే తన నేమ్స్పేస్లో NET_ADMIN కావాలనుకునే సొరంగానికి privileged: true ఉదాహరణ యొక్క మొత్తం హోస్ట్ అధికారాన్ని వారసత్వంగా పొందడానికి ఎటువంటి కారణం లేదు.
CNI ఎగ్రెస్ను కలిగి ఉన్నప్పుడు
CNI దాన్ని మద్దతు ఇస్తే, ఎగ్రెస్ గేట్వే వర్క్లోడ్ మరియు గమ్యస్థాన పరిధి ఆధారంగా ట్రాఫిక్ను ఎంచుకుని, తర్వాత ఒక అంచనా వేయగల మూల చిరునామా కింద ఎంచుకున్న నోడ్ల ద్వారా పంపుతుంది. Cilium సంస్కరణ సాధారణ సూచన, దాని డాక్యుమెంటేషన్ ఈ లక్షణానికి నిర్దిష్ట Cilium కాన్ఫిగరేషన్ మరియు సరైన ఇంటర్ఫేస్లు, చిరునామాలతో సిద్ధం చేసిన గేట్వే నోడ్లు అవసరమని స్పష్టంగా చెబుతుంది. Pod సృష్టించిన తర్వాత స్టీరింగ్ ఇంకా అమలు కాని ప్రారంభ కాలాన్ని కూడా ఇది పేర్కొంటుంది, అది పాదటిప్పణి కాదు, డిజైన్ ఇన్పుట్.
ఆ ఆలస్యాన్ని మీ స్వంత వాగ్దానానికి వ్యతిరేకంగా చదవండి. వేరే మార్గంలో ఏ ట్రాఫిక్ బయటకు వెళ్లకూడదు అనేది నియమమైతే, అంతరం సమయంలో పంపే కొత్త Pod దాన్ని ఇప్పటికే ఉల్లంఘించింది, కాబట్టి ప్రారంభ క్రమానికి దాని స్వంత సమాధానం కావాలి: విధానం అమలయ్యే వరకు అప్లికేషన్ను ఆపండి, లేదా ఆ విండోను అంగీకరించి నమోదు చేయండి.
ఆరోపణను సన్నంగా ఉంచండి. ఎగ్రెస్ గేట్వే ఒక మార్గాన్ని ఎంచుకుని అనువదిస్తుంది. అది VPN ను ముగించదు, దాని వెనుక మద్దతు ఉన్న కనెక్షన్ లేకుండా క్లస్టర్ను మీ రిమోట్ నెట్వర్క్ క్లయింట్గా మార్చదు.
| Question | Per-Pod tunnel | CNI egress gateway |
|---|---|---|
| Who holds the client identity | Each workload | The gateway, shared |
| What scaling changes | Enrollment and sessions per replica | Throughput and capacity per node |
| What the remote side sees | Distinct addresses | One translated source |
| Failure scope | One Deployment | Every workload behind the gateway |
అనువాదం రిమోట్ వైపు చూసేదాన్ని నిశ్శబ్దంగా మారుస్తుంది
గేట్వే మూలాన్ని తిరిగి రాసిన తర్వాత ప్రతి Pod చిరునామాలు పోతాయి, కాబట్టి గుర్తింపు ఆధారిత అనుమతి జాబితా ఒక భాగస్వామ్య చిరునామా ఆధారిత జాబితాగా మారుతుంది. ఇది లోపం కాదు, పరిమార్పిడి: నిర్వహించడానికి తక్కువ నియమాలు, ఏదైనా తప్పుగా ప్రవర్తిస్తే మొరటు ఆరోపణ.
అప్లికేషన్ స్థాయి ప్రామాణీకరణ మరియు అభ్యర్థన లాగింగ్ నెట్వర్క్ ఇకపై నివేదించని దాన్ని మోయాలి. గేట్వే సామర్థ్యం మరియు భర్తీని భాగస్వామ్య మౌలిక సదుపాయంగా పరిగణించండి, ఎందుకంటే ఒక నోడ్ రీబూట్ ఇప్పుడు దాని వెనుక ఉన్న ప్రతి వర్క్లోడ్ను అంతరాయం కలిగిస్తుంది, తిరిగి వచ్చే మార్గాన్ని ముందుగానే తనిఖీ చేయండి: రిమోట్ చివర అనువదించిన చిరునామాను ఎలా చేరుకోవాలో తెలిసి ఉండాలి, సాధారణంగా మనిషి, మానిఫెస్ట్ కాదు, కలిగి ఉండాల్సిన మార్గం లేదా NAT ద్వారా. చిరునామా ప్రణాళిక కూడా ఇక్కడికి చెందుతుంది, ఎందుకంటే అతివ్యాప్తి చెందే క్లస్టర్ మరియు రిమోట్ పరిధులు రెండు నమూనాలను విచ్ఛిన్నం చేస్తాయి మరియు IPv6 స్వీకరించడం వైరుధ్య ప్రణాళికకు సాకు కాదు.
యాజమాన్యం ప్రకారం నిర్ణయించండి, తర్వాత వాగ్దానం చేసిన వైఫల్యాన్ని పరీక్షించండి
రిమోట్ సేవ వ్యక్తిగత వర్క్లోడ్లను ప్రామాణీకరించినప్పుడు, కొన్ని Deployment లకు మాత్రమే లింక్ అవసరమైనప్పుడు, వైఫల్యం స్థానికంగా ఉండాల్సినప్పుడు ప్రతి Pod కు సొరంగాన్ని ఎంచుకోండి. నెట్వర్క్ బృందం ఇప్పటికే మార్గాన్ని కలిగి ఉన్నప్పుడు, అనేక వర్క్లోడ్లు ఒక గమ్యస్థానాన్ని పంచుకున్నప్పుడు, స్థిరమైన మూల చిరునామాయే మొత్తం వ్యాయామం లక్ష్యమైనప్పుడు గేట్వేను ఎంచుకోండి.
ఎలాగైనా, స్థిర స్థితి కాదు, మీరు విక్రయించిన లక్షణాన్ని ధృవీకరించండి. ఒక Pod సృష్టించండి, దాన్ని వెంటనే పంపనివ్వండి, సొరంగం నుండి ఏదీ తప్పించుకోలేదు అనేది వాగ్దానమైతే మొదటి కొన్ని సెకన్లు గమనించండి. ఐదు ప్రతిరూపాలకు స్కేల్ చేయండి, వాగ్దానం ప్రతి వర్క్లోడ్కు గుర్తింపు అయితే రిమోట్ చివర నివేదించే సెషన్లను లెక్కించండి. ఈ రెండు తనిఖీలు మానిఫెస్ట్ సమీక్ష కంటే చాలా వేగంగా యంత్రాంగం పరిమితులను బయటపెడతాయి, తదుపరి సంఘటన ఏ బృందానిదో చెబుతాయి.