NGINX የአገልግሎት መረብ ይገኛል።

NGINX የአገልግሎት መረብ ይገኛል።

የቅድመ እይታ ሥሪት በማቅረባችን ደስ ብሎናል። NGINX አገልግሎት ሜሽ (ኤን.ኤስ.ኤም)፣ በNGINX Plus ላይ የተመሰረተ የውሂብ አውሮፕላን በኩበርኔትስ አከባቢዎች ውስጥ የእቃ መያዢያ ትራፊክን ለማስተዳደር የሚጠቀም ጥቅል ቀላል ክብደት ያለው የአገልግሎት መረብ።

NSM ነፃ ነው። እዚህ አውርድ. ለዴቭ እና ለሙከራ አካባቢዎች እንደሚሞክሩት ተስፋ እናደርጋለን - እና የእርስዎን አስተያየት በጉጉት ይጠብቁ በ GitHub ላይ.

የአቅርቦት መጠን እያደገ ሲሄድ የማይክሮ ሰርቪስ ዘዴ አተገባበር በችግሮች የተሞላ ነው። በአገልግሎቶች መካከል ያለው ግንኙነት ይበልጥ ውስብስብ ይሆናል፣ የማረሚያ ችግሮች ይበልጥ አስቸጋሪ ይሆናሉ፣ እና ተጨማሪ አገልግሎቶች ለማስተዳደር ብዙ ግብዓቶችን ይፈልጋሉ።

NSM እርስዎን በማቅረብ እነዚህን ችግሮች ይፈታል፡-

  • ደህንነት, ይህም አሁን ከመቼውም ጊዜ ይበልጥ አስፈላጊ ነው. የውሂብ ጥሰት አንድ ኩባንያ በየዓመቱ በሚሊዮኖች የሚቆጠር ዶላር ለጠፋ ገቢ እና መልካም ስም ሊያወጣ ይችላል። NSM ሁሉም ግንኙነቶች mTLS በመጠቀም የተመሰጠሩ መሆናቸውን ያረጋግጣል፣ ስለዚህ በአውታረ መረቡ ላይ በጠላፊዎች ሊሰረቅ የሚችል ምንም ሚስጥራዊነት ያለው መረጃ የለም። የመዳረሻ ቁጥጥር አገልግሎቶች ከሌሎች አገልግሎቶች ጋር እንዴት እንደሚገናኙ ፖሊሲዎችን እንዲያዘጋጁ ያስችልዎታል።
  • የትራፊክ አስተዳደር. አዲስ የመተግበሪያ ስሪት ሲልኩ፣ ስህተት ከተፈጠረ ወደ እሱ የሚመጣውን ትራፊክ በመገደብ መጀመር ይፈልጉ ይሆናል። በNSM የማሰብ ችሎታ ያለው የኮንቴይነር ትራፊክ አስተዳደር፣ በጊዜ ሂደት ትራፊክን የሚጨምሩ አዳዲስ አገልግሎቶችን የትራፊክ መገደብ ፖሊሲ ​​ማቀናበር ይችላሉ። እንደ ፍጥነት መገደብ እና ወረዳ መግቻ ያሉ ሌሎች ባህሪያት በሁሉም አገልግሎቶችዎ የትራፊክ ፍሰት ላይ ሙሉ ቁጥጥር ይሰጡዎታል።
  • ምስላዊ. በሺዎች የሚቆጠሩ አገልግሎቶችን ማስተዳደር ማረም እና ምስላዊ ቅዠት ሊሆን ይችላል. NSM በNGINX Plus ውስጥ ያሉትን ሁሉንም ባህሪያት በሚያሳይ አብሮ በተሰራው የግራፋና ዳሽቦርድ ይህንን ሁኔታ ለመቋቋም ይረዳል። እና እንዲሁም የተተገበረው ክፍት ትራኪንግ ግብይቶችን በዝርዝር እንዲከታተሉ ያስችልዎታል።
  • ድብልቅ መላኪያዎች, የእርስዎ ኩባንያ, ልክ እንደ ሌሎች, ሙሉ በሙሉ Kubernetes ላይ የሚሰራ መሠረተ ልማት የማይጠቀም ከሆነ. ኤን.ኤም.ኤም የቆዩ ማመልከቻዎች ክትትል ሳይደረግባቸው እንዳልቀሩ ያረጋግጣል። በተተገበረው የ NGINX Kubernetes Ingress Controller እገዛ, የቆዩ አገልግሎቶች ከተጣራ አገልግሎቶች ጋር መገናኘት ይችላሉ, እና በተቃራኒው.

NSM ምስጠራን እና ማረጋገጫን በኮንቴይነር ትራፊክ ላይ በመተግበር በዜሮ እምነት አካባቢዎች ውስጥ የመተግበሪያ ደህንነትን ያረጋግጣል። እንዲሁም የግብይት ታይነትን እና ትንታኔን ያቀርባል፣ እርስዎ በፍጥነት እና በትክክል ማሰማራትን ለማስጀመር እና ችግሮችን ለመፍታት ያግዝዎታል። እንዲሁም ገንቢዎች የተከፋፈሉ አፕሊኬሽኖቻቸውን እንዲገነቡ እና በቀላሉ እንዲያገናኙ የሚያስችላቸው የዴቭኦፕ ቡድኖች የመተግበሪያውን ክፍሎች እንዲያሰማሩ እና እንዲያመቻቹ የሚያስችላቸው ጥራጥ የትራፊክ ቁጥጥርን ይሰጣል።

