Google Cloud తన GKE సర్వీస్ ఇప్పుడు జనరల్గా అందుబాటులో ఉండే (generally-available) రెండు-దశల కంట్రోల్-ప్లేన్ అప్గ్రేడ్లను అందిస్తుందని ప్రకటించింది. ఇది కస్టమర్లకు సాఫ్ట్వేర్ బైనరీ అప్గ్రేడ్ను డేటా-ఫార్మాట్ మైగ్రేషన్ నుండి వేరు చేయడానికి మరియు మైనర్ వెర్షన్ మార్పుల సమయంలో రోల్బ్యాక్ విండోను తెరిచి ఉంచడానికి అనుమతిస్తుంది.
GKE కి సురక్షితమైన మార్గం ఎందుకు అవసరమైంది
Kubernetes కంట్రోల్ ప్లేన్ను ఒక మైనర్ వెర్షన్ నుండి తదుపరి వెర్షన్కు అప్గ్రేడ్ చేయడం ఎప్పుడూ రిస్క్తో కూడుకున్నదే. 1.33 నుండి 1.34కి మారడం అంటే కేవలం బైనరీలను మార్చడమే కాకుండా, అంతర్లీన డేటా స్ట్రక్చర్లను (data structures) కూడా తిరిగి రాయడం. ఒకవేళ కొత్త వెర్షన్లో ఏదైనా బగ్ ఉంటే, క్లస్టర్ను సులభంగా పాత స్థితికి తీసుకురావడం (revert) సాధ్యం కాదు; అడ్మినిస్ట్రేటర్లు పాత డేటాబేస్ స్నాప్షాట్లను పునరుద్ధరించాలి లేదా మొత్తం క్లస్టర్ను మళ్లీ నిర్మించాలి, ఇది సమయం తీసుకునే మరియు తప్పులు జరిగే అవకాశం ఉన్న ప్రక్రియ.
రెండు-దశల అప్గ్రేడ్ ఎలా పనిచేస్తుంది
ఈ కొత్త విధానం అప్గ్రేడ్ను రెండు విభిన్న దశలుగా విభజిస్తుంది:
- Step 1 – Binary upgrade (emulated mode). GKE పాత డేటా ఫార్మాట్ను అలాగే ఉంచుతూ, కంట్రోల్-ప్లేన్ బైనరీలను టార్గెట్ వెర్షన్కు మారుస్తుంది. కొత్త డేటా స్ట్రక్చర్లు రాయబడవు కాబట్టి, ఈ దశలో క్లస్టర్ రోల్బ్యాక్ చేయడానికి సురక్షితంగా ఉంటుంది.
- Step 2 – Finalization. కాన్ఫిగర్ చేయగల వేచి ఉండే సమయం (waiting period) తర్వాత, GKE నిల్వ చేయబడిన డేటాను కొత్త ఫార్మాట్లోకి మారుస్తుంది. ఈ కన్వర్షన్ పూర్తయిన తర్వాత, రోల్బ్యాక్ చేయాలంటే రెండు-దశల ప్రక్రియను నివారించడానికి రూపొందించిన స్నాప్షాట్-రీస్టోర్ ప్రయత్నమే చేయాల్సి ఉంటుంది.
ఈ విభజన వల్ల ఒక “soak window” ఏర్పడుతుంది, దీని ద్వారా ఆపరేటర్లు డేటా మైగ్రేషన్ను శాశ్వతంగా అమలు చేయకుండానే, అప్గ్రేడ్ చేయబడిన బైనరీలను ప్రొడక్షన్లో గమనించవచ్చు.
ప్రాక్టికల్గా soak window ఎలా పనిచేస్తుంది
Soak period సమయంలో GKE కీలకమైన హెల్త్ మెట్రిక్స్ను—API latency, error rates, మరియు pod health—ఆటోమేటిక్గా పర్యవేక్షిస్తుంది. ఒకవేళ సర్వీస్ ఏదైనా అసాధారణతలను (anomalies) గుర్తిస్తే, అది రోల్అవుట్ను నిలిపివేస్తుంది, తద్వారా క్లస్టర్ బైనరీ-ఓన్లీ (binary-only) స్థితిలో ఉంటుంది మరియు రోల్బ్యాక్ చేయడం సాధ్యమవుతుంది. ఈ విధానాన్ని అనుసరించే అప్గ్రేడ్లకు 99.999% విజయవంతమైన రేటు ఉన్నట్లు Google పేర్కొంది.
GKE యొక్క auto-upgrade ఫీచర్ను ఉపయోగించే క్లస్టర్ల కోసం, ప్లాట్ఫారమ్ ఎటువంటి మాన్యువల్ జోక్యం లేకుండా మొత్తం రెండు-దశల క్రమాన్ని నిర్వహిస్తుంది. పూర్తి నియంత్రణను కోరుకునే వినియోగదారులు Cloud CLI లేదా Terraform ద్వారా ఈ ప్రక్రియను ప్రారంభించవచ్చు.
మాన్యువల్ రెండు-దశల అప్గ్రేడ్ను రన్ చేయడం
48 గంటల సేఫ్టీ విండోతో కూడిన సాధారణ మాన్యువల్ అప్గ్రేడ్ ఇలా ఉంటుంది:
gcloud beta container clusters upgrade my-cluster \
--location=us-central1 \
--cluster-version=1.34.1-gke.1829001 \
--control-plane-soak-duration=48h \
--master
ప్రస్తుత స్థితిని తనిఖీ చేయడానికి:
gcloud container clusters describe my-cluster \
--location=us-central1 \
--format="yaml(rollbackSafeUpgradeStatus)"
Soak సమయంలో ఏదైనా లోపం (defect) కనిపిస్తే, అడ్మినిస్ట్రేటర్ డేటా నష్టం లేకుండా రోల్బ్యాక్ కమాండ్ను జారీ చేసి మునుపటి వెర్షన్కు వెళ్లవచ్చు. క్లస్టర్ స్థిరంగా ఉన్నట్లు తేలితే, complete-control-plane-upgrade కమాండ్తో అప్గ్రేడ్ను ముందుగానే పూర్తి చేయవచ్చు.
పరిమితులు మరియు అవసరాలు
- ఈ ఫీచర్ వెర్షన్ 1.33 లేదా అంతకంటే ఎక్కువ వెర్షన్ నడుపుతున్న GKE క్లస్టర్లకు వర్తిస్తుంది.
- ఒక సమయంలో ఒకే మైనర్ వెర్షన్ను అప్గ్రేడ్ చేయవచ్చు; వెర్షన్లను స్కిప్ చేయడం సపోర్ట్ చేయబడదు.
- రెండు-దశల ప్రక్రియ అంతటా Autopilot మరియు రీజినల్ క్లస్టర్లు అందుబాటులో ఉంటాయి.
సంభావ్య ప్రతికూలతలు
బైనరీ మరియు డేటా అప్గ్రేడ్లను వేరు చేయడం వల్ల అప్గ్రేడ్ టైమ్లైన్లో అదనపు దశ చేరుతుంది, ఇది వేగవంతమైన వెర్షన్ మార్పులు కావాలనుకునే సంస్థలకు మొత్తం సమయాన్ని పెంచుకోవచ్చు. Soak period అనేది ఆటోమేటెడ్ హెల్త్ చెక్లపై ఆధారపడి ఉంటుంది; అత్యంత కస్టమైజ్డ్ వర్క్లోడ్లను నడిపే టీమ్లు, ఎడ్జ్-కేస్ రిగ్రెషన్లను (edge-case regressions) గుర్తించడానికి GKE మానిటరింగ్కు అదనంగా తమ స్వంత అబ్జర్వబిలిటీ టూలింగ్ను (observability tooling) ఉపయోగించాల్సి రావచ్చు.
తదుపరి ఏం చూడాలి
మేజర్ వెర్షన్ అప్గ్రేడ్లకు కూడా ఈ రెండు-దశల మోడల్ను విస్తరించడానికి Google ఇంకా రోడ్మ్యాప్ను వెల్లడించలేదు, ఎందుకంటే చాలా సందర్భాలలో మేజర్ అప్గ్రేడ్లకు పూర్తి క్లస్టర్ రీక్రియేషన్ అవసరమవుతుంది. నోడ్-పూల్ (node-pool) అప్గ్రేడ్ల కోసం మరియు soak-window చెక్లను ఆటోమేట్ చేయగల థర్డ్-పార్టీ CI/CD పైప్లైన్లతో ఏవైనా ఇంటిగ్రేషన్ల గురించి ప్రకటనల కోసం పరిశీలకులు వేచి చూస్తున్నారు.
ముఖ్య అంశం (Takeaway): బైనరీ అప్గ్రేడ్లను డేటా మైగ్రేషన్ల నుండి వేరు చేయడం ద్వారా, GKE ప్లాట్ఫారమ్ ఇంజనీర్లకు మైనర్ వెర్షన్ మార్పుల కోసం ఒక ప్రాక్టికల్ రోల్బ్యాక్ విండోను అందిస్తుంది, తద్వారా డౌన్టైమ్ను కనిష్టంగా ఉంచుతూ క్లస్టర్ మెయింటెనెన్స్ యొక్క ఆపరేషనల్ ఖర్చును తగ్గిస్తుంది.
