நம்முடைய பணியின் ஒரு பகுதியாகவோ, எதிர்கால பணி வாய்ப்பு களுக்காகவோ அல்லது புதிய தொழில்நுட்பத்தின் மீதான ஆர்வத்தின் காரணமாகவோ, அனுபவம் வாய்ந்த அமைவு நிருவாகிகளுக்குக் கூட இன்றைய கணினியின் கொள்கலண்களின் (containers) பயன்பாடு மிகவும் அதிகமானதாகத் தோன்றலாம். இருந்தபோதிலும் இதனை அனைவரும் பயன்படுத்தி கொள்க என பரிந்துரைக்கப் படுகின்றது .எனவே உண்மையில் இந்த கொள்கலண்களை எவ்வாறு செயல்படுத்திட தொடங்குவது? மேலும், ஏன் கொள்கலணிலிருந்து மற்றொன்றுக்கு செல்வதற்கான ஒரு பாதை இருக்கிறது? நாம் எதிர்பார்ப்பது போல், இதனை தொடங்குவதற்கான சிறந்த ஆரம்ப இடம் எது? ஆகிய பல்வேறு கேள்விகள் நம்மனதில் எழும் நிற்க. கணினியின்கொள்கலண்களை(containers)இயக்கத் தொடங்குவதற்காக பின்வருகின்ற மூன்று படிமுறைகளை பின்பற்றிடுக என பரிந்துரைக்கபபடுகின்றது.
படிமுறை.1. கணினியின்கொள்கலன்களைப்(containers) புரிந்துகொள்ளுதல்
நம்முடைய இரண்டாவதான சிந்தனையில், ஆரம்பத்தில் தொடங்குவது ஆரம்பகால BSD , அவைகளின் சிறப்பு chroot jails இற்கு முந்தையது, எனவே அதற்குப் பதிலாக நேரடியாக கணினியின்கொள்கலண்களின்நடுப்பகுதிக்குச் செல்க.
மிக நீண்ட காலத்திற்கு முன்பு, லினக்ஸின் உருவாக்கமையாத்திற்கு cgroups ஐ அறிமுகப்படுத்தப்பட்டது, இது ஒரு பெயர்இடைவெளி(namespace) எனப்படும் செயல்முறைகளை “tag” செய்ய உதவுகிறது. ஒரு பெயர்இடைவெளியில் ஒன்றாகச் செயலாக்கும்போது, அந்தப் பெயர்இடைவெளிக்கு வெளியே எதுவும் இல்லாதது போல் அந்த செயல்முறைகள் செயல்படும்.அந்த செயல்முறைகளை ஒரு வகையான கணினியின்கொள்கலணில் வைத்தது போல் உள்ளது. நிச்சயமாக, கணினியின்கொள்கலணானது மெய்நிகராக, அது நம்முடைய கணினியில் உள்ளது.மற்ற இயங்குதளம் இயங்குகின்ற அதே உருவாக்கமையம், தற்காலிக நினைவகம் CPU இல் இது இயங்குகிறது, ஆனால்இது அதற்கான செயல் முறைகளைக் மட்டும் கொண்டிருக்கின்றது.
முன்பே தயாரிக்கப்பட்ட கணினியின் கொள்கலண்கள் அதில் உள்ள பயன்பாட்டை இயக்குவதற்குத் தேவையானவற்றுடன் விநியோகிக்கப்படுகின்ற. Podman, Docker அல்லது CRI-O போன்ற ஒரு கொள்கலண் இயந்திரத்துடன், எந்தவொரு பாரம்பரிய அர்த்தத்திலும் நிறுவுகைசெய்திடாமல், கொள்கலண் செய்யப்பட்ட பயன்பாட்டை இயக்கலாம்.கொள்கலண்இயந்திரங்கள் பெரும்பாலும் அனைத்து தளங்களிலும் செயல்படக்கூடியதாகும், எனவே கொள்கலண்கள் லினக்ஸை இயக்கினாலும், லினக்ஸ், மேக் அல்லது விண்டோ ஆகிய இயக்கமுறைமைகளில் கணினியின் கொள்கலண்களை செயல்படுமாறு இயக்கத் தொடங்கலாம்.
மிக முக்கியமாக, குறிப்பிட்டஒரே பயன்பாட்டிற்கு அதிக தேவை இருக்கும்போது ஒன்றுக்கு மேற்பட்ட கொள்கலண்களை இயக்கி அவைஒவ்வொன்றிலும் நமக்குத் தேவையான அந்தஒரு பயன்பாட்டினை தனித்தனியாக செயல்படச்செய்து பயன்பெறலாம்.கொள்கலண் என்றால் என்ன என்று இப்போது தெரிந்து கொண்டோம். அடுத்த கட்டமாக அந்த கொள்கலண்ஒன்றினை எவ்வாறு இயக்குவது.
படிமுறை.2. ஒரு கொள்கலணை இயக்குதல்
ஒரு கொள்கலணை இயக்குவதற்கு முன், ஒரு கொள்கலணை இயக்குவதற்கு தேவையான ஒரு காரணம் இருக்க வேண்டும். ஒரு காரணத்தை நாமே உருவாக் கலாம், ஆனால் அந்த காரணத்திற்காக நமக்கு ஆர்வம் காட்ட இது பேருதவியாக இருக்கும், எனவே இயக்கும் கொள்கலணை உண்மையில் பயன்படுத்த நாம் உத்வேகம் பெறுவோம். எல்லாவற்றிற்கும் மேலாக, ஒரு கொள்கலண் இயங்குகிறது, ஆனால் அதுதான் வழங்கும் பயன்பாட்டைமட்டும் பயன்படுத்து வதில்லை, எந்த தோல்வியையும் கவணிப்பதில்லை என்பதை மட்டுமே நிரூபிக்கிறது, ஆனால் கொள்கலணைப் பயன்படுத்துவது அது செயல்படுகிறது என்பதை நிரூபிக்கப்படுகின்றது.
இதற்கான ஒரு தொடக்கமாக வேர்டுபிரஸ் என்பதை பரிந்துரைக்கப்படுகின்றது. இது ஒரு பிரபலமான இணையப் பயன்பாடாகும், இது பயன்படுத்த எளிதானது, எனவே கொள்கலணை இயக்கியவுடன் பயன்பாட்டைச் சோதனை செய்யலாம். ஒரு வேர்டுபிரஸ் கொள்கலனை எளிதாக அமைக்க முடியும் என்றாலும்,இதில் பல உள்ளமைவு வாய்ப்புகளும் உள்ளன,இது கூடுதல் கொள்கலண் வாய்ப்புகளைக் கண்டறிய வழிவகுக்கின்றது(தரவுத்தள கொள்கலனை இயக்குவது போன்றவை) அதனோடு கொள்கலண்கள் எவ்வாறு தொடர்பு கொள்கின்றன எனவும் தெரிந்து கொள்ளமுடியும்.
இதற்காக Podmanஎனும் கொள்கலணைப் பயன்படுத்துவதாக கொள்க, இது ஒரு நட்புடன்கூடிய, வசதியான daemon இல்லாத கொள்கலண் இயந்திரமாகும். நம்மிடம் Podman இல்லை என்றால், அதற்கு பதிலாக Docker எனும்கொள்கலணைப் பயன்படுத்தலாம். இவ்விரண்டு திறமூல கொள்கலண் இயந்திரங்களின் தொடரியல்(syntax) ஒரே மாதிரியாக உள்ளது (Podman இற்கு பதிலாக docker என தட்டச்சு செய்திடுக). Podman ஒரு daemonஐ இயக்காததால், அதற்கு dockerஐ விட அதிக கட்டமைப்பு தேவைப்படுகிறது, ஆனால் மூலம் இல்லாத daemonஇல்லாத கொள்கலண்களை இயக்கும் திறன் மதிப்புக்குரியது.
dockerஉடன் செல்கின்றோம் எனில், வேர்ட்பிரஸ் துணைத்தலைப்புக்குச் செல்லலாம். இல்லையெனில், Podman ஐ நிறுவுகைசெய்திடுக கட்டமைக்கவும் ஒரு முனையத்தைத் திறக்கவும் பின்வரும் கட்டளையை செயற்படுத்திடுக:
$sudodnfinstallpodman
கொள்கலண்கள் பல செயல்முறைகளை உருவாக்குகின்றன, மேலும் பொதுவாக மூலபயனருக்கு மட்டுமே ஆயிரக்கணக்கான செயல்முறை சுட்டிகளை உருவாக்க அனுமதி உள்ளது. /etc/subuid எனப்படும் கோப்பை உருவாக்கி, பொருத்தமான அதிக எண்ணிக்கையிலான அனுமதிக்கப்பட்ட PIDகளுடன் பொருத்தமான உயர் தொடக்க UIDயை வரையறுப்பதன் மூலம் பயனாளருக்கு சில கூடுதல் செயல்முறை சுட்டிகளைச் சேர்த்திடுக அதற்கான கட்டளைவரிபின்வருமாறு:
seth:200000:165536
நம்முடைய குழுவிற்கும்/etc/subgid எனப்படும் கோப்பில் இதைச் செய்திடுக. இந்த எடுத்துக்காட்டில், முதன்மை குழு பணியாளர்கள் ( கணினியை எவ்வாறு கட்டமைத்துள்ளோம் என்பதைப் பொறுத்து இது நமக்காக பயனாளர்களாக இருக்கலாம் அல்லது நம்முடைய பயனாளர்பெயராக இருக்கலாம்.)அதற்கான கட்டளைவரிபின்வருமாறு:
staff::200000:165536
இறுதியாக, ஆயிரக்கணக்கான பெயர்இடைவெளிகளை நிருவகிக்க நம்முடைய பயனாளர் அனுமதிக்கப்பட்டுள்ளதை உறுதிப்படுத்திகொள்கஅதற்கான கட்டளைவரிகள்பின்வருமாறு::
$ sysctl–all–patternuser_namespaces
user.max_user_namespaces =28633
குறைந்தபட்சம் 28,000 பெயர்இடைவெளிகளை நிர்வகிக்க நம்முடைய பயனாளர்களுக்கு அனுமதி இல்லை எனில், /etc/sysctl.d/users.confஎனும்கோப்பை உருவாக்குவதன் மூலம் முதலில் பயனாளர்களின் எண்ணிக்கையை அதிகரித்தடுக பின் தேவையான விவரங்களை உள்ளிடுக அதற்கான கட்டளைவரிபின்வருமாறு::
user.max_user_namespaces=28633
வேர்ட்பிரஸ் ஒரு கொள்கலணாக இயங்குதல்
இப்போது, Podman அல்லது Docker ஐப் பயன்படுத்தினாலும், இணையைத்தில் கொள்கலண் பதிவேட்டில் இருந்து WordPress கொள்கலணை இழுத்து வந்து இயக்கலாம். ஒற்றைவரியிலான Podman கட்டளைவரி மூலம் இதையெல்லாம் செய்யலாம் அதற்கான கட்டளைவரிகள்பின்வருமாறு::
$ podman run–namemypress \
-p8080:80-dwordpress
கொள்கலணைக் கண்டுபிடித்து, அதை இணையத்திலிருந்து நகலெடுத்து, அதைத் தொடங்குவதற்காக Podmanஇற்கு சிறிது காலஅவகாசம் கொடுத்திடுக.
முனைமத்திரையைப் பெற்றவுடன் இணையஉலாவியை செயல்படுத்திடத் தொடங்கிடுக to local host:8080 என்பதை வழிசெலுத்திடுக. இப்போது வேர்டுபிரஸ் ஆனது இயங்குகிறது, அதை முழுவதையும்கட்டமைப்பதற்காக காத்திருக்கிறது.
நம்முடைய அடுத்த தடையை அடைய அதிக நேரம் எடுக்காது. வேர்டுபிரஸ் தரவுகளைக் கண்காணிக்க ஒரு தரவுத்தளத்தைப் பயன்படுத்துகிறது, எனவே அதன் தகவலைச் சேமிக்கக்கூடிய தரவுத்தளத்தை வழங்க வேண்டும்.
இதனை தொடர்வதற்கு முன், WordPress கொள்கலனை நிறுத்தி அகற்றிடுக அதற்கான கட்டளைவரிகள்பின்வருமாறு::
$ podman stop mypress
$ podmanrmmypress
படிமுறை.3. ஒரு podஇல் கொள்கலண்களை இயக்குதல்
கொள்கலன்கள், வடிவமைப்பு, அவற்றின் பெயர் குறிப்பிடுவது போல், தன்னிச்சையானவை. ஒரு கொள்கலணில் இயங்கும் ஒரு பயன்பாடு, அதன் கொள்கலணிற்க்கு வெளியே உள்ள பயன்பாடுகள் அல்லது உள்கட்டமைப்புடன் தொடர்பு கொள்ளக் கூடாது. எனவே ஒரு கொள்கலண் செயல்பட மற்றொரு கொள்கலண் தேவைப்படும்போது, அந்த இரண்டு கொள்கலண்களையும் pod எனப்படும் அதனை ஒருபெரிய கொள்கலணிற்குள் வைப்பது ஒரு தீர்வாகும். ஒரு pod அதன் கொள்கலண்கள் ஒன்றுக்கொன்று தொடர்புகொள்வதற்காக முக்கியமான பெயர்இடைவெளிகளை பகிர்ந்து கொள்ள முடியும் என்பதை உறுதிசெய்கிறது.புதிய pod ஒன்றை உருவாக்கிடுக, podகளை, எந்த வாயில்களை நாம் அணுக விரும்புகின்றோம் என்பதற்கு ஒரு பெயரை வழங்கிடுக அதற்கான கட்டளைவரிகள்பின்வருமாறு:
$ podman pod create \
–namewp_pod \
–publish8080:80
இப்போது pod செயல்பட்டுக்கொண்டிருப்பதை உறுதிப்படுத்திடுக அதற்கான கட்டளைவரிகள்பின்வருமாறு::
$ podman pod list
POD ID NAME STATUS INFRA ID # OF CONTAINERS
100e138a29bd wp_pod Created 22ace92df3ef 1
தொடர்ந்து ஒரு podஇல் மற்றொரு கொள்கலணைச் சேர்த்திடுக
இப்போது ஒன்றுக்கொன்று சார்ந்திருக்கும் கொள்கலண்களுக்கான ஒருpod ஐ வைத்திருக்கின்றோம், ஒவ்வொரு கொள்கலணும் இயங்குவதற்கு pod ஒன்றைக் குறிப்பிடுவதன் மூலம் அதைத் தொடங்குக.
முதலில்,ஒரு தரவுத்தளத்தை துவக்கிடுக. WordPress இலிருந்து தரவுத்தளத்துடன் இணைக்கும் போது அதே நற்சான்றிதழ்களைப் பயன்படுத்தும் வரை நம்முடைய சொந்த நற்சான்றிதழ்களை உருவாக்கலாம் அதற்கான கட்டளைவரிகள் பின்வருமாறு:.
$ podman run–detach\
–podwp_pod \
–restart=always \
-eMYSQL_ROOT_PASSWORD=”badpassword0″\
-eMYSQL_DATABASE=”wp_db”\
-eMYSQL_USER=”tux”\
-eMYSQL_PASSWORD=”badpassword1″\
–name=wp_db mariadb
அடுத்து, வேர்டுபிரஸ் கொள்கலணை அதே pod இல் துவக்கிடுகஅதற்கான கட்டளைவரிகள்பின்வருமாறு::
$ podman run–detach\
–restart=always–pod=wp_pod \
-eWORDPRESS_DB_NAME=”wp_db”\
-eWORDPRESS_DB_USER=”tux”\
-eWORDPRESS_DB_PASSWORD=”badpassword1″\
-eWORDPRESS_DB_HOST=”127.0.0.1″\
–namemypress wordpress
இப்போது நமக்குப் பிடித்த இணைய உலாவியைத் துவக்கி, to local host:8080இற்கு செல்க.
இந்த வழிமுறையில், இந்த கட்டமைப்பானது நாம் எதிர்பார்த்தது போல் செல்கிறது. வேர்டுபிரஸ் தரவுத்தளத்துடன் இணைக்கிறது, ஏனெனில் கொள்கலணைத் தொடங்கும் போது அந்த சூழல் மாறிகளை நாம் கடந்துவிட்டோம். ஒரு பயனாளர் கணக்கை உருவாக்கிய பிறகு, நாம் வேர்டுபிரஸ்ஸின் முகப்புபக்கத்தை பார்க்க உள்நுழைவுசெய்திடலாம்.
அடுத்த இறுதியானபடிமுறைகள்
இரண்டு கொள்கலண்களை உருவாக்கி, அவற்றை ஒரு pod இல் இயக்கி யுள்ளோம். நம்முடைய சொந்த சேவையாளரில் கொள்கலண்களில் சேவைகளை இயக்குவதற்கு நமக்கு போதுமான அளவு இப்போது தெரியும். மேகக்கணிக்கு செல்ல விரும்பினால், கொள்கலண்கள் நிச்சயமாக அதற்கு மிகவும் பொருத்த மானவைகளாகும். Kubernetes, OpenShift போன்ற கருவிகள் மூலம், ஒரு தொகுதியில் கொள்கலண்கள் , podsஐ தொடங்கும் செயல்முறையை தானியங்கியாக செய்து பயன்படுத்திகொள்ளலாம்.