செல்யாபின்ஸ்கில் உள்ள சவுத்பிரிட்ஜ் மற்றும் குபெர்னெட்டஸில் பிட்ரிக்ஸ்

சிசாட்மின்கா சிஸ்டம் அட்மினிஸ்ட்ரேட்டர் சந்திப்புகள் செல்யாபின்ஸ்கில் நடைபெறுகின்றன, கடைசியாக குபெர்னெட்டஸில் 1சி-பிட்ரிக்ஸில் பயன்பாடுகளை இயக்குவதற்கான எங்கள் தீர்வு குறித்த அறிக்கையை நான் கொடுத்தேன்.

Bitrix, Kubernetes, Ceph - ஒரு சிறந்த கலவையா?

இவை அனைத்திலிருந்தும் ஒரு வேலை செய்யும் தீர்வை எவ்வாறு உருவாக்குகிறோம் என்பதை நான் உங்களுக்கு சொல்கிறேன்.

போகலாம்!

செல்யாபின்ஸ்கில் உள்ள சவுத்பிரிட்ஜ் மற்றும் குபெர்னெட்டஸில் பிட்ரிக்ஸ்

இந்த சந்திப்பு ஏப்ரல் 18 அன்று செல்யாபின்ஸ்கில் நடந்தது. எங்கள் சந்திப்புகளைப் பற்றி நீங்கள் படிக்கலாம் டைம்பேட் மற்றும் பாருங்கள் வலைஒளி.

நீங்கள் ஒரு அறிக்கையுடன் அல்லது கேட்பவராக எங்களிடம் வர விரும்பினால் - வரவேற்கிறோம், எழுதுங்கள் [மின்னஞ்சல் பாதுகாக்கப்பட்டது] மற்றும் Telegram t.me/vadimisakanov இல்.

எனது அறிக்கை

செல்யாபின்ஸ்கில் உள்ள சவுத்பிரிட்ஜ் மற்றும் குபெர்னெட்டஸில் பிட்ரிக்ஸ்

ஸ்லைடுகள்

தீர்வு "Bitrix in Kubernetes, பதிப்பு சவுத்பிரிட்ஜ் 1.0"

சந்திப்பில் செய்ததைப் போல, எங்கள் தீர்வைப் பற்றி "குபெர்னெட்டஸில் டம்மிகளுக்காக" வடிவத்தில் பேசுவேன். ஆனால் Bitrix, Docker, Kubernetes, Ceph ஆகிய சொற்கள் குறைந்தபட்சம் விக்கிபீடியாவில் உள்ள கட்டுரைகளின் அளவிலாவது உங்களுக்குத் தெரியும் என்று கருதுகிறேன்.

குபெர்னெட்டஸில் பிட்ரிக்ஸ் என்ன தயாராக உள்ளது?

குபெர்னெட்டஸில் பிட்ரிக்ஸ் பயன்பாடுகளின் செயல்பாடு பற்றி முழு இணையத்திலும் மிகக் குறைந்த தகவல்கள் உள்ளன.
நான் இந்த பொருட்களை மட்டுமே கண்டேன்:

Qsoft இலிருந்து Alexander Serbul, 1C-Bitrix மற்றும் Anton Tuzlukov அறிக்கை:

அதைக் கேட்க பரிந்துரைக்கிறேன்.

பயனரிடமிருந்து உங்கள் சொந்த தீர்வை உருவாக்குதல் செர்கிரோன் ஹப்ரே மீது.
மேலும் கிடைத்தது அத்தகைய முடிவு.

ஆண்ட்... உண்மையில், அவ்வளவுதான்.

