NGINX සේවා දැලක් තිබේ

NGINX සේවා දැලක් තිබේ

පෙරදසුන් අනුවාදයක් ඉදිරිපත් කිරීමට අපි සතුටු වෙමු NGINX සේවා දැල (NSM), Kubernetes පරිසරය තුළ බහාලුම් ගමනාගමනය කළමනාකරණය කිරීමට NGINX Plus-පාදක දත්ත තලයක් භාවිතා කරන මිටි සැහැල්ලු සේවා දැලක්.

NSM නොමිලේ මෙතැනින් බාගන්න. ඔබ dev සහ පරීක්ෂණ පරිසරයන් සඳහා එය උත්සාහ කරනු ඇතැයි අපි බලාපොරොත්තු වෙමු - සහ ඔබේ ප්‍රතිපෝෂණය බලාපොරොත්තු වන්න GitHub මත.

ක්ෂුද්‍ර සේවා ක්‍රමවේදය ක්‍රියාත්මක කිරීම බෙදා හැරීමේ පරිමාණය මෙන්ම එහි සංකීර්ණත්වය වර්ධනය වන විට දුෂ්කරතා වලින් පිරී ඇත. සේවා අතර සන්නිවේදනය වඩාත් සංකීර්ණ වේ, දෝශ නිරාකරණ ගැටළු වඩාත් අපහසු වේ, සහ වැඩි වැඩියෙන් සේවාවන් කළමනාකරණය කිරීමට වැඩි සම්පත් අවශ්ය වේ.

NSM ඔබට ලබා දීමෙන් මෙම ගැටළු විසඳයි:

  • Безопасность, එය වෙන කවරදාටත් වඩා දැන් වැදගත් ය. දත්ත කඩකිරීමක් නිසා සමාගමකට වාර්ෂිකව ඩොලර් මිලියන ගණනින් අහිමි වූ ආදායම සහ කීර්තිය අහිමි විය හැකිය. සියලුම සම්බන්ධතා mTLS භාවිතයෙන් සංකේතනය කර ඇති බව NSM සහතික කරයි, එබැවින් ජාලය හරහා හැකර්වරුන්ට සොරකම් කළ හැකි සංවේදී දත්ත නොමැත. ප්‍රවේශ පාලනය මඟින් සේවාවන් වෙනත් සේවාවන් සමඟ සන්නිවේදනය කරන ආකාරය සඳහා ප්‍රතිපත්ති සැකසීමට ඔබට ඉඩ සලසයි.
  • රථවාහන කළමනාකරණය. යෙදුමක නව අනුවාදයක් නැව්ගත කිරීමේදී, දෝෂයක් ඇති වූ විට එයට එන ගමනාගමනය සීමා කිරීමෙන් ආරම්භ කිරීමට ඔබට අවශ්‍ය විය හැකිය. NSM හි බුද්ධිමත් බහාලුම් ගමනාගමන කළමනාකරණය සමඟින්, ඔබට කාලයත් සමඟ ගමනාගමනය වැඩි කරන නව සේවා සඳහා රථවාහන සීමා කිරීමේ ප්‍රතිපත්තියක් සැකසිය හැක. වේග සීමා කිරීම සහ පරිපථ කඩන යන්ත්‍ර වැනි අනෙකුත් විශේෂාංග, ඔබේ සියලුම සේවාවන්හි ගමනාගමන ප්‍රවාහය පිළිබඳ පූර්ණ පාලනය ඔබට ලබා දේ.
  • දෘශ්යකරණය. සේවා දහස් ගණනක් කළමනාකරණය කිරීම නිදොස්කරණය සහ දෘශ්‍යකරණය බියකරු සිහිනයක් විය හැකිය. NGINX Plus හි ඇති සියලුම විශේෂාංග ප්‍රදර්ශනය කරන ගොඩනඟන ලද Grafana උපකරණ පුවරුවක් සමඟින් මෙම තත්ත්වය සමඟ කටයුතු කිරීමට NSM උදවු කරයි. ක්‍රියාත්මක කරන ලද විවෘත ලුහුබැඳීම ඔබට ගනුදෙනු විස්තරාත්මකව නිරීක්ෂණය කිරීමට ඉඩ සලසයි.
  • දෙමුහුන් බෙදාහැරීම්, ඔබේ සමාගම, අනෙකුත් බොහෝ අය මෙන්, සම්පූර්ණයෙන්ම Kubernetes මත ධාවනය වන යටිතල පහසුකම් භාවිතා නොකරන්නේ නම්. NSM විසින් උරුම යෙදුම් අවධානයෙන් තොරව ඉතිරි නොවන බව සහතික කරයි. ක්‍රියාත්මක කරන ලද NGINX Kubernetes Ingress Controller හි සහාය ඇතිව, උරුම සේවාවලට දැල් සේවා සමඟ සන්නිවේදනය කිරීමට හැකි වනු ඇත, සහ අනෙක් අතට.

