కుబెర్నెట్స్ కోసం ఇన్‌గ్రెస్ కంట్రోలర్‌ల యొక్క అవలోకనం మరియు పోలిక

కుబెర్నెట్స్ కోసం ఇన్‌గ్రెస్ కంట్రోలర్‌ల యొక్క అవలోకనం మరియు పోలిక

ఒక నిర్దిష్ట అప్లికేషన్ కోసం Kubernetes క్లస్టర్‌ను ప్రారంభించేటప్పుడు, మీరు అప్లికేషన్, వ్యాపారం మరియు డెవలపర్‌లు ఈ వనరుకి ఏమి ఇస్తున్నారో అర్థం చేసుకోవాలి. ఈ సమాచారంతో, మీరు నిర్మాణ నిర్ణయం తీసుకోవడం ప్రారంభించవచ్చు మరియు ప్రత్యేకించి, నిర్దిష్ట ఇన్‌గ్రెస్ కంట్రోలర్‌ను ఎంచుకోవచ్చు, వీటిలో ఇప్పటికే పెద్ద సంఖ్యలో ఉన్నాయి. చాలా కథనాలు / డాక్యుమెంటేషన్ మొదలైన వాటి ద్వారా వెళ్లకుండానే అందుబాటులో ఉన్న ఎంపికల గురించి ప్రాథమిక ఆలోచనను పొందడానికి, మేము ప్రధాన (ఉత్పత్తికి సిద్ధంగా ఉన్న) ఇన్‌గ్రెస్ కంట్రోలర్‌లతో సహా ఈ అవలోకనాన్ని సిద్ధం చేసాము.

నిర్మాణ పరిష్కారాన్ని ఎంచుకోవడంలో ఇది సహోద్యోగులకు సహాయపడుతుందని మేము ఆశిస్తున్నాము - కనీసం మరింత వివరణాత్మక సమాచారం మరియు ఆచరణాత్మక ప్రయోగాలను పొందేందుకు ఇది ప్రారంభ బిందువుగా మారుతుంది. ఇంతకుముందు, మేము నెట్‌లో ఇతర సారూప్య పదార్థాలను అధ్యయనం చేసాము మరియు విచిత్రమేమిటంటే, ఎక్కువ లేదా తక్కువ పూర్తి, మరియు ముఖ్యంగా - నిర్మాణాత్మక - సమీక్ష కనుగొనబడలేదు. కాబట్టి ఆ ఖాళీని పూరించుకుందాం!

ప్రమాణం

సూత్రప్రాయంగా, పోలిక చేయడానికి మరియు ఏదైనా ఉపయోగకరమైన ఫలితాన్ని పొందడానికి, మీరు సబ్జెక్ట్ ప్రాంతాన్ని మాత్రమే అర్థం చేసుకోవాలి, కానీ పరిశోధన వెక్టర్‌ను సెట్ చేసే నిర్దిష్ట ప్రమాణాల జాబితాను కూడా కలిగి ఉండాలి. Ingress / Kubernetes ఉపయోగించి సాధ్యమయ్యే అన్ని కేసులను విశ్లేషించినట్లు నటించకుండా, మేము కంట్రోలర్‌ల కోసం అత్యంత సాధారణ అవసరాలను హైలైట్ చేయడానికి ప్రయత్నించాము - ఏ సందర్భంలోనైనా మీరు మీ ప్రత్యేకతలు మరియు వివరాలను విడిగా అధ్యయనం చేయాల్సి ఉంటుంది.

కానీ నేను చాలా సుపరిచితమైన లక్షణాలతో ప్రారంభిస్తాను, అవి అన్ని పరిష్కారాలలో అమలు చేయబడతాయి మరియు పరిగణించబడవు:

  • సేవల యొక్క డైనమిక్ ఆవిష్కరణ (సేవ ఆవిష్కరణ);
  • SSL ముగింపు;
  • వెబ్‌సాకెట్‌లతో పని చేస్తోంది.

ఇప్పుడు పోలిక పాయింట్ల కోసం:

