VPN Pod ní Kubernetes lòdì sí ẹnu-ọ̀nà àbájáde: ta ni ó ni ihò?
Pod ni ààyè orúkọ nẹ́tíwọ́kì tirẹ̀, nítorí náà yíyàn gidi ni irú ìpele tí ó ni ihò: ìdánimọ̀ fún iṣẹ́ kọ̀ọ̀kan tàbí àbájáde tí CNI ń darí pẹ̀lú orísun kan tí a pín.
O gbé Pod kan tí orúkọ rẹ̀ ń jẹ́ vpn-gateway kalẹ̀, o darí ọ̀rẹ́ ìdánwò kan sí àdírẹ́sì rẹ̀, o sì rí àwọn pákẹ́tì tí wọ́n ń pòórá. Kò sí ohun tí kò tọ́ nínú manifest, kubelet kò sì ní ẹ̀sùn kankan. Ìdí náà jẹ́ ti ìgbékalẹ̀, kì í ṣe ti ìṣètò: Kubernetes fún Pod kọ̀ọ̀kan ní ààyè orúkọ nẹ́tíwọ́kì tirẹ̀, nítorí náà orúkọ, àmì tàbí ààyè orúkọ API tí a pín kò yí ohunkóhun padà nípa ibi tí àwọn pákẹ́tì ń lọ. Nítorí náà ìpinnu bí ìrìnàjò VPN ṣe ń jáde kúrò nínú kúpọ̀ yóò bẹ̀rẹ̀ pẹ̀lú ìbéèrè nípa ẹ̀tọ́, kì í ṣe nípa àwọn àwòrán kọńtéènà.
Ọ̀nà méjì ń bo ọ̀pọ̀lọpọ̀ ìgbékalẹ̀ gidi, wọn kò sì lè rọ́pò ara wọn. Ọ̀kan ń fi ihò sínú ààyè orúkọ nẹ́tíwọ́kì iṣẹ́ náà fúnra rẹ̀. Èkejì ń béèrè lọ́wọ́ CNI pé kí ó darí ìrìnàjò tí a yàn gba ọ̀nà orílé ẹnu-ọ̀nà kan tí a yàn. Wọ́n ń kùnà ní ọ̀nà ọ̀tọ̀ọ̀tọ̀, wọ́n ń gbà ní ọ̀nà ọ̀tọ̀ọ̀tọ̀, wọ́n sì ń dáhùn fún àwọn ẹgbẹ́ ọ̀tọ̀ọ̀tọ̀, ìdí nìyí tí ìbéèrè kọńtéènà fi sábà ń dá ariyanjiyan tí kò ní parí.
Ààlà Pod ni ààyè orúkọ, kì í ṣe olùgba ilé
Ààyè orúkọ nẹ́tíwọ́kì Linux ni ó ni àwọn ìsopọ̀, àdírẹ́sì, ipa-ọ̀nà àti ìlànà odi iná tirẹ̀, Pod kọ̀ọ̀kan sì ń gbà ọ̀kan. Àwọn kọńtéènà inú Pod yẹn ń dara pọ̀ mọ́ ọn, ìdí nìyẹn tí kọńtéènà olùrànlọ́wọ́ fi lè tún àwọn ipa-ọ̀nà kọ tí ohun èlò yóò tẹ̀lé lẹ́yìn náà. Pod aládùúgbò ní ìtòlẹ́sẹẹsẹ tí ó dà bí ẹni kanna ṣùgbọ́n tí ó yàtọ̀ pátápátá. Kò sí tábìlì tí a pín tí Pod ẹnu-ọ̀nà lè jogún, kò sì sí ìfiránṣẹ́ ìrìnàjò àìgbọ́dọ̀ọ́ láti ààyè orúkọ kan sí èkejì.
Ìdí nìyẹn tí àwòṣe Pod-ẹnu-ọ̀nà fi ń ṣiṣẹ́ nígbà tí ohun kan ní òkè bá ń rán pákẹ́tì sí i ní tòótọ́: Service kan, ipa-ọ̀nà dúró ṣinṣin lórí orílé, tàbí ìlànà ìdarí nínú CNI. Àdírẹ́sì nìkan kò fa ohunkóhun mọ́ ara rẹ̀.
Ohun tí ihò fún Pod kọ̀ọ̀kan ń rà, àti ohun tí ó ń ná
Ihò tí ó ń ṣiṣẹ́ nínú ààyè orúkọ iṣẹ́ ń fún iṣẹ́ yẹn ní ìdánimọ̀ ọ̀rẹ́ tirẹ̀, èyí tí ọ̀pọ̀lọpọ̀ iṣẹ́ ìwọlé jíjìnnà ń béèrè kí wọ́n tó fọwọ́ sí tàbí ṣírò ìpàdé kan. Àyíká ìpalára pẹ̀lú ń dúró ní àdúgbò: ihò tí ó bàjẹ́ ń pa Deployment kan, kì í ṣe ọ̀nà tí a pín tí gbogbo nǹkan ń lò. Bí ó ṣe ń ṣiṣẹ́ sinmi lórí ìmúṣẹ, àti níbí ni àwọn ènìyàn ti ń ṣe àṣìlóye.
Ìṣètò tí ó kàn nílò ipò kernel lè parí nínú kọńtéènà init kí ó sì jáde. Daemon ààyè olùlò tí ó gbọdọ̀ wà láàyè fún gbogbo ìgbésí ayé Pod nílò irú kọńtéènà init tí a lè tún bẹ̀rẹ̀ tí a ṣe àfihàn gẹ́gẹ́ bí sidecar àbínibí ní Kubernetes 1.29, ìyàtọ̀ yẹn sì wá láti inú ìmúṣẹ ihò, kì í ṣe láti inú ìwòràwò. Iye owó àwòṣe yìí ni ìdàpọ̀: ẹ̀dà kọ̀ọ̀kan ń ṣe ìjẹ́rìí, ń gba àdírẹ́sì ihò tirẹ̀, ó sì ń gba ààyè ìpàdé jíjìnnà kan, nítorí náà ìṣẹ̀lẹ̀ ìgbéga aládàáṣe di ìṣẹ̀lẹ̀ agbára ní ìkẹyìn ìsopọ̀. Dídàákọ ìwé-ẹ̀rí kan sínú gbogbo ẹ̀dà kò mú iye owó yẹn kúrò, ó ń mú ọ̀nà àyẹ̀wò kúrò. Àwọn ẹ̀tọ́ pẹ̀lú yẹ fún ìgbéwò kanna, nítorí ihò tí ó fẹ́ NET_ADMIN nínú ààyè orúkọ tirẹ̀ kò ní ìdí láti jogún àṣẹ lórí gbogbo olùgba láti inú àpẹẹrẹ tí ó ní privileged: true.
Nígbà tí CNI bá ni àbájáde
Tí CNI bá ṣe àtìlẹ́yìn fún un, ẹnu-ọ̀nà àbájáde ń yan ìrìnàjò nípa iṣẹ́ àti ìwọ̀n ibi-àfọ̀mọ́, lẹ́yìn náà ó ń rán an gba àwọn orílé tí a yàn lábẹ́ àdírẹ́sì orísun kan tí a lè sọ tẹ́lẹ̀. Ẹ̀yà Cilium ni ìtọ́kasí tí ó wọ́pọ̀, ìwé rẹ̀ sì sọ kedere pé ẹ̀yà yìí nílò ìṣètò Cilium pàtó pẹ̀lú àwọn orílé ẹnu-ọ̀nà tí a pèsè pẹ̀lú àwọn ìsopọ̀ àti àdírẹ́sì tí ó tọ́. Ó tún mẹ́nu kan àkókò ìbẹ̀rẹ̀ lẹ́yìn tí a dá Pod nígbà tí a kò ì tíì fi ìdarí lélẹ̀, èyí tí ó jẹ́ ìgbéwọlé àpẹẹrẹ kì í ṣe àkọsílẹ̀ ìsàlẹ̀.
Ka ìdádúró yẹn ní ìfiwéra pẹ̀lú ìlérí rẹ fúnra rẹ. Tí ìlànà bá jẹ́ pé kò sí ìrìnàjò tí ó lè jáde gba ọ̀nà mìíràn, Pod tuntun tí ó ń rán ní àkókò àlàfo ti bà á jẹ́ tẹ́lẹ̀, nítorí náà ìtòlẹ́sẹẹsẹ ìbẹ̀rẹ̀ nílò ìdáhùn tirẹ̀: dá ohun èlò dúró títí ìlànà yóò fi wà lẹ́kọ̀ọ́, tàbí gba fèrèsé yẹn kí o sì kọ ọ́ sílẹ̀.
Jẹ́ kí ẹ̀sùn náà kúrò ní ààyè. Ẹnu-ọ̀nà àbájáde ń yan ọ̀nà kan ó sì ń túmọ̀ rẹ̀. Kò parí VPN, kò sì sọ kúpọ̀ di ọ̀rẹ́ nẹ́tíwọ́kì jíjìnnà rẹ láìsí ìsopọ̀ tí a ṣe àtìlẹ́yìn fún ní ẹ̀yìn.
| 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 |
Ìtúmọ̀ ń yí ohun tí ẹ̀gbẹ́ jíjìnnà ń rí padà ní ìdákẹ́jẹ́ẹ́
Ní kété tí ẹnu-ọ̀nà bá tún orísun kọ, àwọn àdírẹ́sì Pod kọ̀ọ̀kan ti lọ, nítorí náà àkójọ àyè gbà di àkójọ tí ó dá lórí àdírẹ́sì kan tí a pín. Ìyípadà ni, kì í ṣe àìpé: ìlànà díẹ̀ láti tọ́jú, ìsọtọ́ tí ó nípọn nígbà tí ohun kan bá hu ìwà.
Ìjẹ́rìí ní ìpele ohun èlò àti gbígbà àkọsílẹ̀ ìbéèrè gbọdọ̀ gbé ohun tí nẹ́tíwọ́kì kò tún ń ròyìn. Wo agbára ẹnu-ọ̀nà àti rírọ́pò rẹ̀ gẹ́gẹ́ bí ohun àmúṣọrọ̀ tí a pín, nítorí pé àtúnbẹ̀rẹ̀ orílé kan ń dá gbogbo iṣẹ́ tí ó wà lẹ́yìn rẹ̀ dúró, kí o sì yẹ ọ̀nà ìpadà wò ní kùtùkùtù: ẹ̀gbẹ́ jíjìnnà gbọdọ̀ mọ bí yóò ṣe dé àdírẹ́sì tí a túmọ̀, sábà gba ipa-ọ̀nà tàbí NAT tí ènìyàn, kì í ṣe manifest, gbọdọ̀ ni. Ìwéwè àdírẹ́sì pẹ̀lú wà níbí, nítorí àwọn ìwọ̀n kúpọ̀ àti jíjìnnà tí ó ń gbá ara wọn jagun ń ba àwòṣe méjèèjì jẹ́, gbígba IPv6 kò sì ṣe àwáwí fún ètò tí ó ta ko ara rẹ̀.
Pinnu nípa ẹ̀tọ́, lẹ́yìn náà dán ìkùnà tí o ṣèlérí
Yan ihò fún Pod kọ̀ọ̀kan nígbà tí iṣẹ́ jíjìnnà ń ṣe ìjẹ́rìí àwọn iṣẹ́ kọ̀ọ̀kan, nígbà tí àwọn Deployment díẹ̀ péré nílò ìsopọ̀, àti nígbà tí ìkùnà yẹ kí ó dúró ní àdúgbò. Yan ẹnu-ọ̀nà nígbà tí ẹgbẹ́ nẹ́tíwọ́kì ti ni ọ̀nà náà, nígbà tí ọ̀pọ̀lọpọ̀ iṣẹ́ ń pín ibi-àfọ̀mọ́ kan, àti nígbà tí àdírẹ́sì orísun tí ó dúró ṣinṣin jẹ́ gbogbo èròǹgbà ìdánrawò náà.
Bó ti wù kó rí, ṣe ìjẹ́rìí ànímọ́ tí o tà, kì í ṣe ipò tí ó dúró. Dá Pod kan, jẹ́ kí ó rán lẹ́sẹ̀kẹsẹ̀, kí o sì wo àwọn ààyá àkọ́kọ́ tí ìlérí bá jẹ́ pé kò sí ohun tí ó sá kúrò nínú ihò. Gbé e dé ẹ̀dà márùn-ún kí o sì ka àwọn ìpàdé tí ẹ̀gbẹ́ jíjìnnà ń ròyìn tí ìlérí bá jẹ́ ìdánimọ̀ fún iṣẹ́ kọ̀ọ̀kan. Àwọn àyẹ̀wò méjèèjì yẹn ń fi àwọn ààlà ọ̀nà hàn ní kíákíá ju àtúnyẹ̀wò manifest lọ, wọ́n sì sọ fún ọ nípa ẹgbẹ́ tí ó ni ìṣẹ̀lẹ̀ tí ó kàn.