நான் உங்களை எச்சரிக்கிறேன், மேலே உள்ள இணைப்புகளில் உள்ள தீர்வுகளின் தரத்தை நாங்கள் சரிபார்க்கவில்லை :)
மூலம், எங்கள் தீர்வைத் தயாரிக்கும்போது, ​​​​நான் அலெக்சாண்டர் செர்புலுடன் பேசினேன், பின்னர் அவரது அறிக்கை இன்னும் தோன்றவில்லை, எனவே எனது ஸ்லைடுகளில் "பிட்ரிக்ஸ் குபெர்னெட்ஸைப் பயன்படுத்துவதில்லை" என்ற உருப்படி உள்ளது.

ஆனால் டோக்கரில் பிட்ரிக்ஸை இயக்குவதற்கு ஏற்கனவே நிறைய ஆயத்த டோக்கர் படங்கள் உள்ளன: https://hub.docker.com/search?q=bitrix&type=image

குபெர்னெட்டஸில் பிட்ரிக்ஸுக்கு முழுமையான தீர்வை உருவாக்க இது போதுமா?
இல்லை. தீர்க்கப்பட வேண்டிய ஏராளமான பிரச்சினைகள் உள்ளன.

குபெர்னெட்ஸில் பிட்ரிக்ஸில் உள்ள பிரச்சனைகள் என்ன?

முதலில், Dockerhub இலிருந்து தயாராக தயாரிக்கப்பட்ட படங்கள் குபெர்னெட்டஸுக்கு ஏற்றது அல்ல

நாம் ஒரு மைக்ரோ சர்வீஸ் கட்டமைப்பை உருவாக்க விரும்பினால் (மற்றும் குபெர்னெட்டஸில் நாங்கள் வழக்கமாக செய்வோம்), எங்கள் குபெர்னெட்ஸ் பயன்பாட்டை கொள்கலன்களாகப் பிரிக்க வேண்டும் மற்றும் ஒவ்வொரு கொள்கலனும் ஒரு சிறிய செயல்பாட்டைச் செய்ய வேண்டும் (அதை நன்றாகச் செய்யுங்கள்). ஒன்று மட்டும் ஏன்? சுருக்கமாக, எளிமையானது மிகவும் நம்பகமானது.
இன்னும் துல்லியமாக இருக்க, இந்த கட்டுரை மற்றும் வீடியோவைப் பார்க்கவும்: https://habr.com/ru/company/southbridge/blog/426637/

Dockerhub இல் உள்ள டோக்கர் படங்கள் முக்கியமாக ஆல் இன் ஒன் கொள்கையில் கட்டமைக்கப்பட்டுள்ளன, எனவே நாங்கள் இன்னும் எங்கள் சொந்த பைக்கை உருவாக்க வேண்டும் மற்றும் புதிதாக படங்களை உருவாக்க வேண்டும்.

இரண்டாவது - தளக் குறியீடு நிர்வாக குழுவிலிருந்து திருத்தப்பட்டது

தளத்தில் புதிய பிரிவை உருவாக்கினோம் - குறியீடு புதுப்பிக்கப்பட்டது (புதிய பிரிவின் பெயருடன் ஒரு அடைவு சேர்க்கப்பட்டது).

நிர்வாகி குழுவிலிருந்து ஒரு கூறுகளின் பண்புகளை நீங்கள் மாற்றினால், குறியீடு மாறியது.

Kubernetes "இயல்புநிலையாக" இதனுடன் வேலை செய்ய முடியாது; கொள்கலன்கள் நிலையற்றதாக இருக்க வேண்டும்.

காரணம்: கிளஸ்டரில் உள்ள ஒவ்வொரு கொள்கலனும் (பாட்) போக்குவரத்தின் ஒரு பகுதியை மட்டுமே செயலாக்குகிறது. ஒரே ஒரு கொள்கலனில் (pod) குறியீட்டை மாற்றினால், வெவ்வேறு காய்களில் குறியீடு வித்தியாசமாக இருக்கும், தளம் வித்தியாசமாக வேலை செய்யும், மேலும் தளத்தின் வெவ்வேறு பதிப்புகள் வெவ்வேறு பயனர்களுக்குக் காண்பிக்கப்படும். அப்படி வாழ முடியாது.