మద్దతు ఉన్న ప్రోటోకాల్‌లు

ప్రాథమిక ఎంపిక ప్రమాణాలలో ఒకటి. మీ సాఫ్ట్‌వేర్ ప్రామాణిక HTTPలో పని చేయకపోవచ్చు లేదా దీనికి ఒకేసారి బహుళ ప్రోటోకాల్‌లపై పని చేయాల్సి రావచ్చు. మీ కేసు ప్రామాణికం కానిది అయితే, ఈ అంశాన్ని పరిగణనలోకి తీసుకోవాలని నిర్ధారించుకోండి, తద్వారా మీరు క్లస్టర్‌ని తర్వాత మళ్లీ కాన్ఫిగర్ చేయాల్సిన అవసరం లేదు. అన్ని కంట్రోలర్‌ల కోసం, మద్దతు ఉన్న ప్రోటోకాల్‌ల జాబితా మారుతూ ఉంటుంది.

కోర్ వద్ద సాఫ్ట్వేర్

కంట్రోలర్ ఆధారంగా అనేక రకాల అప్లికేషన్లు ఉన్నాయి. జనాదరణ పొందినవి nginx, traefik, haproxy, envoy. సాధారణ సందర్భంలో, ట్రాఫిక్ ఎలా స్వీకరించబడుతుందో మరియు ప్రసారం చేయబడుతుందనే దానిపై ఎక్కువ ప్రభావం చూపకపోవచ్చు, కానీ "హుడ్ కింద" ఉన్న సంభావ్య సూక్ష్మ నైపుణ్యాలు మరియు లక్షణాలను తెలుసుకోవడం ఎల్లప్పుడూ ఉపయోగకరంగా ఉంటుంది.

ట్రాఫిక్ రూటింగ్

నిర్దిష్ట సేవకు ట్రాఫిక్ దిశ గురించి నిర్ణయం తీసుకోవడం దేని ఆధారంగా సాధ్యమవుతుంది? సాధారణంగా ఇవి హోస్ట్ మరియు మార్గం, కానీ అదనపు అవకాశాలు ఉన్నాయి.

క్లస్టర్‌లో నేమ్‌స్పేస్

నేమ్‌స్పేస్ (నేమ్‌స్పేస్) - కుబెర్నెట్స్‌లో వనరులను తార్కికంగా విభజించగల సామర్థ్యం (ఉదాహరణకు, వేదికపై, ఉత్పత్తి మొదలైనవి). ప్రతి నేమ్‌స్పేస్‌లో విడిగా ఇన్‌స్టాల్ చేయబడే ఇన్‌గ్రెస్ కంట్రోలర్‌లు ఉన్నాయి (తర్వాత అది ట్రాఫిక్‌ను డైరెక్ట్ చేయగలదు మాత్రమే ఈ స్థలం యొక్క పాడ్‌లకు). మరియు మొత్తం క్లస్టర్ కోసం ప్రపంచవ్యాప్తంగా పనిచేసేవి (మరియు వారి స్పష్టమైన మెజారిటీ) ఉన్నాయి - వాటిలో ట్రాఫిక్ నేమ్‌స్పేస్‌తో సంబంధం లేకుండా క్లస్టర్‌లోని ఏదైనా పాడ్‌కి మళ్లించబడుతుంది.

అప్‌స్ట్రీమ్‌ల కోసం నమూనాలు

అప్లికేషన్, సేవల యొక్క ఆరోగ్యకరమైన సందర్భాలకు ట్రాఫిక్ ఎలా మళ్లించబడుతుంది? సక్రియ మరియు నిష్క్రియ తనిఖీలు, పునఃప్రయత్నాలు, సర్క్యూట్ బ్రేకర్లతో ఎంపికలు ఉన్నాయి (మరిన్ని వివరాల కోసం, చూడండి, ఉదాహరణకు, Istio గురించి వ్యాసం), ఆరోగ్య తనిఖీల స్వంత అమలులు (అనుకూల ఆరోగ్య తనిఖీలు) మొదలైనవి. బ్యాలెన్సింగ్ నుండి విఫలమైన సేవలను లభ్యత మరియు సకాలంలో తొలగించడం కోసం మీకు అధిక అవసరాలు ఉంటే చాలా ముఖ్యమైన పరామితి.

