புரோஹோஸ்டர் > Блог > நிர்வாகம் > DBaaS ஐ மாற்றக்கூடிய Kubernetes ஐப் பயன்படுத்தி ஒரு கலப்பின மேகத்தை எவ்வாறு உருவாக்குவது
DBaaS ஐ மாற்றக்கூடிய Kubernetes ஐப் பயன்படுத்தி ஒரு கலப்பின மேகத்தை எவ்வாறு உருவாக்குவது
என் பெயர் Petr Zaitsev, நான் CEO, நிறுவனர் பெர்கோனா மற்றும் நான் உங்களுக்கு சொல்ல விரும்புகிறேன்:
ஒரு சேவையாக தரவுத்தளத்திற்கு திறந்த மூல தீர்வுகளிலிருந்து நாங்கள் எவ்வாறு வந்தோம்;
மேகக்கணியில் தரவுத்தளங்களைப் பயன்படுத்துவதற்கு என்ன அணுகுமுறைகள் உள்ளன;
குபெர்னெட்ஸ் எப்படி DBaaS ஐ மாற்ற முடியும், விற்பனையாளர் சார்புநிலையை நீக்குகிறது மற்றும் DBMS இன் எளிமையை ஒரு சேவையாக பராமரிக்கிறது.
Mail.ru Cloud Solutions & Tarantool இன் @Databases Meetup இல் ஒரு அறிக்கையின் அடிப்படையில் கட்டுரை தயாரிக்கப்பட்டது. நீங்கள் படிக்க விரும்பவில்லை என்றால், நீங்கள் பார்க்கலாம்:
மேகக்கணியில் சேவையாக ஓப்பன் சோர்ஸில் இருந்து டேட்டாபேஸுக்கு எப்படி வந்தோம்
நான் 90களின் பிற்பகுதியிலிருந்து ஓப்பன் சோர்ஸில் வேலை செய்து வருகிறேன். இருபது ஆண்டுகளுக்கு முன்பு, தரவுத்தளங்கள் போன்ற திறந்த மூலத்தைப் பயன்படுத்துவது அவ்வளவு எளிதானது அல்ல. மூலக் குறியீட்டைப் பதிவிறக்கம் செய்து, பேட்ச் செய்து, தொகுத்து, பின்னர் மட்டுமே அதைப் பயன்படுத்த வேண்டியிருந்தது.
ஓப்பன் சோர்ஸ் பின்னர் பல எளிமைப்படுத்தல்களுக்குச் சென்றது:
Tar.gz மற்றும் தொகுக்க வேண்டிய ஆதாரங்களை நிறுவவும்;
.deb மற்றும் .rpm போன்ற சார்புகளுடன் கூடிய தொகுப்புகள், நீங்கள் தொகுப்புகளின் தொகுப்பை மட்டுமே நிறுவ வேண்டும்;
APT மற்றும் YUM போன்ற தொகுப்பு களஞ்சியங்கள், இதில் தானாக நிறுவப்படும்;
டோக்கர் மற்றும் ஸ்னாப் போன்ற தீர்வுகள், வெளிப்புற சார்புகள் இல்லாமல் நிறுவல் மூலம் தொகுப்புகளைப் பெற உங்களை அனுமதிக்கிறது.
இதன் விளைவாக, திறந்த மூல மென்பொருளைப் பயன்படுத்துவது எளிதாகிறது மற்றும் அத்தகைய பயன்பாடுகளை உருவாக்குவதற்கான நுழைவுத் தடையையும் குறைக்கிறது.
அதே நேரத்தில், 20 ஆண்டுகளுக்கு முன்பு இருந்த சூழ்நிலையைப் போலல்லாமல், எல்லோரும் சட்டசபை நிபுணராக இருந்தபோது, இப்போது பெரும்பாலான டெவலப்பர்கள் மூலத்திலிருந்து அவர்கள் பயன்படுத்தும் கருவிகளை உருவாக்க முடியாது.
உண்மையில், இது மோசமானதல்ல, ஏனெனில்:
நாம் மிகவும் சிக்கலான ஆனால் பயனர் நட்பு மென்பொருளைப் பயன்படுத்தலாம். எடுத்துக்காட்டாக, உலாவி பயன்படுத்த வசதியானது, ஆனால் இது பல திறந்த மூல கூறுகளை உள்ளடக்கியது மற்றும் புதிதாக உருவாக்க சிரமமாக உள்ளது.
அதிகமான மக்கள் ஓப்பன் சோர்ஸ் மற்றும் இதர மென்பொருளின் டெவலப்பர்களாக மாறலாம், அதிகமான மென்பொருட்கள் வணிகங்களால் பயன்படுத்தப்படுகின்றன, மேலும் அதற்கான தேவையும் அதிகமாக உள்ளது.
எதிர்மறையானது, எளிமைப்படுத்தலின் அடுத்த படியானது கிளவுட் தீர்வுகளின் பயன்பாட்டுடன் தொடர்புடையது, மேலும் இது ஒரு குறிப்பிட்ட விற்பனையாளர் பூட்டு-இன், அதாவது ஒரு சப்ளையருடன் பிணைப்புக்கு வழிவகுக்கிறது. நாங்கள் எளிய தீர்வுகளைப் பயன்படுத்துகிறோம் மற்றும் வழங்குநர்கள் திறந்த மூலக் கூறுகளைப் பயன்படுத்துகின்றனர், ஆனால் உண்மையில் அவை பெரிய மேகங்களில் ஒன்றிற்கு ஆணியடிக்கப்படுகின்றன. அதாவது, தனியுரிம API ஐப் பயன்படுத்தி, திறந்த மூலத்தை (மற்றும் அதனுடன் இணக்கமான மென்பொருள்) பயன்படுத்த எளிதான மற்றும் வேகமான வழி.
வழக்கமான தரவு மையத்தில் இருப்பது போல, தரவுத்தள உள்கட்டமைப்பை அசெம்பிள் செய்யவும். அதாவது, நிலையான கட்டுமானத் தொகுதிகளை எடுத்துக் கொள்ளுங்கள்: கணக்கீடு, சேமிப்பு மற்றும் பல, லினக்ஸ் மற்றும் தரவுத்தளத்தை நிறுவி, அவற்றை உள்ளமைக்கவும்.
தரவுத்தளத்தை ஒரு சேவையாகப் பயன்படுத்தவும், அங்கு வழங்குநர் மேகக்கணிக்குள் ஆயத்த தரவுத்தளத்தை வழங்குகிறார்.
DBaaS தற்போது வேகமாக வளர்ந்து வரும் சந்தையாகும், ஏனெனில் இது டெவலப்பர்களை நேரடியாக தரவுத்தளங்களுடன் வேலை செய்ய அனுமதிக்கிறது மற்றும் வழக்கமான வேலைகளை குறைக்கிறது. வழங்குநர் அதிக கிடைக்கும் தன்மை மற்றும் எளிதாக அளவிடுதல், தரவுத்தள இணைப்பு, காப்புப்பிரதிகள் மற்றும் செயல்திறன் ட்யூனிங் ஆகியவற்றை உறுதிசெய்கிறார்.
இரண்டு வகையான தரவுத்தளமானது திறந்த மூலத்தை அடிப்படையாகக் கொண்ட ஒரு சேவையாகவும் குபெர்னெட்டஸ் வடிவத்தில் மாற்றாகவும் உள்ளது
திறந்த தரவுத்தளங்களுக்கான சேவையாக இரண்டு வகையான தரவுத்தளங்கள் உள்ளன:
எளிதான வரிசைப்படுத்தல் மற்றும் நிர்வாகத்திற்காக நிர்வாக பின்தளத்தில் தொகுக்கப்பட்ட ஒரு நிலையான திறந்த மூல தயாரிப்பு.
பல்வேறு துணை நிரல்களுடன் கூடிய மேம்பட்ட வணிக தீர்வு, திறந்த மூலத்துடன் இணக்கமானது.
இரண்டு விருப்பங்களும் மேகங்களுக்கு இடையில் இடம்பெயர்வதற்கான வாய்ப்பைக் குறைக்கின்றன மற்றும் தரவு மற்றும் பயன்பாடுகளின் பெயர்வுத்திறனைக் குறைக்கின்றன. எடுத்துக்காட்டாக, வெவ்வேறு வகையான மேகங்கள் அடிப்படையில் ஒரே நிலையான MySQL ஐ ஆதரிக்கும் போதிலும், அவற்றுக்கிடையே குறிப்பிடத்தக்க வேறுபாடுகள் உள்ளன: செயல்பாட்டில், செயல்திறன், காப்புப்பிரதி மற்றும் பல. ஒரு மேகத்திலிருந்து மற்றொரு மேகத்திற்கு இடம்பெயர்வது சவாலானதாக இருக்கலாம், குறிப்பாக சிக்கலான பயன்பாடுகளுக்கு.
இங்கே கேள்வி எழுகிறது - தரவுத்தளத்தின் வசதியை ஒரு சேவையாகப் பெற முடியுமா, ஆனால் ஒரு எளிய திறந்த மூல தீர்வாக?
மோசமான செய்தி என்னவென்றால், துரதிர்ஷ்டவசமாக, சந்தையில் இன்னும் அத்தகைய தீர்வுகள் இல்லை. நல்ல செய்தி என்னவென்றால், அத்தகைய தீர்வுகளைச் செயல்படுத்த உங்களை அனுமதிக்கும் குபெர்னெட்ஸ் உள்ளது.
குபெர்னெட்ஸ் என்பது கிளவுட் அல்லது டேட்டா சென்டருக்கான ஒரு இயக்க முறைமையாகும், இது ஒரே ஹோஸ்டில் இல்லாமல் ஒரு கிளஸ்டரில் பல சேவையகங்களில் பயன்பாட்டை வரிசைப்படுத்தவும் நிர்வகிக்கவும் உங்களை அனுமதிக்கிறது.
இப்போது குபெர்னெட்டஸ் அத்தகைய மென்பொருள் வகைகளில் முன்னணியில் உள்ளார். இத்தகைய பிரச்சனைகளுக்கு பல்வேறு தீர்வுகள் இருந்தன, ஆனால் அதுவே தரநிலையாக மாறியது. மாற்று தீர்வுகளில் கவனம் செலுத்தி வந்த பல நிறுவனங்கள் இப்போது குபெர்னெட்டஸை ஆதரிக்கும் வகையில் தங்கள் தயாரிப்புகளை மாற்றியமைப்பதில் கவனம் செலுத்துகின்றன.
கூடுதலாக, Kubernetes என்பது பல விற்பனையாளர்களின் தனிப்பட்ட, பொது மற்றும் கலப்பின மேகங்களில் ஆதரிக்கப்படும் உலகளாவிய தீர்வாகும், எடுத்துக்காட்டாக: AWS, Google Cloud, Microsoft Azure, Mail.ru கிளவுட் தீர்வுகள்.
தரவுத்தளங்களுடன் குபெர்னெட்ஸ் எவ்வாறு செயல்படுகிறது
குபெர்னெட்ஸ் முதலில் தரவைச் செயலாக்கும் நிலையற்ற பயன்பாடுகளுக்காக வடிவமைக்கப்பட்டது, ஆனால் மைக்ரோ சர்வீஸ்கள் அல்லது வலை பயன்பாடுகள் போன்ற எதையும் சேமிக்காது. தரவுத்தளங்கள் ஸ்பெக்ட்ரமின் மறுமுனையில் உள்ளன, அதாவது அவை நிலையான பயன்பாடுகள். குபெர்னெட்டஸ் முதலில் அத்தகைய பயன்பாடுகளுக்காக அல்ல.
இருப்பினும், சமீபத்தில் Kubernetes இல் தோன்றிய அம்சங்கள் உள்ளன, அவை தரவுத்தளங்கள் மற்றும் பிற நிலையான பயன்பாடுகளைப் பயன்படுத்த அனுமதிக்கின்றன:
ஸ்டேட்ஃபுல்செட் கான்செப்ட் என்பது காய்களின் வேலையை நிறுத்துதல் மற்றும் க்ரேஸ்ஃபுல் ஷட் டவுனை (பயன்பாட்டின் கணிக்கக்கூடிய பணிநிறுத்தம்) செயல்படுத்துவது பற்றிய நிகழ்வுகளைச் செயலாக்குவதற்கான முழுத் தொடர் ஆதிகாலம் ஆகும்.
நிலையான தொகுதிகள் என்பது காய்கள், குபெர்னெட்ஸ் மேலாண்மை பொருள்களுடன் தொடர்புடைய தரவுக் கடைகள்.
ஆபரேட்டர் ஃபிரேம்வொர்க் - அதாவது, தரவுத்தளங்கள் மற்றும் பல முனைகளில் விநியோகிக்கப்படும் பிற மாநில பயன்பாடுகளை நிர்வகிப்பதற்கான கூறுகளை உருவாக்கும் திறன்.
ஏற்கனவே பொது மேகங்களில் ஒரு சேவையாக பெரிய தரவுத்தளங்கள் உள்ளன, அதன் பின்தளம் குபெர்னெட்டஸ் ஆகும், எடுத்துக்காட்டாக: காக்ரோச் கிளவுட், இன்ஃப்ளக்ஸ்டிபி, பிளானட்ஸ்கேல். அதாவது, குபெர்னெட்டஸ் பற்றிய தரவுத்தளம் என்பது கோட்பாட்டளவில் சாத்தியமானது மட்டுமல்ல, நடைமுறையில் செயல்படும் ஒன்று.
குபெர்னெட்டஸுக்கு பெர்கோனா இரண்டு திறந்த மூல தீர்வுகளைக் கொண்டுள்ளது:
XtraDB CLUSTER க்கான Kubernetes ஆபரேட்டர் என்பது MySQL உடன் இணக்கமானது மற்றும் அதிக கிடைக்கும் தன்மை மற்றும் நிலைத்தன்மையை வழங்கும் ஒரு சேவையாகும். dev தரவுத்தளத்திற்கு எடுத்துக்காட்டாக, அதிக கிடைக்கும் தன்மை தேவையில்லை என்றால் நீங்கள் ஒரு ஒற்றை முனையையும் பயன்படுத்தலாம்.
Kubernetes பயனர்களை இரண்டு குழுக்களாகப் பிரிக்கலாம். சிலர் நேரடியாக Kubernetes ஆபரேட்டர்களைப் பயன்படுத்துகின்றனர் - இவர்கள் முக்கியமாக மேம்பட்ட பயனர்கள், அவர்கள் தொழில்நுட்பம் எவ்வாறு செயல்படுகிறது என்பதைப் பற்றி நன்கு புரிந்துகொள்கிறார்கள். மற்றவர்கள் அதை பின்தளத்தில் இயக்குகிறார்கள் - அத்தகைய பயனர்கள் டேட்டாபேஸ் போன்ற சேவைகளில் ஆர்வமாக உள்ளனர், அவர்கள் குபெர்னெட்டஸின் நுணுக்கங்களை ஆராய விரும்பவில்லை. இரண்டாவது குழு பயனர்களுக்கு, எங்களிடம் மற்றொரு திறந்த மூல தீர்வு உள்ளது - Percona DBaaS CLI கருவி. தொழில்நுட்பத்தைப் பற்றிய ஆழமான புரிதல் இல்லாமல் Kubernetes அடிப்படையிலான திறந்த மூல DBaaS ஐப் பெற விரும்புவோருக்கு இது ஒரு சோதனைத் தீர்வாகும்.
Google Kubernetes இன்ஜினில் Percona இன் DBaaSஐ எவ்வாறு இயக்குவது
Google Kubernetes இன்ஜின், என் கருத்துப்படி, Kubernetes தொழில்நுட்பத்தின் மிகவும் செயல்பாட்டு செயலாக்கங்களில் ஒன்றாகும். இது உலகின் பல பகுதிகளில் கிடைக்கிறது மற்றும் எளிய மற்றும் வசதியான கட்டளை வரி கருவி (SDK) உள்ளது, இது தளத்தை கைமுறையாக நிர்வகிப்பதற்கு பதிலாக ஸ்கிரிப்ட்களை உருவாக்க உங்களை அனுமதிக்கிறது.
எங்கள் DBaaS வேலை செய்ய, எங்களுக்கு பின்வரும் கூறுகள் தேவை:
குபெக்ட்ல்.
Google Cloud SDK.
பெர்கோனா DBaaS CLI.
kubectl ஐ நிறுவவும்
உங்கள் இயக்க முறைமைக்கான தொகுப்பை நாங்கள் நிறுவுகிறோம், உபுண்டுவின் உதாரணத்தைப் பார்ப்போம். கூடுதல் தகவல்கள் இங்கே.
மென்பொருள் தொகுப்பையும் அதே வழியில் நிறுவுகிறோம். கூடுதல் தகவல்கள் இங்கே.
# Add the Cloud SDK distribution URI as a package source
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg]
http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
# Import the Google Cloud Platform public key
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
# Update the package list and install the Cloud SDK
sudo apt-get update && sudo apt-get install google-cloud-sdk
Percona DBaaS CLI ஐ நிறுவுகிறது
பெர்கோனா களஞ்சியங்களில் இருந்து நிறுவவும். Percona DBaaS CLI கருவி இன்னும் ஒரு சோதனைத் தயாரிப்பாக உள்ளது, எனவே இது சோதனைக் களஞ்சியத்தில் உள்ளது, நீங்கள் ஏற்கனவே Percona களஞ்சியங்களை நிறுவியிருந்தாலும், இது தனித்தனியாக இயக்கப்பட வேண்டும்.
பெர்கோனா-வெளியீட்டு கருவியைப் பயன்படுத்தி பெர்கோனா களஞ்சியங்களை அமைக்கவும். முதலில் நீங்கள் பெர்கோனாவிலிருந்து அதிகாரப்பூர்வ பெர்கோனா-வெளியீட்டு தொகுப்பை பதிவிறக்கம் செய்து நிறுவ வேண்டும்:
முதலில் நீங்கள் உங்கள் Google கணக்கில் உள்நுழைய வேண்டும். மேலும், கூகுள் கிளவுட் ஒரு பயனரை பல சுயாதீன திட்டங்களை வைத்திருக்க அனுமதிக்கிறது, எனவே இந்த திட்டத்திற்கான குறியீட்டைப் பயன்படுத்தி வேலை செய்யும் திட்டத்தை நீங்கள் குறிப்பிட வேண்டும்:
gcloud auth login
gcloud config set project hidden-brace-236921
அடுத்து, நாங்கள் ஒரு கிளஸ்டரை உருவாக்குகிறோம். டெமோவுக்காக, நான் மூன்று முனைகளைக் கொண்ட குபெர்னெட்டஸ் கிளஸ்டரை உருவாக்கினேன் - இது அதிக கிடைப்பதற்குத் தேவையான குறைந்தபட்சம்:
பின்னர் நாம் ஒரு பெயர்வெளியை உருவாக்கி அதை செயலில் செய்கிறோம். நேம்ஸ்பேஸ் என்பது, தோராயமாக, ஒரு திட்டம் அல்லது சூழலைப் போன்றது, ஆனால் ஏற்கனவே குபெர்னெட்டஸ் கிளஸ்டருக்குள் உள்ளது. இது Google மேகக்கணி திட்டங்களிலிருந்து சுயாதீனமானது:
இந்த சில படிகளை நாம் கடந்துவிட்டால், இந்த எளிய கட்டளையுடன் மூன்று முனை கிளஸ்டரைத் தொடங்கலாம்:
# percona-dbaas mysql create-db example
Starting ......................................... [done]
Database started successfully, connection details are below:
Provider: k8s
Engine: pxc
Resource Name: example
Resource Endpoint: example-proxysql.my-namespace.pxc.svc.local
Port: 3306
User: root
Pass: Nt9YZquajW7nfVXTTrP
Status: ready
ஒரு கிளஸ்டருடன் எவ்வாறு இணைப்பது
இயல்பாக, இது குபெர்னெட்டஸில் மட்டுமே கிடைக்கும். அதாவது, நீங்கள் "உருவாக்கு" கட்டளையை இயக்கிய இந்த சேவையகத்திலிருந்து அணுக முடியாது. அதைக் கிடைக்கச் செய்ய, எடுத்துக்காட்டாக, கிளையண்டுடனான சோதனைகளுக்கு, போர்ட் மேப்பிங் மூலம் போர்ட்டை நீங்கள் அனுப்ப வேண்டும்:
mysql -h 127.0.0.1 -P 3306 -uroot -pNt9YZquajW7nfVXTTrP
மேம்பட்ட கிளஸ்டர் மேலாண்மை கட்டளைகள்
பொது ஐபியில் தரவுத்தளம்
க்ளஸ்டர் கிடைப்பதற்கு இன்னும் நிரந்தரமான தீர்வை நீங்கள் விரும்பினால், நீங்கள் வெளிப்புற ஐபி முகவரியைப் பெறலாம். இந்த வழக்கில், தரவுத்தளத்தை எங்கிருந்தும் அணுக முடியும். இது குறைவான பாதுகாப்பானது, ஆனால் பெரும்பாலும் மிகவும் வசதியானது. வெளிப்புற ஐபிக்கு பின்வரும் கட்டளையைப் பயன்படுத்துகிறோம்:
# percona-dbaas mysql create-db exposed
--options="proxysql.serviceType=LoadBalancer"
Starting ......................................... [done]
Database started successfully, connection details are below:
Provider: k8s
Engine: pxc
Resource Name: exposed
Resource Endpoint: 104.154.133.197
Port: 3306
User: root
Pass: k0QVxTr8EVfgyCLYse
Status: ready
To access database please run the following command:
mysql -h 104.154.133.197 -P 3306 -uroot -pk0QVxTr8EVfgyCLYse
கடவுச்சொல்லை வெளிப்படையாக அமைக்கவும்
கணினி தோராயமாக கடவுச்சொல்லை உருவாக்குவதற்கு பதிலாக, நீங்கள் கடவுச்சொல்லை வெளிப்படையாக அமைக்கலாம்:
MySQL ஐ விரைவாகவும் எளிதாகவும் இயங்கச் செய்து, சோதனை செய்து, பின்னர் அதை மூடவும் அல்லது மேம்பாட்டிற்காகப் பயன்படுத்தவும், சோதனைப் பணிகளைச் செய்வதற்கான தீர்வாக இது உள்ளது.
Percona DBaaS CLI கருவியானது குபெர்னெட்டஸில் DBaaS போன்ற தீர்வை அடைய உதவுகிறது. அதே நேரத்தில், அதன் செயல்பாடு மற்றும் பயன்பாட்டினை நாங்கள் தொடர்ந்து வேலை செய்கிறோம்.