බහාලුම් ගමනාගමනය සඳහා විනිවිදභාවයෙන් සංකේතනය සහ සත්‍යාපනය යෙදීමෙන් NSM ශුන්‍ය විශ්වාස පරිසරය තුළ යෙදුම් ආරක්ෂාව සහතික කරයි. එය ගනුදෙනු දෘශ්‍යතාව සහ විශ්ලේෂණය ද සපයයි, ඔබට ඉක්මනින් සහ නිවැරදිව යෙදවීම් දියත් කිරීමට සහ ගැටළු නිරාකරණය කිරීමට උපකාරී වේ. එය සංවර්ධකයින්ට ඔවුන්ගේ බෙදා හරින ලද යෙදුම් තැනීමට සහ පහසුවෙන් සම්බන්ධ කිරීමට හැකි වන අතරම යෙදුම්වල කොටස් යෙදවීමට සහ ප්‍රශස්ත කිරීමට DevOps කණ්ඩායම්වලට ඉඩ සලසමින් කැටිති ගමනාගමන පාලනය ද සපයයි.

NGINX සේවා දැල ක්‍රියා කරන්නේ කෙසේද?

NSM තිරස් (සේවාව-සේවා) ගමනාගමනය සඳහා ඒකාබද්ධ දත්ත තලයකින් සහ සිරස් ගමනාගමනය සඳහා කාවැද්දූ NGINX Plus ඇතුල්වීමේ පාලකයකින් සමන්විත වේ, තනි පාලන තලයකින් කළමනාකරණය වේ.

පාලන තලය NGINX Plus දත්ත තලය සඳහා විශේෂයෙන් නිර්මාණය කර ප්‍රශස්ත කර ඇති අතර NGINX Plus සයිඩ් කාර් හරහා බෙදා හරින රථවාහන පාලන නීති නිර්වචනය කරයි.

NSM හි, දැලෙහි එක් එක් සේවාව සඳහා සයිඩ්කාර් ප්‍රොක්සි ස්ථාපනය කර ඇත. ඔවුන් පහත විවෘත මූලාශ්‍ර විසඳුම් සමඟ අතුරු මුහුණත් කරයි:

  • Grafana, Prometheus පරාමිති දෘශ්‍යකරණය, බිල්ට්-ඉන් NSM පැනලය ඔබේ වැඩ සඳහා ඔබට උපකාර කරයි;
  • Kubernetes Ingress Controllers, දැල තුළට පැමිණෙන සහ පිටතට යන ගමනාගමනය කළමනාකරණය කිරීම සඳහා;
  • දැලෙහි සහතික කළමනාකරණය, බෙදා හැරීම සහ යාවත්කාලීන කිරීම සඳහා SPIRE, CA;
  • NATS, පාලන තලයේ සිට පැති කාර් දක්වා මාර්ග යාවත්කාලීන කිරීම් වැනි පණිවිඩ යැවීම සඳහා පරිමාණය කළ හැකි පද්ධතියකි;
  • විවෘත ලුහුබැඳීම, බෙදා හරින ලද නිදොස්කරණය (Zipkin සහ Jaeger සහාය දක්වයි);
  • Prometheus, ඉල්ලීම් ගණන, සම්බන්ධතා සහ SSL හෑන්ඩ්ෂේක් වැනි NGINX Plus සයිඩ්කාර් වෙතින් ලක්ෂණ එකතු කර ගබඩා කරයි.