బ్యాలెన్సింగ్ అల్గోరిథంలు

అనేక ఎంపికలు ఉన్నాయి: సాంప్రదాయ నుండి రౌండ్ రాబిన్ అన్యదేశానికి rdp-కుకీ, అలాగే వ్యక్తిగత లక్షణాలు వంటి అంటుకునే సెషన్లు.

ప్రమాణీకరణ

కంట్రోలర్ ఏ అధికార పథకాలకు మద్దతు ఇస్తుంది? ప్రాథమిక, డైజెస్ట్, ప్రమాణం, బాహ్య-ప్రామాణీకరణ - ఈ ఎంపికలు బాగా తెలిసినవిగా ఉండాలని నేను భావిస్తున్నాను. ప్రవేశం ద్వారా యాక్సెస్ చేయబడిన అనేక డెవలపర్ (మరియు/లేదా కేవలం ప్రైవేట్) లూప్‌లు ఉన్నట్లయితే ఇది ముఖ్యమైన ప్రమాణం.

ట్రాఫిక్ పంపిణీ

కానరీ రోల్‌అవుట్‌లు (కానరీ), A / B టెస్టింగ్, ట్రాఫిక్ మిర్రరింగ్ (మిర్రరింగ్ / షాడోవింగ్) వంటి సాధారణంగా ఉపయోగించే ట్రాఫిక్ డిస్ట్రిబ్యూషన్ మెకానిజమ్‌లకు కంట్రోలర్ మద్దతు ఇస్తుందా? ఉత్పాదక పరీక్ష, ఉత్పత్తి బగ్‌లను ఆఫ్‌లైన్‌లో డీబగ్గింగ్ చేయడం (లేదా కనిష్ట నష్టంతో), ట్రాఫిక్ విశ్లేషణ మొదలైన వాటి కోసం ఖచ్చితమైన మరియు ఖచ్చితమైన ట్రాఫిక్ నిర్వహణ అవసరమయ్యే అప్లికేషన్‌లకు ఇది నిజంగా బాధాకరమైన విషయం.

చెల్లింపు చందా

అధునాతన కార్యాచరణ మరియు / లేదా సాంకేతిక మద్దతుతో కంట్రోలర్ కోసం చెల్లింపు ఎంపిక ఉందా?

గ్రాఫికల్ యూజర్ ఇంటర్‌ఫేస్ (వెబ్ UI)

కంట్రోలర్ కాన్ఫిగరేషన్‌ని నిర్వహించడానికి ఏదైనా GUI ఉందా? ప్రధానంగా "హ్యాండినెస్" మరియు / లేదా Ingress'a కాన్ఫిగరేషన్‌లో కొన్ని మార్పులు చేయాల్సిన వారికి, కానీ "రా" టెంప్లేట్‌లతో పని చేయడం అసౌకర్యంగా ఉంటుంది. డెవలపర్‌లు ప్రయాణంలో ట్రాఫిక్‌తో కొన్ని ప్రయోగాలు చేయాలనుకుంటే అది ఉపయోగకరంగా ఉంటుంది.

JWT ధ్రువీకరణ

తుది అప్లికేషన్‌కు వినియోగదారుని ప్రామాణీకరణ మరియు ధృవీకరణ కోసం JSON వెబ్ టోకెన్‌ల అంతర్నిర్మిత ధ్రువీకరణ ఉనికి.

కాన్ఫిగరేషన్ అనుకూలీకరణకు అవకాశాలు

మీ స్వంత ఆదేశాలు, ఫ్లాగ్‌లు మొదలైనవాటిని ప్రామాణిక కాన్ఫిగరేషన్ టెంప్లేట్‌లకు జోడించడానికి మిమ్మల్ని అనుమతించే మెకానిజమ్‌లను కలిగి ఉండటం అనే అర్థంలో టెంప్లేట్ ఎక్స్‌టెన్సిబిలిటీ.

