Google Cloud தனது GKE சேவையில் இப்போது பொதுவாகக் கிடைக்கக்கூடிய (generally-available) இரண்டு-படி கட்டுப்பாட்டுத் தளம் (control-plane) மேம்பாடுகளை வழங்குகிறது என்று அறிவித்துள்ளது. இது வாடிக்கையாளர்களுக்கு மென்பொருள் பைனரி மேம்பாட்டையும் (software binary upgrade), தரவு-வடிவ இடமாற்றத்தையும் (data-format migration) தனித்தனியாகப் பிரிக்கவும், சிறிய பதிப்பு மாற்றங்களின் போது ரத்து செய்யும் (rollback) கால அவகாசத்தை வைத்திருக்கவும் அனுமதிக்கிறது.
GKE ஏன் பாதுகாப்பான பாதையைத் தேவைப்பட்டது
ஒரு Kubernetes கட்டுப்பாட்டுத் தளத்தை ஒரு சிறிய பதிப்பிலிருந்து அடுத்த பதிப்பிற்கு மேம்படுத்துவது எப்போதும் ஆபத்து நிறைந்தது. 1.33 இலிருந்து 1.34 க்கு மாறுவது பைனரிகளை மாற்றுவது மட்டுமல்லாமல், அடிப்படையான தரவு கட்டமைப்புகளையும் (data structures) மாற்றியமைக்கிறது. புதிய பதிப்பில் பிழை இருந்தால், கிளஸ்டரை எளிதாக பழைய நிலைக்குத் திருப்ப முடியாது; நிர்வாகிகள் பழைய தரவுத்தள ஸ்னாப்ஷாட்களை (database snapshots) மீட்டெடுக்க வேண்டும் அல்லது முழு கிளஸ்டரையும் மீண்டும் உருவாக்க வேண்டும், இது அதிக நேரத்தை எடுத்துக்கொள்ளும் மற்றும் பிழைகள் ஏற்படக்கூடிய ஒரு செயல்முறையாகும்.
இரண்டு-படி மேம்பாடு எவ்வாறு செயல்படுகிறது
புதிய முறை மேம்பாட்டை இரண்டு தனித்தனி நிலைகளாகப் பிரிக்கிறது:
- படி 1 – பைனரி மேம்பாடு (emulated mode). GKE பழைய தரவு வடிவத்தைப் பாதுகாக்கும் அதே வேளையில், கட்டுப்பாட்டுத் தள பைனரிகளை இலக்கு பதிப்பிற்கு மாற்றுகிறது. புதிய தரவு கட்டமைப்புகள் எழுதப்படாததால், இந்த நிலையின் போது கிளஸ்டர் ரத்து செய்வதற்கு (rollback) பாதுகாப்பாக இருக்கும்.
- படி 2 – இறுதி செய்தல் (Finalization). ஒரு குறிப்பிட்ட காத்திருப்பு காலத்திற்குப் பிறகு, GKE சேமிக்கப்பட்ட தரவை புதிய வடிவத்திற்கு மாற்றுகிறது. இந்த மாற்றம் முடிந்ததும், ரத்து செய்ய (rollback) வேண்டுமென்றால், இந்த இரண்டு-படி செயல்முறை தவிர்க்க நினைத்த அதே ஸ்னாப்ஷாட்-மீட்டெடுப்பு (snapshot-restore) முயற்சியை மேற்கொள்ள வேண்டியிருக்கும்.
இந்தத் தனிப்பயனாக்கம் ஒரு “soak window”-ஐ உருவாக்குகிறது, இதன் மூலம் ஆபரேட்டர்கள் மாற்ற முடியாத தரவு இடமாற்றத்திற்கு (data migration) உட்படாமல், மேம்படுத்தப்பட்ட பைனரிகளை நேரடிச் செயல்பாட்டில் (production) கவனிக்க முடியும்.
நடைமுறையில் soak window
soak காலத்தின் போது GKE முக்கிய ஆரோக்கிய அளவீடுகளை (health metrics) தானாகவே கண்காணிக்கிறது—API தாமதம் (latency), பிழை விகிதங்கள் மற்றும் pod ஆரோக்கியம். சேவை ஏதேனும் அசாதாரணங்களைக் கண்டறிந்தால், அது வெளியீட்டை (rollout) நிறுத்திவிடும், இதனால் கிளஸ்டர் பைனரி-மட்டும் உள்ள நிலையில் இருக்கும், அங்கு ரத்து செய்வது (rollback) இன்னும் சாத்தியமாகும். இந்த முறையைப் பின்பற்றும் மேம்பாடுகளுக்கு 99.999% வெற்றி விகிதத்தை Google குறிப்பிடுகிறது.
GKE-இன் auto-upgrade அம்சத்தைப் பயன்படுத்தும் கிளஸ்டர்களுக்கு, இந்தத் தளம் மனிதத் தலையீடு இன்றி முழுமையான இரண்டு-படி வரிசையை ஒருங்கிணைக்கிறது. முழுமையான கட்டுப்பாட்டை விரும்பும் பயனர்கள் Cloud CLI அல்லது Terraform மூலம் இந்தச் செயல்முறையைத் தொடங்கலாம்.
ஒரு கைமுறை (manual) இரண்டு-படி மேம்பாட்டை இயக்குதல்
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 காலத்தின் போது ஏதேனும் குறைபாடு ஏற்பட்டால், நிர்வாகி தரவு இழப்பு இன்றி ரத்து செய்யும் (rollback) கட்டளையை வழங்கி முந்தைய பதிப்பிற்குத் திரும்பலாம். கிளஸ்டர் நிலையானது என்று உறுதியானதும், complete-control-plane-upgrade கட்டளையைப் பயன்படுத்தி மேம்பாட்டை முன்கூட்டியே முடிக்கலாம்.
வரம்புகள் மற்றும் தேவைகள்
- இந்த அம்சம் பதிப்பு 1.33 அல்லது அதற்குப் பிந்தைய GKE கிளஸ்டர்களுக்குப் பொருந்தும்.
- ஒரு நேரத்தில் ஒரு சிறிய பதிப்பை மட்டுமே மேம்படுத்த முடியும்; பதிப்புகளைத் தாண்டிச் செல்வது (skipping versions) ஆதரிக்கப்படவில்லை.
- இரண்டு-படி செயல்முறை முழுவதும் Autopilot மற்றும் regional கிளஸ்டர்கள் இரண்டும் பயன்பாட்டில் இருக்கும்.
சாத்தியமான குறைபாடுகள்
பைனரி மற்றும் தரவு மேம்பாடுகளைத் தனித்தனியாகப் பிரிப்பது மேம்பாட்டு காலவரிசையில் ஒரு கூடுதல் படியைச் சேர்க்கிறது, இது விரைவான பதிப்பு மாற்றங்கள் தேவைப்படும் நிறுவனங்களுக்கு ஒட்டுமொத்த காலத்தை நீட்டிக்கலாம். soak காலம் தானியங்கி ஆரோக்கிய சோதனைகளைச் சார்ந்துள்ளது; அதிகப்படியான தனிப்பயனாக்கப்பட்ட பணிச்சுமைகளை (customized workloads) இயக்கும் குழுக்கள், விளிம்புநிலைத் தவறுகளைக் (edge-case regressions) கண்டறிய GKE-இன் கண்காணிப்புடன் தங்களின் சொந்த கண்காணிப்பு கருவிகளையும் (observability tooling) பயன்படுத்த வேண்டியிருக்கலாம்.
அடுத்து கவனிக்க வேண்டியவை
பெரிய பதிப்பு மேம்பாடுகளுக்கு (major version upgrades) இந்த இரண்டு-படி மாதிரியை நீட்டிப்பதற்கான திட்ட வரைபடத்தை (roadmap) Google இன்னும் வெளியிடவில்லை, ஏனெனில் பல சந்தர்ப்பங்களில் அவை முழு கிளஸ்டரையும் மீண்டும் உருவாக்குவதையே கோருகின்றன. நோட்-பூல் (node-pool) மேம்பாடுகள் மற்றும் soak-window சோதனைகளைத் தானியக்கமாக்கக்கூடிய மூன்றாம் தரப்பு CI/CD పైప్லைன்களுடனான ஒருங்கிணைப்பு குறித்த அறிவிப்புகளைக் கவனிப்பாளர்கள் எதிர்பார்த்து காத்திருப்பார்கள்.
முக்கியக் கருத்து: பைனரி மேம்பாடுகளைத் தரவு இடமாற்றங்களிலிருந்து பிரிப்பதன் மூலம், GKE சிறிய பதிப்பு மாற்றங்களுக்குத் தடையற்ற ரத்து செய்யும் (rollback) கால அவகாசத்தை பிளாட்ஃபார்ம் பொறியாளர்களுக்கு வழங்குகிறது, இது கிளஸ்டர் பராமரிப்பின் செயல்பாட்டுச் செலவைக் குறைப்பதோடு, செயல்பாடற்ற நேரத்தையும் (downtime) குறைந்தபட்சமாக வைக்கிறது.
