NGINX சேவை மெஷ் கிடைக்கிறது

NGINX சேவை மெஷ் கிடைக்கிறது

முன்னோட்டப் பதிப்பை வழங்குவதில் நாங்கள் மகிழ்ச்சியடைகிறோம் NGINX சேவை மெஷ் (NSM), குபெர்னெட்டஸ் சூழல்களில் கொள்கலன் போக்குவரத்தை நிர்வகிக்க NGINX பிளஸ்-அடிப்படையிலான தரவு விமானத்தைப் பயன்படுத்தும் தொகுக்கப்பட்ட இலகுரக சேவை மெஷ்.

என்எஸ்எம் இலவசம் இங்கே பதிவிறக்கவும். டெவலப் மற்றும் சோதனை சூழல்களுக்கு இதை முயற்சி செய்வீர்கள் என்று நம்புகிறோம் - மேலும் உங்கள் கருத்தை எதிர்பார்க்கிறோம் GitHub இல்.

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

உங்களுக்கு வழங்குவதன் மூலம் NSM இந்தச் சிக்கல்களைத் தீர்க்கிறது:

  • பாதுகாப்பு, இது முன்னெப்போதையும் விட இப்போது மிகவும் முக்கியமானது. தரவு மீறல் ஒரு நிறுவனத்திற்கு ஆண்டுதோறும் மில்லியன் கணக்கான டாலர்களை வருவாய் மற்றும் நற்பெயரை இழக்க நேரிடும். அனைத்து இணைப்புகளும் mTLS ஐப் பயன்படுத்தி குறியாக்கம் செய்யப்படுவதை NSM உறுதி செய்கிறது, எனவே நெட்வொர்க்கில் ஹேக்கர்களால் திருடப்படக்கூடிய முக்கியமான தரவு எதுவும் இல்லை. பிற சேவைகளுடன் சேவைகள் எவ்வாறு தொடர்பு கொள்கின்றன என்பதற்கான கொள்கைகளை அமைக்க அணுகல் கட்டுப்பாடு உங்களை அனுமதிக்கிறது.
  • போக்குவரத்து மேலாண்மை. பயன்பாட்டின் புதிய பதிப்பை அனுப்பும் போது, ​​பிழை ஏற்பட்டால் அதற்கு உள்வரும் போக்குவரத்தை கட்டுப்படுத்துவதன் மூலம் தொடங்கலாம். NSM இன் புத்திசாலித்தனமான கொள்கலன் போக்குவரத்து மேலாண்மை மூலம், புதிய சேவைகளுக்கான போக்குவரத்துக் கட்டுப்பாடுக் கொள்கையை நீங்கள் அமைக்கலாம், இது காலப்போக்கில் போக்குவரத்தை அதிகரிக்கும். வேகக் கட்டுப்பாடு மற்றும் சர்க்யூட் பிரேக்கர்கள் போன்ற பிற அம்சங்கள், உங்களின் அனைத்து சேவைகளின் போக்குவரத்து ஓட்டத்தின் மீது முழுக் கட்டுப்பாட்டை உங்களுக்கு வழங்குகிறது.
  • காட்சிப்படுத்தல். ஆயிரக்கணக்கான சேவைகளை நிர்வகிப்பது பிழைத்திருத்தம் மற்றும் காட்சிப்படுத்தல் கனவாக இருக்கும். NGINX Plus இல் கிடைக்கும் அனைத்து அம்சங்களையும் காட்டும் உள்ளமைக்கப்பட்ட Grafana டாஷ்போர்டுடன் இந்தச் சூழலைச் சமாளிக்க NSM உதவுகிறது. மேலும் செயல்படுத்தப்பட்ட ஓபன் ட்ரேசிங் பரிவர்த்தனைகளை விரிவாக கண்காணிக்க உங்களை அனுமதிக்கிறது.
  • கலப்பின விநியோகங்கள், உங்கள் நிறுவனமும், மற்றவர்களைப் போலவே, முழுக்க முழுக்க குபெர்னெட்ஸில் இயங்கும் உள்கட்டமைப்பைப் பயன்படுத்தவில்லை என்றால். மரபு பயன்பாடுகள் கவனிக்கப்படாமல் விடப்படுவதை NSM உறுதி செய்கிறது. செயல்படுத்தப்பட்ட NGINX குபெர்னெட்ஸ் இன்க்ரஸ் கன்ட்ரோலரின் உதவியுடன், மரபு சேவைகள் மெஷ் சேவைகளுடன் தொடர்பு கொள்ள முடியும், மேலும் நேர்மாறாகவும்.

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

NGINX சேவை மெஷ் எவ்வாறு செயல்படுகிறது?

NSM ஆனது கிடைமட்ட (சேவை-க்கு-சேவை) போக்குவரத்திற்கான ஒரு ஒருங்கிணைந்த தரவு விமானத்தையும், செங்குத்து போக்குவரத்திற்கான உட்பொதிக்கப்பட்ட NGINX பிளஸ் இன்க்ரஸ் கன்ட்ரோலரையும் கொண்டுள்ளது, இது ஒரு கட்டுப்பாட்டு விமானத்தால் நிர்வகிக்கப்படுகிறது.