மூன்றாவது - நீங்கள் வரிசைப்படுத்தல் மூலம் சிக்கலை தீர்க்க வேண்டும்

எங்களிடம் ஒரு மோனோலித் மற்றும் ஒரு "கிளாசிக்" சர்வர் இருந்தால், எல்லாம் மிகவும் எளிது: நாங்கள் ஒரு புதிய குறியீட்டு தளத்தை வரிசைப்படுத்துகிறோம், தரவுத்தளத்தை நகர்த்துகிறோம், குறியீட்டின் புதிய பதிப்பிற்கு போக்குவரத்தை மாற்றுகிறோம். மாறுதல் உடனடியாக நிகழ்கிறது.
எங்களிடம் குபெர்னெட்டஸில் ஒரு தளம் இருந்தால், மைக்ரோ சர்வீஸாக வெட்டப்பட்டால், குறியீட்டுடன் நிறைய கொள்கலன்கள் உள்ளன - ஓ. குறியீட்டின் புதிய பதிப்பைக் கொண்ட கொள்கலன்களை நீங்கள் சேகரிக்க வேண்டும், பழையவற்றிற்குப் பதிலாக அவற்றை உருட்ட வேண்டும், தரவுத்தளத்தை சரியாக நகர்த்த வேண்டும் மற்றும் பார்வையாளர்களால் கவனிக்கப்படாமல் இதைச் செய்ய வேண்டும். அதிர்ஷ்டவசமாக, குபெர்னெட்டஸ் இதற்கு எங்களுக்கு உதவுகிறது, பல்வேறு வகையான வரிசைப்படுத்தல்களை ஆதரிக்கிறது.

நான்காவது - நீங்கள் நிலைகளை சேமிப்பதில் சிக்கலை தீர்க்க வேண்டும்

உங்கள் தளம் "மட்டும்" 10 ஜிகாபைட்கள் மற்றும் நீங்கள் அதை முழுவதுமாக கொள்கலன்களில் பயன்படுத்தினால், நீங்கள் 10 ஜிகாபைட் கொள்கலன்களுடன் முடிவடையும்.
தளத்தின் "கனமான" பகுதிகளை கொள்கலன்களுக்கு வெளியே சேமிக்க வேண்டும், இதை எவ்வாறு சரியாகச் செய்வது என்ற கேள்வி எழுகிறது.

எங்கள் தீர்வில் என்ன இல்லை?

முழு பிட்ரிக்ஸ் குறியீடும் மைக்ரோஃபங்க்ஷன்கள்/மைக்ரோ சர்வீஸ்ஸாகப் பிரிக்கப்படவில்லை (இதனால் பதிவு தனித்தனியாக இருக்கும், ஆன்லைன் ஸ்டோர் தொகுதி தனித்தனியாக இருக்கும்.). ஒவ்வொரு கொள்கலனிலும் முழு குறியீடு தளத்தையும் சேமித்து வைக்கிறோம்.

நாங்கள் குபெர்னெட்டஸில் தரவுத்தளத்தையும் சேமித்து வைப்பதில்லை (நான் இன்னும் குபெர்னெட்ஸில் உள்ள தரவுத்தளத்துடன் தீர்வுகளை அபிவிருத்தி சூழல்களுக்காக செயல்படுத்தினேன், ஆனால் உற்பத்திக்காக அல்ல).

தளம் குபெர்னெட்டஸில் இயங்குவது தள நிர்வாகிகளுக்கு இன்னும் கவனிக்கப்படும். "கணினி சரிபார்ப்பு" செயல்பாடு சரியாக வேலை செய்யவில்லை; நிர்வாக குழுவிலிருந்து தளக் குறியீட்டைத் திருத்த, முதலில் "நான் குறியீட்டைத் திருத்த விரும்புகிறேன்" பொத்தானைக் கிளிக் செய்ய வேண்டும்.