ప్రాథమిక DDOS రక్షణ విధానాలు

చిరునామాలు, వైట్‌లిస్ట్‌లు, దేశాలు మొదలైన వాటి ఆధారంగా సాధారణ రేట్ పరిమితి అల్గారిథమ్‌లు లేదా మరింత సంక్లిష్టమైన ట్రాఫిక్ ఫిల్టరింగ్ ఎంపికలు.

ట్రేస్‌ని అభ్యర్థించండి

ఇన్‌గ్రెస్‌ల నుండి నిర్దిష్ట సర్వీస్‌లు/పాడ్‌లకు, అలాగే సర్వీసెస్/పాడ్‌ల మధ్య కూడా రిక్వెస్ట్‌లను పర్యవేక్షించడం, ట్రాక్ చేయడం మరియు డీబగ్ చేయగల సామర్థ్యం.

WAF

Поддержка అప్లికేషన్ ఫైర్వాల్.

కంట్రోలర్లు

నియంత్రికల జాబితా ఆధారంగా రూపొందించబడింది అధికారిక Kubernetes డాక్యుమెంటేషన్ и ఈ పట్టిక. నిర్దిష్టత లేదా తక్కువ ప్రాబల్యం (అభివృద్ధి ప్రారంభ దశ) కారణంగా మేము వాటిలో కొన్నింటిని సమీక్ష నుండి మినహాయించాము. మిగిలినవి క్రింద చర్చించబడ్డాయి. పరిష్కారాల యొక్క సాధారణ వివరణతో ప్రారంభిద్దాం మరియు సారాంశ పట్టికతో కొనసాగండి.

కుబెర్నెటెస్ నుండి ప్రవేశం

వెబ్సైట్: github.com/kubernetes/ingress-nginx
లైసెన్స్: Apache 2.0

ఇది Kubernetes కోసం అధికారిక కంట్రోలర్ మరియు సంఘం ద్వారా అభివృద్ధి చేయబడుతోంది. సహజంగానే పేరు నుండి, ఇది nginxపై ఆధారపడి ఉంటుంది మరియు అదనపు ఫీచర్లను అమలు చేయడానికి ఉపయోగించే విభిన్నమైన Lua ప్లగిన్‌ల ద్వారా పూర్తి చేయబడుతుంది. nginx యొక్క జనాదరణ మరియు నియంత్రికగా ఉపయోగించినప్పుడు దానికి కనీస మార్పులు చేయడం వలన, ఈ ఎంపిక సగటు ఇంజనీర్ (వెబ్ అనుభవంతో) కోసం కాన్ఫిగర్ చేయడానికి సులభమైన మరియు సులభమైనది కావచ్చు.

NGINX Inc ద్వారా ప్రవేశం.

వెబ్సైట్: github.com/nginxinc/kubernetes-ingress
లైసెన్స్: Apache 2.0

nginx డెవలపర్‌ల అధికారిక ఉత్పత్తి. ఆధారంగా చెల్లింపు సంస్కరణను కలిగి ఉంది NGINX ప్లస్. ప్రధాన ఆలోచన అధిక స్థాయి స్థిరత్వం, స్థిరమైన వెనుకబడిన అనుకూలత, ఏదైనా అదనపు మాడ్యూల్స్ లేకపోవడం మరియు లువా యొక్క తిరస్కరణ కారణంగా సాధించబడిన పెరిగిన వేగం (అధికారిక కంట్రోలర్‌తో పోలిస్తే).

