Kubernetes nodeSelector ஐ எவ்வாறு பயன்படுத்துவது

Kubernetes Nodeselector Ai Evvaru Payanpatuttuvatu



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

குபெர்னெட்டஸ் நோட்செலக்டர் என்றால் என்ன?

ஒரு nodeSelector என்பது குபெர்னெட்டஸில் உள்ள ஒரு திட்டமிடல் தடையாகும், இது ஒரு வரைபடத்தை ஒரு விசையின் வடிவத்தில் குறிப்பிடுகிறது: மதிப்பு ஜோடி தனிப்பயன் பாட் தேர்வாளர்கள் மற்றும் முனை லேபிள்கள் விசை, மதிப்பு ஜோடியை வரையறுக்கப் பயன்படுத்தப்படுகின்றன. முனையில் பெயரிடப்பட்ட nodeSelector விசையுடன் பொருந்த வேண்டும்: மதிப்பு ஜோடி, இதனால் ஒரு குறிப்பிட்ட முனையை ஒரு குறிப்பிட்ட முனையில் இயக்க முடியும். காய்களை திட்டமிட, முனைகளில் லேபிள்கள் பயன்படுத்தப்படுகின்றன, மேலும் காய்களில் nodeSelectors பயன்படுத்தப்படுகின்றன. OpenShift கண்டெய்னர் பிளாட்ஃபார்ம் லேபிள்களைப் பொருத்துவதன் மூலம் nodeSelector ஐப் பயன்படுத்தி முனைகளில் உள்ள காய்களை திட்டமிடுகிறது.

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







முன்நிபந்தனைகள்

Kubernetes nodeSelector ஐப் பயன்படுத்த, உங்கள் கணினியில் பின்வரும் கருவிகள் நிறுவப்பட்டுள்ளதா என்பதை உறுதிப்படுத்தவும்:



  • உபுண்டு 20.04 அல்லது வேறு ஏதேனும் சமீபத்திய பதிப்பு
  • குறைந்தபட்சம் ஒரு தொழிலாளி முனையுடன் கூடிய மினிகுப் கிளஸ்டர்
  • Kubectl கட்டளை வரி கருவி

இப்போது, ​​நாங்கள் அடுத்த பகுதிக்குச் செல்கிறோம், அங்கு குபெர்னெட்டஸ் கிளஸ்டரில் நீங்கள் எப்படி nodeSelector ஐப் பயன்படுத்தலாம் என்பதை நாங்கள் காண்பிப்போம்.



Kubernetes இல் nodeSelector கட்டமைப்பு

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





> minikube ஐ தொடங்கவும்

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



nodeSelector இல்லாமல் வரிசைப்படுத்தலை உள்ளமைக்கவும்

முதலில், கீழே கொடுக்கப்பட்டுள்ள கட்டளையைப் பயன்படுத்தி தற்போது கிளஸ்டரில் செயலில் உள்ள அனைத்து முனைகளின் விவரங்களையும் பிரித்தெடுப்போம்:

> kubectl முனைகளைப் பெறுகிறது

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

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

> kubectl minikube முனைகளை விவரிக்கிறது | பிடியில் தீட்டு

மேலே கொடுக்கப்பட்ட வெளியீட்டில் இருந்து, முனையில் எந்தக் கறையும் இல்லை என்பதை நாம் காணலாம், நாம் முனையில் காய்களை வரிசைப்படுத்த வேண்டியதை சரியாகக் காணலாம். இப்போது, ​​எந்த நோட்செலக்டரையும் குறிப்பிடாமல் வரிசைப்படுத்தலை உருவாக்குவது அடுத்த படியாகும். அந்த விஷயத்தில், நாம் ஒரு YAML கோப்பைப் பயன்படுத்துவோம், அங்கு nodeSelector உள்ளமைவைச் சேமிப்போம். YAML கோப்பை உருவாக்க இங்கே இணைக்கப்பட்டுள்ள கட்டளை பயன்படுத்தப்படும்:

> நானோ deplond.yaml

இங்கே, நானோ கட்டளையுடன் deplond.yaml என்ற YAML கோப்பை உருவாக்க முயற்சிக்கிறோம்.