சிக்கல்கள் அடையாளம் காணப்பட்டுள்ளன, மைக்ரோ சர்வீஸ்களைச் செயல்படுத்த வேண்டியதன் அவசியம் தீர்மானிக்கப்பட்டது, இலக்கு தெளிவாக உள்ளது - பிட்ரிக்ஸின் திறன்கள் மற்றும் குபெர்னெட்ஸின் நன்மைகள் இரண்டையும் பாதுகாத்து, குபெர்னெட்ஸில் பிட்ரிக்ஸில் பயன்பாடுகளை இயக்குவதற்கான ஒரு வேலை அமைப்பைப் பெறுதல். செயல்படுத்த ஆரம்பிக்கலாம்.

கட்டிடக்கலை

வலை சேவையகத்துடன் (தொழிலாளர்கள்) பல "வேலை செய்யும்" காய்கள் உள்ளன.
ஒன்று கீழ் கிரான் பணிகளுடன் (ஒரே ஒன்று தேவை).
நிர்வாகி குழுவிலிருந்து தளக் குறியீட்டைத் திருத்துவதற்கான ஒரு மேம்படுத்தல் (மேலும் ஒன்று மட்டுமே தேவை).

செல்யாபின்ஸ்கில் உள்ள சவுத்பிரிட்ஜ் மற்றும் குபெர்னெட்டஸில் பிட்ரிக்ஸ்

நாங்கள் கேள்விகளைத் தீர்க்கிறோம்:

  • அமர்வுகளை எங்கே சேமிப்பது?
  • தற்காலிக சேமிப்பை எங்கே சேமிப்பது?
  • ஒரு கொத்து கொள்கலன்களில் ஜிகாபைட் ஸ்டாட்டிக்ஸ் வைக்காமல், ஸ்டாட்டிக்ஸ் எங்கே சேமிப்பது?
  • தரவுத்தளம் எவ்வாறு செயல்படும்?

டோக்கர் படம்

டோக்கர் படத்தை உருவாக்குவதன் மூலம் தொடங்குகிறோம்.

சிறந்த விருப்பம் என்னவென்றால், எங்களிடம் ஒரு உலகளாவிய படம் உள்ளது, அதன் அடிப்படையில் நாம் தொழிலாளி காய்கள், கிரான்டாஸ்க்களுடன் கூடிய காய்கள் மற்றும் மேம்படுத்தப்பட்ட காய்களைப் பெறுகிறோம்.

நாங்கள் அப்படி ஒரு படத்தை உருவாக்கினோம்.

இதில் nginx, apache/php-fpm (கட்டமைப்பின் போது தேர்ந்தெடுக்கலாம்), அஞ்சல் அனுப்புவதற்கான msmtp மற்றும் கிரான் ஆகியவை அடங்கும்.

படத்தை அசெம்பிள் செய்யும் போது, ​​தளத்தின் முழு குறியீடு அடிப்படையும் /ஆப் கோப்பகத்திற்கு நகலெடுக்கப்படும் (அந்தப் பகுதிகளைத் தவிர்த்து, தனி பகிர்ந்த சேமிப்பகத்திற்குச் செல்வோம்).

நுண் சேவைகள், சேவைகள்

தொழிலாளி காய்கள்:

  • nginx + கொள்கலன் apache/php-fpm + msmtp கொண்ட கொள்கலன்
  • msmtp ஐ ஒரு தனி மைக்ரோ சர்வீஸுக்கு நகர்த்துவது வேலை செய்யவில்லை, பிட்ரிக்ஸ் நேரடியாக அஞ்சலை அனுப்ப முடியாது என்று கோபமடையத் தொடங்குகிறது
  • ஒவ்வொரு கொள்கலனுக்கும் ஒரு முழுமையான குறியீடு உள்ளது.
  • கொள்கலன்களில் குறியீட்டை மாற்ற தடை.