అధికారిక కంట్రోలర్‌తో పోల్చినప్పుడు కూడా (అదే లువా మాడ్యూల్స్ లేకపోవడం వల్ల) ఉచిత సంస్కరణ గణనీయంగా తగ్గింది. అదే సమయంలో, చెల్లించిన వ్యక్తికి చాలా విస్తృతమైన అదనపు కార్యాచరణ ఉంటుంది: నిజ-సమయ కొలమానాలు, JWT ధ్రువీకరణ, క్రియాశీల ఆరోగ్య తనిఖీలు మరియు మరిన్ని. NGINX ప్రవేశం కంటే ముఖ్యమైన ప్రయోజనం TCP / UDP ట్రాఫిక్‌కు పూర్తి మద్దతు (మరియు కమ్యూనిటీ వెర్షన్‌లో కూడా!). మైనస్ - లేకపోవడం ట్రాఫిక్ డిస్ట్రిబ్యూషన్ ఫీచర్, అయితే, "డెవలపర్‌లకు అత్యధిక ప్రాధాన్యత ఉంది", కానీ అమలు చేయడానికి సమయం పడుతుంది.

కాంగ్ ప్రవేశం

వెబ్సైట్: github.com/Kong/kubernetes-ingress-controller
లైసెన్స్: Apache 2.0

Kong Inc ద్వారా ఉత్పత్తి అభివృద్ధి చేయబడింది. రెండు వెర్షన్లలో: వాణిజ్య మరియు ఉచితం. nginx ఆధారంగా, ఇది పెద్ద సంఖ్యలో Lua మాడ్యూల్‌లతో విస్తరించబడింది.

ప్రారంభంలో, ఇది API అభ్యర్థనలను ప్రాసెస్ చేయడం మరియు రూటింగ్ చేయడంపై దృష్టి పెట్టింది, అనగా. API గేట్‌వేగా, కానీ ప్రస్తుతం ఇది పూర్తి స్థాయి ఇన్‌గ్రెస్ కంట్రోలర్‌గా మారింది. ప్రధాన ప్రయోజనాలు: ఇన్‌స్టాల్ చేయడానికి మరియు కాన్ఫిగర్ చేయడానికి సులభమైన అనేక అదనపు మాడ్యూల్స్ (థర్డ్-పార్టీ డెవలపర్‌లతో సహా) మరియు వీటి సహాయంతో విస్తృత శ్రేణి అదనపు ఫీచర్లు అమలు చేయబడతాయి. అయితే, అంతర్నిర్మిత విధులు ఇప్పటికే అనేక అవకాశాలను అందిస్తున్నాయి. CRD వనరులను ఉపయోగించి ఉద్యోగ కాన్ఫిగరేషన్ జరుగుతుంది.

ఉత్పత్తి యొక్క ముఖ్యమైన లక్షణం - అదే ఆకృతిలో (క్రాస్-నేమ్‌స్పేస్‌కు బదులుగా) పని చేయడం వివాదాస్పద అంశం: కొందరికి ఇది ప్రతికూలంగా కనిపిస్తుంది (మీరు ప్రతి ఆకృతికి ఎంటిటీలను ఉత్పత్తి చేయాలి), మరియు ఎవరికైనా ఇది ఒక లక్షణం ( బిоగ్రేటర్ స్థాయి ఐసోలేషన్, వంటి ఒక నియంత్రిక విచ్ఛిన్నమైతే, సమస్య సర్క్యూట్‌కు మాత్రమే పరిమితం చేయబడింది).

ట్రాఫిక్

వెబ్సైట్: github.com/containous/traefik
లైసెన్స్: MIT

మైక్రోసర్వీస్ మరియు వాటి డైనమిక్ ఎన్విరాన్మెంట్ కోసం అభ్యర్థన రూటింగ్‌తో పని చేయడానికి మొదట సృష్టించబడిన ప్రాక్సీ. అందువల్ల, అనేక ఉపయోగకరమైన లక్షణాలు: రీబూట్ చేయకుండానే కాన్ఫిగరేషన్‌ను నవీకరించడం, పెద్ద సంఖ్యలో బ్యాలెన్సింగ్ పద్ధతులకు మద్దతు, వెబ్ ఇంటర్‌ఫేస్, మెట్రిక్స్ ఫార్వార్డింగ్, వివిధ ప్రోటోకాల్‌లకు మద్దతు, REST API, కానరీ విడుదలలు మరియు మరిన్ని. లెట్స్ ఎన్‌క్రిప్ట్ సర్టిఫికేట్‌లను బాక్స్ వెలుపలకు సపోర్ట్ చేయడం మరో మంచి ఫీచర్. ప్రతికూలత ఏమిటంటే, అధిక లభ్యతను (HA) నిర్వహించడానికి, కంట్రోలర్ దాని స్వంత KV నిల్వను ఇన్‌స్టాల్ చేసి, కనెక్ట్ చేయాలి.