கட்டுப்பாட்டு விமானம் குறிப்பாக NGINX Plus தரவு விமானத்திற்காக வடிவமைக்கப்பட்டு உகந்ததாக்கப்பட்டுள்ளது மற்றும் NGINX Plus பக்க கார்கள் முழுவதும் விநியோகிக்கப்படும் போக்குவரத்து கட்டுப்பாட்டு விதிகளை வரையறுக்கிறது.

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

  • Grafana, Prometheus அளவுரு காட்சிப்படுத்தல், உள்ளமைக்கப்பட்ட NSM குழு உங்கள் வேலையில் உங்களுக்கு உதவுகிறது;
  • குபெர்னெட்ஸ் இன்க்ரஸ் கன்ட்ரோலர்கள், கண்ணிக்குள் உள்வரும் மற்றும் வெளிச்செல்லும் போக்குவரத்தை நிர்வகிப்பதற்கு;
  • SPIRE, CA மெஷில் சான்றிதழ்களை நிர்வகித்தல், விநியோகித்தல் மற்றும் புதுப்பித்தல்;
  • NATS, கட்டுப்பாட்டு விமானத்தில் இருந்து சைடுகார்களுக்கு, பாதை புதுப்பிப்புகள் போன்ற செய்திகளை அனுப்புவதற்கான அளவிடக்கூடிய அமைப்பு;
  • திறந்த ட்ரேசிங், விநியோகிக்கப்பட்ட பிழைத்திருத்தம் (ஜிப்கின் மற்றும் ஜெய்கர் ஆதரிக்கப்படுகிறது);
  • ப்ரோமிதியஸ், கோரிக்கைகளின் எண்ணிக்கை, இணைப்புகள் மற்றும் SSL ஹேண்ட்ஷேக்குகள் போன்ற என்ஜிஎன்எக்ஸ் பிளஸ் சைட்கார்களின் பண்புகளை சேகரித்து சேமிக்கிறார்.

செயல்பாடுகள் மற்றும் கூறுகள்

NGINX Plus ஒரு தரவு விமானமாக சைட்கார் ப்ராக்ஸி (கிடைமட்ட ட்ராஃபிக்) மற்றும் இன்க்ரஸ் கன்ட்ரோலர் (செங்குத்து), சேவைகளுக்கு இடையே கொள்கலன் போக்குவரத்தை இடைமறித்து நிர்வகித்தல் ஆகியவற்றை உள்ளடக்கியது.

அம்சங்கள் அடங்கும்:

  • பரஸ்பர TLS (mTLS) அங்கீகாரம்;
  • சுமை சமநிலை;
  • தவறு சகிப்புத்தன்மை;
  • வேக வரம்பு;
  • சுற்று உடைப்பு;
  • நீல-பச்சை மற்றும் கேனரி வரிசைப்படுத்தல்கள்;
  • நுழைவு கட்டுப்பாடு.

NGINX சேவை மெஷ் தொடங்கப்படுகிறது

NSM ஐ இயக்க உங்களுக்கு தேவை:

  • குபெர்னெட்ஸ் சூழலுக்கான அணுகல். அமேசான் எலாஸ்டிக் கன்டெய்னர் சர்வீஸ் ஃபார் குபெர்னெட்ஸ் (ஈகேஎஸ்), அஸூர் குபெர்னெட்ஸ் சர்வீஸ் (ஏகேஎஸ்), கூகுள் குபெர்னெட்ஸ் எஞ்சின் (ஜிகேஇ), விஎம்வேர் விஸ்பியர் மற்றும் ஹார்டுவேர் சர்வர்களில் பயன்படுத்தப்படும் வழக்கமான குபெர்னெட்ஸ் கிளஸ்டர்கள் உட்பட பல குபெர்னெட்ஸ் பிளாட்ஃபார்ம்களில் NGINX Service Mesh ஆதரிக்கப்படுகிறது;
  • கருவி kubectl, NSM நிறுவப்படும் கணினியில் நிறுவப்பட்டது;
  • NGINX சேவை மெஷ் வெளியீட்டு தொகுப்புகளுக்கான அணுகல். குபெர்னெட்ஸ் கிளஸ்டரில் கிடைக்கும் கொள்கலன்களுக்கான தனிப்பட்ட பதிவேட்டில் பதிவேற்றுவதற்கு தேவையான NSM படங்கள் தொகுப்பில் உள்ளன. தொகுப்பிலும் உள்ளது nginx-meshctl, NSM ஐ பயன்படுத்த வேண்டும்.

இயல்புநிலை அமைப்புகளுடன் NSM ஐப் பயன்படுத்த, பின்வரும் கட்டளையை இயக்கவும். வரிசைப்படுத்தலின் போது, ​​கூறுகளின் வெற்றிகரமான நிறுவலைக் குறிக்கும் செய்திகள் காட்டப்படும், இறுதியாக, NSM தனி பெயர்வெளியில் இயங்குகிறது என்பதைக் குறிக்கும் செய்தி (நீங்கள் முதலில் செய்ய வேண்டும் скачать மற்றும் பதிவேட்டில் வைக்கவும், தோராயமாக மொழிபெயர்ப்பாளர்):