கிரான் கீழ்:

  • அப்பாச்சி, php, கிரான் கொண்ட கொள்கலன்
  • முழுமையான குறியீடு அடிப்படை சேர்க்கப்பட்டுள்ளது
  • கொள்கலன்களில் குறியீட்டை மாற்ற தடை

கீழ் மேம்படுத்த:

  • nginx கொள்கலன் + apache/php-fpm கொள்கலன் + msmtp
  • கொள்கலன்களில் குறியீட்டை மாற்ற எந்த தடையும் இல்லை

அமர்வு சேமிப்பு

பிட்ரிக்ஸ் கேச் சேமிப்பு

மற்றொரு முக்கியமான விஷயம்: தரவுத்தளத்திலிருந்து அஞ்சல் வரை அனைத்தையும் இணைக்கும் கடவுச்சொற்களை kubernetes இரகசியங்களில் சேமிக்கிறோம். நாங்கள் போனஸைப் பெறுகிறோம்: கடவுச்சொற்கள் இரகசியங்களை அணுகுபவர்களுக்கு மட்டுமே தெரியும், மேலும் திட்டத்தின் குறியீட்டு அடிப்படையை அணுகக்கூடிய அனைவருக்கும் அல்ல.

ஸ்டாட்டிக்ஸ் சேமிப்பு

நீங்கள் எதையும் பயன்படுத்தலாம்: ceph, nfs (ஆனால் உற்பத்திக்கு nfs ஐ நாங்கள் பரிந்துரைக்கவில்லை), கிளவுட் வழங்குநர்களிடமிருந்து பிணைய சேமிப்பு போன்றவை.

தளத்தின் /upload/ அடைவு மற்றும் நிலையான உள்ளடக்கம் கொண்ட பிற கோப்பகங்களுடன் சேமிப்பகம் கொள்கலன்களில் இணைக்கப்பட வேண்டும்.

தகவல்

எளிமைக்காக, தரவுத்தளத்தை Kubernetes க்கு வெளியே நகர்த்த பரிந்துரைக்கிறோம். குபெர்னெட்டஸில் உள்ள அடிப்படை ஒரு தனி சிக்கலான பணியாகும்; இது திட்டத்தை மிகவும் சிக்கலான ஒரு வரிசையாக மாற்றும்.

அமர்வு சேமிப்பு

நாங்கள் memcached பயன்படுத்துகிறோம் :)

இது அமர்வு சேமிப்பகத்தை நன்றாகக் கையாளுகிறது, க்ளஸ்டர்களாக உள்ளது மற்றும் php இல் session.save_path ஆக "சொந்தமாக" ஆதரிக்கப்படுகிறது. கிளாசிக்கல் மோனோலிதிக் கட்டிடக்கலையில் இதுபோன்ற அமைப்பு பல முறை சோதிக்கப்பட்டது, நாங்கள் அதிக எண்ணிக்கையிலான வலை சேவையகங்களுடன் கிளஸ்டர்களை உருவாக்கினோம். வரிசைப்படுத்துவதற்கு நாங்கள் ஹெல்மைப் பயன்படுத்துகிறோம்.

$ helm install stable/memcached --name session

php.ini - இங்கே படம் memcached இல் அமர்வுகளை சேமிப்பதற்கான அமைப்புகளைக் கொண்டுள்ளது

Memcached மூலம் ஹோஸ்ட்கள் பற்றிய தரவை அனுப்ப சுற்றுச்சூழல் மாறிகளைப் பயன்படுத்தினோம் https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/.
டெவ், ஸ்டேஜ், டெஸ்ட், ப்ராட் சூழல்களில் ஒரே குறியீட்டைப் பயன்படுத்த இது உங்களை அனுமதிக்கிறது (அவற்றில் உள்ள மெம்கேச் செய்யப்பட்ட ஹோஸ்ட் பெயர்கள் வித்தியாசமாக இருக்கும், எனவே ஒவ்வொரு சூழலுக்கும் அமர்வுகளுக்கு தனிப்பட்ட ஹோஸ்ட் பெயரை அனுப்ப வேண்டும்).
பிட்ரிக்ஸ் கேச் சேமிப்பு