HAProxy

వెబ్సైట్: github.com/jcmoraisjr/haproxy-ingress
లైసెన్స్: Apache 2.0

HAProxy చాలా కాలంగా ప్రాక్సీ మరియు ట్రాఫిక్ బ్యాలెన్సర్‌గా ప్రసిద్ధి చెందింది. కుబెర్నెటెస్ క్లస్టర్‌లో భాగంగా, ఇది “సాఫ్ట్” కాన్ఫిగరేషన్ అప్‌డేట్ (ట్రాఫిక్ కోల్పోకుండా), DNS ఆధారంగా సర్వీస్ డిస్కవరీ, APIని ఉపయోగించి డైనమిక్ కాన్ఫిగరేషన్‌ను అందిస్తుంది. CMని భర్తీ చేయడం ద్వారా కాన్ఫిగరేషన్ టెంప్లేట్‌ను పూర్తిగా అనుకూలీకరించడానికి ఇది ఆకర్షణీయంగా ఉంటుంది, అలాగే దానిలో Sprig లైబ్రరీ ఫంక్షన్‌లను ఉపయోగించగల సామర్థ్యం. సాధారణంగా, పరిష్కారం యొక్క ప్రధాన ప్రాధాన్యత అధిక వేగం, దాని ఆప్టిమైజేషన్ మరియు వినియోగించే వనరులలో సామర్థ్యం. నియంత్రిక యొక్క ప్రయోజనం వివిధ బ్యాలెన్సింగ్ పద్ధతుల రికార్డు సంఖ్యలో మద్దతు.

వాయేజర్

వెబ్సైట్: github.com/appscode/voyager
లైసెన్స్: Apache 2.0

HAproxy కంట్రోలర్ ఆధారంగా, ఇది పెద్ద సంఖ్యలో ప్రొవైడర్‌లలో విస్తృత శ్రేణి ఫీచర్‌లకు మద్దతు ఇచ్చే సార్వత్రిక పరిష్కారంగా ఉంచబడింది. L7 మరియు L4లో ట్రాఫిక్‌ను బ్యాలెన్స్ చేయడానికి అవకాశం అందించబడుతుంది మరియు TCP L4 ట్రాఫిక్‌ని మొత్తంగా బ్యాలెన్స్ చేయడం పరిష్కారం యొక్క ముఖ్య లక్షణాలలో ఒకటిగా పిలువబడుతుంది.

సమోన్నత

వెబ్సైట్: github.com/heptio/contour
లైసెన్స్: Apache 2.0

ఈ పరిష్కారం రాయబారిపై మాత్రమే ఆధారపడి లేదు: ఇది అభివృద్ధి చేయబడింది సంయుక్తంగా ఈ ప్రసిద్ధ ప్రాక్సీ రచయితలతో. IngressRoute CRD వనరులను ఉపయోగించి ఇన్‌గ్రెస్ వనరుల నియంత్రణను వేరు చేయగల సామర్థ్యం ఒక ముఖ్యమైన లక్షణం. ఒకే క్లస్టర్‌ని ఉపయోగించే అనేక డెవలప్‌మెంట్ టీమ్‌లను కలిగి ఉన్న సంస్థల కోసం, పొరుగు లూప్‌లలో ట్రాఫిక్‌తో పని చేసే భద్రతను పెంచడానికి మరియు ఇన్‌గ్రెస్ వనరులను మార్చేటప్పుడు లోపాల నుండి వారిని రక్షించడానికి ఇది సహాయపడుతుంది.