$ DOCKER_REGISTRY=your-Docker-registry ; MESH_VER=0.6.0 ; 
 ./nginx-meshctl deploy  
  --nginx-mesh-api-image "${DOCKER_REGISTRY}/nginx-mesh-api:${MESH_VER}" 
  --nginx-mesh-sidecar-image "${DOCKER_REGISTRY}/nginx-mesh-sidecar:${MESH_VER}" 
  --nginx-mesh-init-image "${DOCKER_REGISTRY}/nginx-mesh-init:${MESH_VER}" 
  --nginx-mesh-metrics-image "${DOCKER_REGISTRY}/nginx-mesh-metrics:${MESH_VER}"
Created namespace "nginx-mesh".
Created SpiffeID CRD.
Waiting for Spire pods to be running...done.
Deployed Spire.
Deployed NATS server.
Created traffic policy CRDs.
Deployed Mesh API.
Deployed Metrics API Server.
Deployed Prometheus Server nginx-mesh/prometheus-server.
Deployed Grafana nginx-mesh/grafana.
Deployed tracing server nginx-mesh/zipkin.
All resources created. Testing the connection to the Service Mesh API Server...

Connected to the NGINX Service Mesh API successfully.
NGINX Service Mesh is running.

மேம்பட்ட அமைப்புகள் உட்பட கூடுதல் விருப்பங்களுக்கு, இந்த கட்டளையை இயக்கவும்:

$ nginx-meshctl deploy –h

கட்டுப்பாட்டு விமானம் பெயர்வெளியில் சரியாக வேலை செய்கிறதா என சரிபார்க்கவும் nginx-mesh, நீங்கள் இதை செய்ய முடியும்:

$ kubectl get pods –n nginx-mesh
NAME                                 READY   STATUS    RESTARTS   AGE
grafana-6cc6958cd9-dccj6             1/1     Running   0          2d19h
mesh-api-6b95576c46-8npkb            1/1     Running   0          2d19h
nats-server-6d5c57f894-225qn         1/1     Running   0          2d19h
prometheus-server-65c95b788b-zkt95   1/1     Running   0          2d19h
smi-metrics-5986dfb8d5-q6gfj         1/1     Running   0          2d19h
spire-agent-5cf87                    1/1     Running   0          2d19h
spire-agent-rr2tt                    1/1     Running   0          2d19h
spire-agent-vwjbv                    1/1     Running   0          2d19h
spire-server-0                       2/2     Running   0          2d19h
zipkin-6f7cbf5467-ns6wc              1/1     Running   0          2d19h

கைமுறை அல்லது தானியங்கி ஊசி கொள்கைகளை அமைக்கும் வரிசைப்படுத்தல் அமைப்புகளைப் பொறுத்து, NGINX சைட்கார் ப்ராக்ஸிகள் இயல்பாகவே பயன்பாடுகளில் சேர்க்கப்படும். தானாக சேர்ப்பதை முடக்க, படிக்கவும் இங்கே

எடுத்துக்காட்டாக, நாங்கள் பயன்பாட்டை வரிசைப்படுத்தினால் தூக்கம் பெயர்வெளியில் இயல்புநிலை, பின்னர் Pod ஐ சரிபார்க்கவும் - நாம் இரண்டு இயங்கும் கொள்கலன்களைப் பார்ப்போம், பயன்பாடு தூக்கம் மற்றும் தொடர்புடைய சைட்கார்:

$ kubectl apply –f sleep.yaml
$ kubectl get pods –n default
NAME                     READY   STATUS    RESTARTS   AGE
sleep-674f75ff4d-gxjf2   2/2     Running   0          5h23m

நாம் பயன்பாட்டை கண்காணிக்க முடியும் தூக்கம் NGINX Plus பேனலில், உங்கள் லோக்கல் மெஷினிலிருந்து சைட்காரை அணுக இந்தக் கட்டளையை இயக்குகிறது:

$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886

பிறகு தான் உள்ளே செல்கிறோம் இங்கே உலாவியில். பயன்பாட்டைக் கண்காணிக்க நீங்கள் Prometheus உடன் இணைக்கலாம் தூக்கம்.

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

முடிவுக்கு

NGINX சேவை மெஷ் இலவசமாக பதிவிறக்கம் செய்ய கிடைக்கிறது போர்டல் F5. உங்கள் டெவ் மற்றும் சோதனை சூழல்களில் இதை முயற்சிக்கவும் முடிவுகளைப் பற்றி எங்களுக்கு எழுதுங்கள்.

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

நிறுவனத்தின் பொறியாளர் பாவெல் டெம்கோவிச் மொழிபெயர்ப்பு சவுத்பிரிட்ஜ். கணினி நிர்வாகம் மாதத்திற்கு 15 ரூபிள். மற்றும் ஒரு தனி பிரிவாக - ஒரு பயிற்சி மையம் சேரி, பயிற்சி மற்றும் பயிற்சி தவிர வேறில்லை.

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

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