ప్రోహోస్టర్ > బ్లాగ్ > పరిపాలన > వివిధ డేటా సెంటర్లలో Kubernetes క్లస్టర్లను ఎలా కనెక్ట్ చేయాలి
వివిధ డేటా సెంటర్లలో Kubernetes క్లస్టర్లను ఎలా కనెక్ట్ చేయాలి
మా Kubernetes క్విక్ స్టార్ట్ సిరీస్కి స్వాగతం. ఇది ఆన్లైన్లో మరియు మా శిక్షణలలో మేము స్వీకరించే అత్యంత ఆసక్తికరమైన ప్రశ్నలతో కూడిన సాధారణ కాలమ్. కుబెర్నెటెస్ నిపుణుడు సమాధానాలు.
నేటి నిపుణుడు డేనియల్ పోలెన్చిక్ (డేనియల్ పోలెన్సిక్) డేనియల్ బోధకుడు మరియు సాఫ్ట్వేర్ డెవలపర్గా పనిచేస్తున్నారు లెర్క్8లు.
చాలా తరచుగా, అవస్థాపన వివిధ ప్రాంతాలలో ప్రత్యేకించి నియంత్రిత వాతావరణాలలో ప్రతిరూపం మరియు పంపిణీ చేయబడుతుంది.
ఒక ప్రాంతం అందుబాటులో లేకుంటే, అంతరాయాలను నివారించడానికి ట్రాఫిక్ మరొక ప్రాంతానికి దారి మళ్లించబడుతుంది.
కుబెర్నెట్స్తో, మీరు ఒకే విధమైన వ్యూహాన్ని ఉపయోగించవచ్చు మరియు వివిధ ప్రాంతాలలో పనిభారాన్ని పంపిణీ చేయవచ్చు.
మీరు ఒక్కో బృందం, ప్రాంతం, పర్యావరణం లేదా ఈ అంశాల కలయికకు ఒకటి లేదా అంతకంటే ఎక్కువ క్లస్టర్లను కలిగి ఉండవచ్చు.
మీ క్లస్టర్లను వేర్వేరు క్లౌడ్లలో మరియు ఆన్-ప్రిమిసెస్లో హోస్ట్ చేయవచ్చు.
అయితే అటువంటి భౌగోళిక విస్తరణ కోసం మీరు మౌలిక సదుపాయాలను ఎలా ప్లాన్ చేస్తారు?
మీరు ఒకే నెట్వర్క్లో అనేక క్లౌడ్ పరిసరాల కోసం ఒక పెద్ద క్లస్టర్ని సృష్టించాలా?
లేదా అనేక చిన్న సమూహాలను కలిగి ఉన్నారా మరియు వాటిని నియంత్రించడానికి మరియు సమకాలీకరించడానికి ఒక మార్గాన్ని కనుగొనాలా?
ఒక నాయకత్వ క్లస్టర్
ఒకే నెట్వర్క్లో ఒక క్లస్టర్ని సృష్టించడం అంత సులభం కాదు.
మీకు ప్రమాదం జరిగిందని ఊహించుకోండి, క్లస్టర్ విభాగాల మధ్య కనెక్టివిటీ పోతుంది.
మీకు ఒక మాస్టర్ సర్వర్ ఉన్నట్లయితే, సగం వనరులు కొత్త ఆదేశాలను స్వీకరించలేవు ఎందుకంటే వారు మాస్టర్ను సంప్రదించలేరు.
మరియు అదే సమయంలో మీకు పాత రూటింగ్ పట్టికలు ఉన్నాయి (kube-proxy కొత్త వాటిని డౌన్లోడ్ చేయడం సాధ్యం కాదు) మరియు అదనపు పాడ్లు లేవు (కుబెలెట్ అప్డేట్లను అభ్యర్థించదు).
విషయాలను మరింత దిగజార్చడానికి, కుబెర్నెటెస్కు నోడ్ కనిపించకపోతే, అది అనాథగా గుర్తించి, తప్పిపోయిన పాడ్లను ఇప్పటికే ఉన్న నోడ్లకు పంపిణీ చేస్తుంది.
ఫలితంగా, మీరు రెండు రెట్లు ఎక్కువ పాడ్లను కలిగి ఉంటారు.
మీరు ప్రతి ప్రాంతానికి ఒక మాస్టర్ సర్వర్ని చేస్తే, etcd డేటాబేస్లో ఏకాభిప్రాయ అల్గారిథమ్తో సమస్యలు ఉంటాయి. (సుమారు ed. — నిజానికి, etcd డేటాబేస్ తప్పనిసరిగా మాస్టర్ సర్వర్లలో ఉండవలసిన అవసరం లేదు. ఇది అదే ప్రాంతంలోని ప్రత్యేక సర్వర్ల సమూహంలో అమలు చేయబడుతుంది. నిజమే, అదే సమయంలో క్లస్టర్ యొక్క వైఫల్యం యొక్క పాయింట్ పొందడం. కానీ త్వరగా.)
etcd ఉపయోగాలు తెప్ప అల్గోరిథండిస్క్కి వ్రాసే ముందు విలువను చర్చించడానికి.
అంటే, రాష్ట్రాన్ని etcdకి వ్రాయడానికి ముందు చాలా సందర్భాలు ఏకాభిప్రాయానికి రావాలి.
వివిధ ప్రాంతాలలో మూడు etcd ఉదంతాల మాదిరిగానే etcd ఉదంతాల మధ్య జాప్యం నాటకీయంగా పెరిగితే, విలువను చర్చించి డిస్క్కి వ్రాయడానికి చాలా సమయం పడుతుంది.
ఇది Kubernetes కంట్రోలర్లలో ప్రతిబింబిస్తుంది.
కంట్రోలర్ మేనేజర్ మార్పు గురించి తెలుసుకోవడానికి మరియు డేటాబేస్కు ప్రతిస్పందనను వ్రాయడానికి మరింత సమయం కావాలి.
మరియు ఒక నియంత్రిక లేనందున, అనేకం, గొలుసు ప్రతిచర్య ఫలితాలు మరియు మొత్తం క్లస్టర్ చాలా నెమ్మదిగా పని చేయడం ప్రారంభిస్తుంది.
ఒకే క్లస్టర్ కోసం పెద్ద నెట్వర్క్కు ప్రస్తుతం మంచి ఉదాహరణలు లేవు.
ప్రాథమికంగా, డెవలపర్ కమ్యూనిటీ మరియు SIG-క్లస్టర్ గ్రూప్ కుబెర్నెట్స్ కంటైనర్లను ఆర్కెస్ట్రేట్ చేసే విధంగా క్లస్టర్లను ఎలా ఆర్కెస్ట్రేట్ చేయాలో గుర్తించడానికి ప్రయత్నిస్తున్నాయి.
మొదటిసారిగా, మేము kube ఫెడరేషన్ సాధనాన్ని ఉపయోగించి క్లస్టర్ల సేకరణను ఒకే వస్తువుగా నిర్వహించడానికి ప్రయత్నించాము.
ప్రారంభం బాగానే ఉంది, కానీ చివరికి కుబే ఫెడరేషన్ అన్ని వనరులకు మద్దతివ్వనందున ఎప్పుడూ ప్రజాదరణ పొందలేదు.
ఇది ఫెడరేటెడ్ డెలివరీలు మరియు సేవలకు మద్దతు ఇచ్చింది, ఉదాహరణకు స్టేట్ఫుల్సెట్లకు కాదు.
అలాగే, ఫెడరేషన్ కాన్ఫిగరేషన్ ఉల్లేఖనాల రూపంలో ప్రసారం చేయబడింది మరియు అనువైనది కాదు.
కేవలం ఉల్లేఖనాలను ఉపయోగించి ఫెడరేషన్లోని ప్రతి క్లస్టర్కు ప్రతిరూప విభజనను మీరు ఎలా వివరించగలరో ఊహించండి.
ఇది పూర్తిగా గందరగోళంగా ఉంది.
SIG-cluster kubefed v1 తర్వాత చాలా పని చేసింది మరియు సమస్యను వేరే కోణం నుండి సంప్రదించాలని నిర్ణయించుకుంది.
ఉల్లేఖనాలకు బదులుగా, వారు క్లస్టర్లలో ఇన్స్టాల్ చేయబడిన కంట్రోలర్ను విడుదల చేయాలని నిర్ణయించుకున్నారు. ఇది కస్టమ్ రిసోర్స్ డెఫినిషన్స్ (CRDలు) ఉపయోగించి అనుకూలీకరించవచ్చు.
సమాఖ్యలో భాగమైన ప్రతి వనరు కోసం, మీరు మూడు విభాగాలతో అనుకూల CRD నిర్వచనాన్ని కలిగి ఉంటారు:
వనరు యొక్క ప్రామాణిక నిర్వచనం, ఉదాహరణకు విస్తరణ;
అధ్యాయం placement, ఫెడరేషన్లో వనరు ఎలా పంపిణీ చేయబడుతుందో మీరు ఎక్కడ నిర్వచిస్తారు;
అధ్యాయం override, ఒక నిర్దిష్ట వనరు కోసం మీరు ప్లేస్మెంట్ నుండి బరువు మరియు పారామితులను భర్తీ చేయవచ్చు.
ప్లేస్మెంట్ మరియు ఓవర్రైడ్ విభాగాలతో కలిపి డెలివరీకి ఇక్కడ ఒక ఉదాహరణ ఉంది.
Booking.com డెవలపర్లు kubefed v2లో పని చేయలేదు, కానీ వారు షిప్పర్తో ముందుకు వచ్చారు - అనేక క్లస్టర్లలో, అనేక ప్రాంతాలలో మరియు అనేక క్లౌడ్లలో డెలివరీ చేయడానికి ఆపరేటర్.
రెండు సాధనాలు మీ బహుళ-క్లస్టర్ విస్తరణ వ్యూహాన్ని అనుకూలీకరించడానికి మిమ్మల్ని అనుమతిస్తాయి (ఏ క్లస్టర్లు ఉపయోగించబడతాయి మరియు వాటికి ఎన్ని ప్రతిరూపాలు ఉన్నాయి).
కానీ డెలివరీ సమయంలో లోపాల ప్రమాదాన్ని తగ్గించడం షిప్పర్ యొక్క లక్ష్యం.
షిప్పర్లో, మీరు మునుపటి మరియు ప్రస్తుత విస్తరణ మరియు ఇన్కమింగ్ ట్రాఫిక్ పరిమాణం మధ్య ప్రతిరూపాల విభజనను వివరించే దశల శ్రేణిని నిర్వచించవచ్చు.
మీరు రిసోర్స్ను క్లస్టర్కి నెట్టినప్పుడు, షిప్పర్ కంట్రోలర్ ఆ మార్పుని చేరిన అన్ని క్లస్టర్లలో క్రమంగా విడుదల చేస్తుంది.
అలాగే, షిప్పర్ చాలా పరిమితం.
ఉదాహరణకు, ఇది హెల్మ్ చార్ట్లను ఇన్పుట్గా అంగీకరిస్తుంది మరియు వనిల్లా వనరులకు మద్దతు ఇవ్వదు.
సాధారణ పరంగా, షిప్పర్ ఈ విధంగా పనిచేస్తుంది.
ప్రామాణిక డెలివరీకి బదులుగా, మీరు హెల్మ్ చార్ట్ను కలిగి ఉన్న అప్లికేషన్ వనరును సృష్టించాలి:
కానీ క్లస్టర్తో పరస్పర చర్య చేయడానికి మరియు కస్టమ్ డెఫినిషన్లలో వనరులను చుట్టడానికి కొత్త మార్గంతో ముందుకు రావడానికి బదులుగా, బహుళ-క్లస్టర్-షెడ్యూలర్ ప్రామాణిక కుబెర్నెట్స్ జీవితచక్రంలో పొందుపరచబడింది మరియు పాడ్లను సృష్టించే అన్ని కాల్లను అడ్డగిస్తుంది.
ప్రతి సృష్టించిన పాడ్ వెంటనే డమ్మీతో భర్తీ చేయబడుతుంది.
ఒరిజినల్ పాడ్ మరొక ప్లానింగ్ సైకిల్ ద్వారా వెళుతుంది, మొత్తం ఫెడరేషన్ను పోలింగ్ చేసిన తర్వాత, ప్లేస్మెంట్ నిర్ణయం తీసుకోబడుతుంది.
చివరగా, పాడ్ టార్గెట్ క్లస్టర్కి పంపిణీ చేయబడుతుంది.
ఫలితంగా, మీకు అదనపు పాడ్ ఉంది, అది ఏమీ చేయదు, కేవలం స్థలాన్ని తీసుకుంటుంది.
ప్రయోజనం ఏమిటంటే, మీరు సరఫరాలను కలపడానికి కొత్త వనరులను వ్రాయవలసిన అవసరం లేదు.
పాడ్ను సృష్టించే ప్రతి వనరు స్వయంచాలకంగా విలీనం చేయడానికి సిద్ధంగా ఉంటుంది.
ఇది ఆసక్తికరంగా ఉంది, ఎందుకంటే మీరు అకస్మాత్తుగా అనేక ప్రాంతాలలో సరఫరా చేయబడి ఉన్నారు మరియు మీరు గమనించలేదు. అయితే, ఇది చాలా ప్రమాదకరం, ఎందుకంటే ఇక్కడ ప్రతిదీ మాయాజాలంపై ఆధారపడి ఉంటుంది.
షిప్పర్ డెలివరీల ప్రభావాన్ని తగ్గించడానికి ప్రయత్నిస్తున్నప్పుడు, బహుళ-క్లస్టర్-షెడ్యూలర్ మరింత సాధారణ పనులను నిర్వహిస్తుంది మరియు బ్యాచ్ ఉద్యోగాలకు బాగా సరిపోతుంది.
దీనికి అధునాతన క్రమమైన డెలివరీ మెకానిజం లేదు.
బహుళ-క్లస్టర్-షెడ్యూలర్ గురించి మరింత ఇక్కడ చూడవచ్చు అధికారిక రిపోజిటరీ పేజీ.
మీరు చర్యలో బహుళ-క్లస్టర్-షెడ్యూలర్ గురించి చదవాలనుకుంటే, అడ్మిరల్టీ ఉంది ఆర్గోతో ఆసక్తికరమైన ఉపయోగం - వర్క్ఫ్లోలు, ఈవెంట్లు, CI మరియు CD Kubernetes.
ఇతర సాధనాలు మరియు పరిష్కారాలు
బహుళ క్లస్టర్లను కనెక్ట్ చేయడం మరియు నిర్వహించడం సంక్లిష్టమైన పని మరియు సార్వత్రిక పరిష్కారం లేదు.
మీరు ఈ అంశాన్ని మరింత అన్వేషించాలనుకుంటే, ఇక్కడ కొన్ని వనరులు ఉన్నాయి:
Cilium, ఒక కంటైనర్ నెట్వర్క్ ఇంటర్ఫేస్ ప్లగ్ఇన్, ఆఫర్లు క్లస్టర్ మెష్ ఫంక్షన్, ఇది అనేక సమూహాలను కలపడానికి మిమ్మల్ని అనుమతిస్తుంది
నేటికీ అంతే
చివరి వరకు చదివినందుకు ధన్యవాదాలు!
బహుళ క్లస్టర్లను మరింత సమర్థవంతంగా ఎలా కనెక్ట్ చేయాలో మీకు తెలిస్తే, మాకు చెప్పండి.
మేము మీ పద్ధతిని లింక్లకు జోడిస్తాము.
క్రిస్ నెస్బిట్-స్మిత్కు ప్రత్యేక ధన్యవాదాలు (క్రిస్ నెస్బిట్-స్మిత్) మరియు విన్సెంట్ డి స్మే (విన్సెంట్ డి స్మెట్) (విశ్వసనీయత ఇంజనీర్ swatmobile.io) కథనాన్ని చదవడం మరియు ఫెడరేషన్ ఎలా పని చేస్తుందనే దాని గురించి ఉపయోగకరమైన సమాచారాన్ని పంచుకోవడం కోసం.