ఇది విస్తృతమైన బ్యాలెన్సింగ్ పద్ధతులను కూడా అందిస్తుంది (అభ్యర్థన మిర్రరింగ్, ఆటో-రిపీట్, అభ్యర్థన రేటు పరిమితి మరియు మరిన్ని ఉన్నాయి), ట్రాఫిక్ ప్రవాహం మరియు వైఫల్యాల యొక్క వివరణాత్మక పర్యవేక్షణ. బహుశా ఎవరికైనా ఇది స్టిక్కీ సెషన్‌లకు మద్దతు లేకపోవడం ఒక ముఖ్యమైన లోపంగా ఉంటుంది (పని అయినప్పటికీ ఇప్పటికే జరుగుతోంది).

ఇస్టియో ప్రవేశం

వెబ్సైట్: istio.io/docs/tasks/traffic-management/ingress
లైసెన్స్: Apache 2.0

ఒక సమగ్ర సేవా మెష్ సొల్యూషన్ బయటి నుండి వచ్చే ట్రాఫిక్‌ను నిర్వహించే ఇన్‌గ్రెస్ కంట్రోలర్ మాత్రమే కాదు, క్లస్టర్‌లోని మొత్తం ట్రాఫిక్‌ను కూడా నియంత్రిస్తుంది. హుడ్ కింద, ఎన్వోయ్ ప్రతి సేవకు సైడ్‌కార్ ప్రాక్సీగా ఉపయోగించబడుతుంది. సారాంశంలో, ఇది "ఏదైనా చేయగలదు" అనే పెద్ద కలయిక, మరియు దీని ప్రధాన ఆలోచన గరిష్ట నిర్వహణ, విస్తరణ, భద్రత మరియు పారదర్శకత. దానితో, మీరు ట్రాఫిక్ రూటింగ్‌ను చక్కగా ట్యూన్ చేయవచ్చు, సేవల మధ్య అధికారాన్ని యాక్సెస్ చేయవచ్చు, బ్యాలెన్సింగ్, పర్యవేక్షణ, కానరీ విడుదలలు మరియు మరిన్ని చేయవచ్చు. కథనాల శ్రేణిలో ఇస్టియో గురించి మరింత చదవండి "ఇస్టియోతో మైక్రోసర్వీసెస్‌కి తిరిగి వెళ్ళు".

రాయబారి

వెబ్సైట్: github.com/datawire/ambassador
లైసెన్స్: Apache 2.0

ఎన్వోయ్ ఆధారంగా మరొక పరిష్కారం. ఇది ఉచిత మరియు వాణిజ్య సంస్కరణలను కలిగి ఉంది. ఇది "పూర్తిగా కుబెర్నెటీస్‌కు చెందినది"గా ఉంచబడింది, ఇది సంబంధిత ప్రయోజనాలను తెస్తుంది (K8s క్లస్టర్ యొక్క పద్ధతులు మరియు ఎంటిటీలతో గట్టి ఏకీకరణ).

పోలిక పట్టిక

కాబట్టి, వ్యాసం యొక్క క్లైమాక్స్ ఈ భారీ పట్టిక:

కుబెర్నెట్స్ కోసం ఇన్‌గ్రెస్ కంట్రోలర్‌ల యొక్క అవలోకనం మరియు పోలిక

ఇది దగ్గరి వీక్షణ కోసం క్లిక్ చేయగలదు మరియు ఫార్మాట్‌లో కూడా అందుబాటులో ఉంటుంది Google షీట్లు.

సంకలనం చేద్దాం

ఈ కథనం యొక్క ఉద్దేశ్యం మీ ప్రత్యేక సందర్భంలో ఏ ఎంపిక చేయాలనే దాని గురించి మరింత పూర్తి అవగాహనను అందించడం (అయితే, సమగ్రమైనది కాదు!). ఎప్పటిలాగే, ప్రతి కంట్రోలర్‌కు దాని స్వంత ప్రయోజనాలు మరియు అప్రయోజనాలు ఉన్నాయి…