எல்லா காய்களும் எழுதக்கூடிய மற்றும் படிக்கக்கூடிய பிழை-சகிப்புத்தன்மை சேமிப்பு எங்களுக்குத் தேவை.

நாங்கள் memcached ஐயும் பயன்படுத்துகிறோம்.
இந்த தீர்வு Bitrix ஆல் பரிந்துரைக்கப்படுகிறது.

$ helm install stable/memcached --name cache

bitrix/.settings_extra.php - இங்கே Bitrix இல் கேச் சேமிக்கப்படும் இடத்தில் குறிப்பிடப்பட்டுள்ளது

சுற்றுச்சூழல் மாறிகளையும் பயன்படுத்துகிறோம்.

குரோன்டாஸ்கி

குபெர்னெட்ஸில் Crontasks ஐ இயக்குவதற்கு வெவ்வேறு அணுகுமுறைகள் உள்ளன.

  • Crontasks ஐ இயக்குவதற்கு ஒரு பாட் உடன் தனி வரிசைப்படுத்தல்
  • க்ரான்டாஸ்க்குகளை இயக்குவதற்கான cronjob (இது ஒரு வலைப் பயன்பாடாக இருந்தால் - wget உடன் https://$host$cronjobname, அல்லது தொழிலாளி காய்களில் ஒன்றின் உள்ளே இருக்கும் kubectl exec போன்றவை.)
  • முதலியன

நீங்கள் மிகவும் சரியான ஒன்றைப் பற்றி வாதிடலாம், ஆனால் இந்த விஷயத்தில் நாங்கள் "Crontasks க்கான காய்களுடன் தனி வரிசைப்படுத்தல்" என்ற விருப்பத்தைத் தேர்ந்தெடுத்தோம்.

இது எவ்வாறு செய்யப்படுகிறது:

  • ConfigMap வழியாக அல்லது config/addcron கோப்பு வழியாக கிரான் பணிகளைச் சேர்க்கவும்
  • ஒரு சந்தர்ப்பத்தில், தொழிலாளி பாட் போன்ற ஒரு கொள்கலனைத் தொடங்குகிறோம் + அதில் கிரீடப் பணிகளைச் செயல்படுத்த அனுமதிக்கிறோம்
  • அதே குறியீடு அடிப்படை பயன்படுத்தப்படுகிறது, ஒருங்கிணைப்பு நன்றி, கொள்கலன் சட்டசபை எளிதானது

நமக்கு என்ன நன்மை கிடைக்கும்:

  • டெவலப்பர்களின் சூழலுக்கு (டாக்கர்) ஒத்த சூழலில் வேலை செய்யும் க்ரான்டாஸ்க்குகள் எங்களிடம் உள்ளன.
  • குபெர்னெட்டஸுக்கு க்ரோன்டாஸ்க்குகள் "திரும்ப எழுதப்பட" தேவையில்லை, அவை அதே வடிவத்திலும் அதே குறியீட்டு அடிப்படையிலும் செயல்படுகின்றன.
  • கிரான் பணிகளை நிர்வாகிகள் மட்டுமின்றி, தயாரிப்புக் கிளைக்கு உறுதியளிக்கும் உரிமைகளுடன் அனைத்து குழு உறுப்பினர்களும் சேர்க்கலாம்

Southbridge K8SDeploy தொகுதி மற்றும் நிர்வாகி குழுவில் இருந்து குறியீடு திருத்தம்

நாங்கள் மேம்படுத்துவது பற்றி பேசிக்கொண்டிருந்தோம்?
அங்கு போக்குவரத்தை எவ்வாறு இயக்குவது?
ஹர்ரே, இதற்கு PHPயில் ஒரு மாட்யூல் எழுதியுள்ளோம் :) இது Bitrixக்கான ஒரு சிறிய கிளாசிக் தொகுதி. இது இன்னும் பொதுவில் கிடைக்கவில்லை, ஆனால் அதை திறக்க திட்டமிட்டுள்ளோம்.
பிட்ரிக்ஸில் வழக்கமான தொகுதி போல் தொகுதி நிறுவப்பட்டுள்ளது:

செல்யாபின்ஸ்கில் உள்ள சவுத்பிரிட்ஜ் மற்றும் குபெர்னெட்டஸில் பிட்ரிக்ஸ்

மேலும் இது போல் தெரிகிறது:

செல்யாபின்ஸ்கில் உள்ள சவுத்பிரிட்ஜ் மற்றும் குபெர்னெட்டஸில் பிட்ரிக்ஸ்

தள நிர்வாகியை அடையாளம் காணும் குக்கீயை அமைக்க இது உங்களை அனுமதிக்கிறது மற்றும் மேம்படுத்தல் பாட்க்கு டிராஃபிக்கை அனுப்ப குபெர்னெட்ஸை அனுமதிக்கிறது.

மாற்றங்கள் முடிந்ததும், நீங்கள் git push ஐக் கிளிக் செய்ய வேண்டும், குறியீடு மாற்றங்கள் git க்கு அனுப்பப்படும், பின்னர் கணினி குறியீட்டின் புதிய பதிப்பைக் கொண்டு ஒரு படத்தை உருவாக்கி, பழைய காய்களை மாற்றி, கிளஸ்டர் முழுவதும் "உருட்டவும்" .

ஆம், இது கொஞ்சம் ஊன்றுகோல், ஆனால் அதே நேரத்தில் நாங்கள் மைக்ரோ சர்வீஸ் கட்டமைப்பைப் பராமரிக்கிறோம், மேலும் பிட்ரிக்ஸ் பயனர்களிடமிருந்து நிர்வாகக் குழுவிலிருந்து குறியீட்டை சரிசெய்ய அவர்களுக்குப் பிடித்த வாய்ப்பைப் பறிக்க மாட்டோம். முடிவில், இது ஒரு விருப்பமாகும்; குறியீட்டைத் திருத்துவதில் உள்ள சிக்கலை நீங்கள் வேறு வழியில் தீர்க்கலாம்.

ஹெல்ம் விளக்கப்படம்

Kubernetes இல் பயன்பாடுகளை உருவாக்க, நாங்கள் பொதுவாக ஹெல்ம் தொகுப்பு மேலாளரைப் பயன்படுத்துகிறோம்.
குபெர்னெட்டஸில் உள்ள எங்களின் பிட்ரிக்ஸ் தீர்வுக்காக, எங்களின் முன்னணி சிஸ்டம் அட்மினிஸ்ட்ரேட்டரான செர்ஜி பொண்டரேவ் ஒரு சிறப்பு ஹெல்ம் விளக்கப்படத்தை எழுதினார்.

இது தொழிலாளி, உக்ரேட், கிரான் பாட்களை உருவாக்குகிறது, உட்செலுத்துதல்கள், சேவைகளை உள்ளமைக்கிறது மற்றும் குபெர்னெட்டஸ் ரகசியங்களிலிருந்து காய்களுக்கு மாறிகளை மாற்றுகிறது.

நாங்கள் குறியீட்டை கிட்லாப்பில் சேமிக்கிறோம், மேலும் ஹெல்ம் பில்டையும் கிட்லாப்பில் இருந்து இயக்குகிறோம்.

சுருக்கமாக, இது போல் தெரிகிறது

$ helm upgrade --install project .helm --set image=registrygitlab.local/k8s/bitrix -f .helm/values.yaml --wait --timeout 300 --debug --tiller-namespace=production