இந்த கட்டளையை இயக்கும் போது, ​​ஒரு deplond.yaml கோப்பு இருக்கும், அங்கு நாம் வரிசைப்படுத்தல் உள்ளமைவை சேமிப்போம். கீழே கொடுக்கப்பட்டுள்ள வரிசைப்படுத்தல் உள்ளமைவைப் பார்க்கவும்:

இப்போது, ​​வரிசைப்படுத்தல் உள்ளமைவு கோப்பைப் பயன்படுத்தி வரிசைப்படுத்தலை உருவாக்குவோம். deplond.yaml கோப்பு கட்டமைப்பை உருவாக்க ‘create’ கட்டளையுடன் பயன்படுத்தப்படும். கீழே கொடுக்கப்பட்டுள்ள முழுமையான கட்டளையைப் பார்க்கவும்:

> kubectl உருவாக்கவும் -எஃப் deplond.yaml

மேலே காட்டப்பட்டுள்ளபடி, வரிசைப்படுத்தல் வெற்றிகரமாக உருவாக்கப்பட்டது, ஆனால் nodeSelector இல்லாமல். இப்போது, ​​கீழே கொடுக்கப்பட்டுள்ள கட்டளையுடன் கிளஸ்டரில் ஏற்கனவே கிடைக்கும் முனைகளை சரிபார்ப்போம்:

> kubectl காய்கள் கிடைக்கும்

இது கிளஸ்டரில் கிடைக்கும் அனைத்து காய்களையும் பட்டியலிடும். கீழே கொடுக்கப்பட்டுள்ள வெளியீட்டைப் பார்க்கவும்:

  உரை விளக்கம் தானாக உருவாக்கப்படும்

அடுத்து, deplond.yaml கோப்பைத் திருத்துவதன் மூலம் செய்யக்கூடிய பிரதிகளின் எண்ணிக்கையை நாம் மாற்ற வேண்டும். deplond.yaml கோப்பைத் திறந்து பிரதிகளின் மதிப்பைத் திருத்தவும். இங்கே, நாங்கள் பிரதிகள்: 3 ஐ பிரதிகள் : 30 என மாற்றுகிறோம். கீழே கொடுக்கப்பட்டுள்ள ஸ்னாப்ஷாட்டில் மாற்றத்தைப் பார்க்கவும்:

இப்போது, ​​வரிசைப்படுத்தல் வரையறை கோப்பிலிருந்து வரிசைப்படுத்தலுக்கு மாற்றங்கள் பயன்படுத்தப்பட வேண்டும், மேலும் பின்வரும் கட்டளையைப் பயன்படுத்தி அதைச் செய்யலாம்:

> kubectl பொருந்தும் -எஃப் deplond.yaml

  உரை விளக்கம் தானாக உருவாக்கப்படும்

இப்போது, ​​-o பரந்த விருப்பத்தைப் பயன்படுத்தி காய்களின் கூடுதல் விவரங்களைப் பார்க்கலாம்:

> kubectl காய்கள் கிடைக்கும் -தி பரந்த

  உரை விளக்கம் தானாக உருவாக்கப்படும்

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

> kubectl label nodes master on-master= உண்மை

nodeSelector மூலம் வரிசைப்படுத்தலை உள்ளமைக்கவும்

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

முதலில், 'நானோ' கட்டளையுடன் YAML கோப்பை உருவாக்குவோம், அங்கு வரிசைப்படுத்தலின் உள்ளமைவைச் சேமிக்க வேண்டும்.

> நானோ nd.yaml

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

இப்போது, ​​கீழே கொடுக்கப்பட்டுள்ள கட்டளையுடன் nodeSelector இன் வரிசைப்படுத்தலை உருவாக்கவும்:

> kubectl உருவாக்கவும் -எஃப் nd.yaml

-o பரந்த கொடியைப் பயன்படுத்தி காய்களின் விவரங்களைப் பெறவும்:

> kubectl காய்கள் கிடைக்கும் -தி பரந்த

  உரை, காலண்டர் விளக்கம் தானாக நடுத்தர நம்பிக்கையுடன் உருவாக்கப்படும்

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

பின்வரும் கட்டளையைப் பயன்படுத்தி வரிசைப்படுத்தலில் புதிய மாற்றங்களைப் பயன்படுத்தவும்:

> kubectl பொருந்தும் -எஃப் nd.yaml

  உரை விளக்கம் தானாக உருவாக்கப்படும்

முடிவுரை

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