කාර්යයන් සහ සංරචක

NGINX Plus දත්ත තලයක් ලෙස සයිඩ්කාර් ප්‍රොක්සි (තිරස් ගමනාගමනය) සහ ඇතුල්වීමේ පාලකය (සිරස්), සේවා අතර බහාලුම් ගමනාගමනය බාධා කිරීම සහ කළමනාකරණය කිරීම ආවරණය කරයි.

විශේෂාංග ඇතුළත් වේ:

  • අන්‍යෝන්‍ය TLS (mTLS) සත්‍යාපනය;
  • බර සමතුලිත කිරීම;
  • වැරදි ඉවසීම;
  • වේග සීමාව;
  • පරිපථ බිඳීම;
  • නිල්-කොළ සහ කැනරි යෙදවීම්;
  • ප්රවේශ පාලනය.

NGINX සේවා දැල් දියත් කිරීම

NSM ධාවනය කිරීමට ඔබට අවශ්‍ය වන්නේ:

  • Kubernetes පරිසරයට ප්රවේශය. NGINX Service Mesh, Kubernetes සඳහා Amazon Elastic Container Service (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere, සහ දෘඪාංග සේවාදායක මත යොදවා ඇති සාමාන්‍ය Kubernetes පොකුරු ඇතුළු බොහෝ Kubernetes වේදිකාවල සහය දක්වයි;
  • මෙවලම kubectl, NSM ස්ථාපනය කරනු ලබන යන්ත්රය මත ස්ථාපනය කර ඇත;
  • NGINX සේවා Mesh නිකුත් කිරීමේ පැකේජ වෙත ප්‍රවේශය. Kubernetes පොකුරේ ඇති බහාලුම් සඳහා පුද්ගලික ලේඛනයකට උඩුගත කිරීමට අවශ්‍ය 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 වෙත සම්බන්ධ විය හැක නින්ද.

ප්‍රවේශ පාලනය, අනුපාත සීමා කිරීම සහ පරිපථ කඩනය වැනි රථවාහන ප්‍රතිපත්ති වින්‍යාස කිරීමට ඔබට තනි Kubernetes සම්පත් භාවිතා කළ හැක. ලේඛනගත කිරීම

නිගමනය

NGINX Service Mesh නොමිලේ බාගත කිරීම සඳහා ලබා ගත හැකිය ද්වාරය F5. ඔබේ dev සහ පරීක්ෂණ පරිසරයන් තුළ එය උත්සාහ කරන්න ප්රතිඵල ගැන අපට ලියන්න.

NGINX Plus Ingress Controller උත්සාහ කිරීමට, සක්‍රිය කරන්න නොමිලේ අත්හදා බැලීමේ කාලය දින 30 ක් සඳහා, හෝ අප අමතන්න ඔබගේ භාවිත අවස්ථා සාකච්ඡා කිරීමට.

සමාගමේ ඉංජිනේරු Pavel Demkovich විසින් පරිවර්තනය සවුත්බ්‍රිජ්. මසකට RUB 15 සඳහා පද්ධති පරිපාලනය. සහ වෙනම අංශයක් ලෙස - පුහුණු මධ්යස්ථානයක් මුඩුක්කුව, පුහුණුවීම් සහ ප්රායෝගිකව හැර අන් කිසිවක් නොවේ.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න