የ NGINX አገልግሎት ሜሽ እንዴት ነው የሚሰራው?

NSM የተዋሃደ የውሂብ አውሮፕላን ለአግድም (ከአገልግሎት ወደ አገልግሎት) ትራፊክ እና የተከተተ NGINX Plus Ingress Controller ለቋሚ ትራፊክ በአንድ መቆጣጠሪያ አውሮፕላን የሚተዳደር ነው።

የመቆጣጠሪያው አውሮፕላኑ በተለይ ለNGINX Plus ዳታ አውሮፕላን የተነደፈ እና የተመቻቸ ሲሆን በNGINX Plus የጎን መኪናዎች ላይ የሚሰራጩ የትራፊክ ቁጥጥር ህጎችን ይገልጻል።

በኤን.ኤስ.ኤም ውስጥ፣ የጎን መኪና ፕሮክሲዎች በሜሽ ውስጥ ለእያንዳንዱ አገልግሎት ተጭነዋል። ከሚከተሉት ክፍት ምንጭ መፍትሄዎች ጋር ይገናኛሉ፡

  • Grafana, Prometheus parameter visualization, አብሮ የተሰራ የ NSM ፓነል በስራዎ ላይ ያግዝዎታል;
  • Kubernetes Ingress Controllers, በአውታረ መረቡ ውስጥ ገቢ እና ወጪ ትራፊክን ለመቆጣጠር;
  • SPIRE, CA በመረጃ መረብ ውስጥ የምስክር ወረቀቶችን ለማስተዳደር, ለማሰራጨት እና ለማዘመን;
  • NATS፣ ከመቆጣጠሪያ አውሮፕላን ወደ ጎን መኪናዎች፣ እንደ የመንገድ ማሻሻያ ያሉ መልዕክቶችን ለመላክ ሊሰፋ የሚችል ስርዓት;
  • መከታተያ ክፈት፣ የተከፋፈለ ማረም (ዚፕኪን እና ጄገር ይደገፋሉ);
  • ፕሮሜቴየስ፣ ከNGINX Plus የጎን መኪናዎች እንደ የጥያቄዎች ብዛት፣ ግንኙነቶች እና የኤስኤስኤል መጨባበጥ ያሉ ባህሪያትን ይሰበስባል እና ያከማቻል።

ተግባራት እና አካላት

NGINX Plus እንደ ዳታ አውሮፕላን የጎን መኪና ፕሮክሲ (አግድም ትራፊክ) እና Ingress መቆጣጠሪያ (ቋሚ)፣ በአገልግሎቶች መካከል የመያዣ ትራፊክን በመጥለፍ እና በማስተዳደር ይሸፍናል።

ባህሪያት የሚከተሉትን ያካትታሉ:

  • የጋራ TLS (mTLS) ማረጋገጫ;
  • ጭነት ማመጣጠን;
  • ስህተትን መታገስ;
  • የፍጥነት ገደብ;
  • የወረዳ መስበር;
  • ሰማያዊ-አረንጓዴ እና የካናሪ ማሰማራት;
  • የመዳረሻ መቆጣጠሪያ.

የNGINX አገልግሎት መረብን በማስጀመር ላይ

NSM ለማሄድ የሚከተሉትን ያስፈልግዎታል

  • ወደ Kubernetes አካባቢ መድረስ. NGINX Service Mesh በብዙ የኩበርኔትስ መድረኮች ላይ ይደገፋል፣ የአማዞን ላስቲክ ኮንቴይነር አገልግሎት ለ Kubernetes (EKS)፣ Azure Kubernetes Service (AKS)፣ Google Kubernetes Engine (GKE)፣ VMware vSphere እና መደበኛ የኩበርኔትስ ስብስቦች በሃርድዌር አገልጋዮች ላይ ተዘርግተዋል፤
  • መሣሪያ 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 የጎን መኪና ፕሮክሲዎች በነባሪ ወደ መተግበሪያዎች ይታከላሉ። አውቶማቲክ ማከልን ለማሰናከል ያንብቡ እዚህ

ለምሳሌ, ማመልከቻውን ብናሰማራ እንቅልፍ በስም ቦታ ነባሪ, እና ከዚያ ፖድውን ያረጋግጡ - ሁለት የሩጫ መያዣዎችን, አፕሊኬሽኑን እናያለን እንቅልፍ እና ተያያዥ የጎን መኪና;

$ 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. በእርስዎ dev ውስጥ ይሞክሩት እና አካባቢያቸውን ይፈትሹ እና ስለ ውጤቱ ይፃፉልን.

NGINX Plus Ingress Controllerን ለመሞከር ያንቁ ነጻ የሙከራ ጊዜ ለ 30 ቀናት, ወይም አግኙን የእርስዎን አጠቃቀም ጉዳዮች ለመወያየት.

ትርጉም በፓቬል ዴምኮቪች, የኩባንያው መሐንዲስ Southbridge. የስርዓት አስተዳደር በወር 15 ሩብልስ። እና እንደ የተለየ ክፍል - የስልጠና ማዕከል ግርግር, ልምምድ እና ምንም ነገር ከመለማመድ በስተቀር.

ምንጭ: hab.com

አስተያየት ያክሉ