வரிசைப்படுத்தலின் போது திடீரென்று ஏதேனும் தவறு நேர்ந்தால், "தடையின்றி" திரும்பப் பெறவும் ஹெல்ம் உங்களை அனுமதிக்கிறது. நீங்கள் பீதியில் இல்லாதபோது, ​​“உருப்படி விழுந்ததால் குறியீட்டை ftp மூலம் சரிசெய்தல்,” ஆனால் குபெர்னெட்டஸ் அதை தானாகவே மற்றும் வேலையில்லா நேரம் இல்லாமல் செய்கிறார்.

வரிசைப்படுத்த

ஆம், நாங்கள் Gitlab & Gitlab CI இன் ரசிகர்கள், நாங்கள் அதைப் பயன்படுத்துகிறோம் :)
திட்டக் களஞ்சியத்தில் கிட்லாப்பில் ஈடுபடும் போது, ​​சுற்றுச்சூழலின் புதிய பதிப்பைப் பயன்படுத்தும் பைப்லைனை கிட்லாப் அறிமுகப்படுத்துகிறது.

நிலைகளில்:

  • உருவாக்க (புதிய டோக்கர் படத்தை உருவாக்குதல்)
  • சோதனை (சோதனை)
  • சுத்தம் செய்தல் (சோதனை சூழலை நீக்குதல்)
  • புஷ் (நாங்கள் அதை டோக்கர் பதிவேட்டில் அனுப்புகிறோம்)
  • வரிசைப்படுத்து (ஹெல்ம் வழியாக குபெர்னெட்டஸுக்கு விண்ணப்பத்தைப் பயன்படுத்துகிறோம்).

செல்யாபின்ஸ்கில் உள்ள சவுத்பிரிட்ஜ் மற்றும் குபெர்னெட்டஸில் பிட்ரிக்ஸ்

ஹர்ரே, இது தயாராக உள்ளது, அதை செயல்படுத்துவோம்!
சரி, அல்லது ஏதேனும் கேள்விகள் இருந்தால் கேளுங்கள்.

அதனால் என்ன செய்தோம்

தொழில்நுட்பக் கண்ணோட்டத்தில்:

  • டாக்கரைஸ் செய்யப்பட்ட பிட்ரிக்ஸ்;
  • பிட்ரிக்ஸை கொள்கலன்களாக "வெட்டு", அவை ஒவ்வொன்றும் குறைந்தபட்ச செயல்பாடுகளைச் செய்கின்றன;
  • கொள்கலன்களின் நிலையற்ற நிலையை அடைந்தது;
  • குபெர்னெட்டஸில் பிட்ரிக்ஸைப் புதுப்பிப்பதில் சிக்கல் தீர்க்கப்பட்டது;
  • அனைத்து பிட்ரிக்ஸ் செயல்பாடுகளும் தொடர்ந்து வேலை செய்தன (கிட்டத்தட்ட அனைத்தும்);
  • குபெர்னெட்டஸுக்கு அனுப்புதல் மற்றும் பதிப்புகளுக்கு இடையில் திரும்புதல் ஆகியவற்றில் நாங்கள் பணியாற்றினோம்.

வணிகக் கண்ணோட்டத்தில்:

  • தவறு சகிப்புத்தன்மை;
  • குபெர்னெட்ஸ் கருவிகள் (கிட்லாப் சிஐயுடன் எளிதான ஒருங்கிணைப்பு, தடையற்ற வரிசைப்படுத்தல் போன்றவை);
  • இரகசிய கடவுச்சொற்கள் (கடவுச்சொற்களை நேரடியாக அணுகக்கூடியவர்களுக்கு மட்டுமே தெரியும்);
  • ஒரு உள்கட்டமைப்பிற்குள் கூடுதல் சூழல்களை (மேம்பாடு, சோதனைகள், முதலியன) உருவாக்குவது வசதியானது.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்