కుబెర్నెటెస్ నుండి క్లాసిక్ ఇన్‌గ్రెస్ దాని లభ్యత మరియు నిరూపణకు మంచిది, తగినంత గొప్ప లక్షణాలు - సాధారణ సందర్భంలో, ఇది “కళ్లకు సరిపోతుంది”. అయితే, స్థిరత్వం, ఫీచర్‌ల స్థాయి మరియు డెవలప్‌మెంట్ కోసం పెరిగిన అవసరాలు ఉంటే, మీరు NGINX ప్లస్ మరియు చెల్లింపు సభ్యత్వంతో ప్రవేశించడంపై శ్రద్ధ వహించాలి. కాంగ్ అత్యంత ధనిక ప్లగ్-ఇన్‌లను కలిగి ఉంది (మరియు, తదనుగుణంగా, వారు అందించే అవకాశాలు), మరియు చెల్లింపు సంస్కరణలో వాటిలో మరిన్ని ఉన్నాయి. ఇది API గేట్‌వేగా, CRD వనరుల ఆధారంగా డైనమిక్ కాన్ఫిగరేషన్‌గా, అలాగే ప్రాథమిక కుబెర్నెట్స్ సేవలగా పని చేయడానికి పుష్కలమైన అవకాశాలను కలిగి ఉంది.

బ్యాలెన్సింగ్ మరియు అధికార పద్ధతుల కోసం పెరిగిన అవసరాలతో, Traefik మరియు HAProxyని పరిశీలించండి. ఇవి ఓపెన్ సోర్స్ ప్రాజెక్ట్‌లు, సంవత్సరాలుగా నిరూపించబడ్డాయి, చాలా స్థిరంగా మరియు చురుకుగా అభివృద్ధి చెందుతున్నాయి. కాంటూర్ ఇప్పుడు కొన్ని సంవత్సరాలుగా ముగిసింది, కానీ ఇది ఇప్పటికీ చాలా యంగ్ గా కనిపిస్తోంది మరియు ఎన్వోయ్ పైన ప్రాథమిక ఫీచర్లు మాత్రమే జోడించబడ్డాయి. అప్లికేషన్ ముందు WAF ఉనికి / పొందుపరచడానికి ఆవశ్యకతలు ఉంటే, మీరు Kubernetes లేదా HAProxy నుండి అదే ప్రవేశానికి శ్రద్ధ వహించాలి.

మరియు ఫీచర్ల పరంగా అత్యంత సంపన్నమైనవి ఎన్వోయ్ పైన నిర్మించిన ఉత్పత్తులు, ముఖ్యంగా ఇస్టియో. ఇది "ఏదైనా చేయగలదు" అనే సమగ్ర పరిష్కారంగా కనిపిస్తోంది, అయితే, ఇతర పరిష్కారాల కంటే కాన్ఫిగరేషన్ / లాంచ్ / అడ్మినిస్ట్రేషన్ కోసం గణనీయంగా ఎక్కువ ప్రవేశ థ్రెషోల్డ్ అని కూడా దీని అర్థం.

మేము 80-90% అవసరాలను కవర్ చేసే ప్రామాణిక కంట్రోలర్‌గా Kubernetes నుండి ప్రవేశాన్ని ఎంచుకున్నాము మరియు ఇప్పటికీ ఉపయోగిస్తున్నాము. ఇది చాలా నమ్మదగినది, కాన్ఫిగర్ చేయడం మరియు విస్తరించడం సులభం. సాధారణంగా, నిర్దిష్ట అవసరాలు లేనప్పుడు, ఇది చాలా క్లస్టర్‌లు/అప్లికేషన్‌లకు అనుగుణంగా ఉండాలి. అదే సార్వత్రిక మరియు సాపేక్షంగా సరళమైన ఉత్పత్తులలో, Traefik మరియు HAProxyని సిఫార్సు చేయవచ్చు.

PS

మా బ్లాగులో కూడా చదవండి:

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి