NGINX సర్వీస్ మెష్ అందుబాటులో ఉంది

NGINX సర్వీస్ మెష్ అందుబాటులో ఉంది

మేము పరిదృశ్య సంస్కరణను ప్రదర్శించడానికి సంతోషిస్తున్నాము NGINX సర్వీస్ మెష్ (NSM), కుబెర్నెటెస్ పరిసరాలలో కంటైనర్ ట్రాఫిక్‌ని నిర్వహించడానికి NGINX ప్లస్-ఆధారిత డేటా ప్లేన్‌ని ఉపయోగించే బండిల్ చేయబడిన తేలికపాటి సర్వీస్ మెష్.

NSM ఉచితం ఇక్కడ డౌన్‌లోడ్ చేయండి. మీరు దీన్ని డెవలప్‌మెంట్ మరియు టెస్ట్ ఎన్విరాన్‌మెంట్‌ల కోసం ప్రయత్నిస్తారని మేము ఆశిస్తున్నాము - మరియు మీ అభిప్రాయం కోసం ఎదురుచూస్తున్నాము GitHubలో.

మైక్రోసర్వీస్ మెథడాలజీని అమలు చేయడం అనేది డెలివరీ స్కేల్ పెరగడంతోపాటు దాని సంక్లిష్టత కారణంగా ఇబ్బందులతో నిండి ఉంది. సేవల మధ్య కమ్యూనికేషన్ మరింత క్లిష్టంగా మారుతుంది, డీబగ్గింగ్ సమస్యలు మరింత క్లిష్టంగా మారతాయి మరియు మరిన్ని సేవలను నిర్వహించడానికి మరిన్ని వనరులు అవసరమవుతాయి.

NSM మీకు వీటిని అందించడం ద్వారా ఈ సమస్యలను పరిష్కరిస్తుంది:

  • భద్రత, ఇది గతంలో కంటే ఇప్పుడు మరింత ముఖ్యమైనది. డేటా ఉల్లంఘన వల్ల కంపెనీకి సంవత్సరానికి మిలియన్ల డాలర్లు నష్టం రాబడి మరియు ఖ్యాతి పోతుంది. NSM అన్ని కనెక్షన్‌లు mTLSని ఉపయోగించి ఎన్‌క్రిప్ట్ చేయబడిందని నిర్ధారిస్తుంది, కాబట్టి నెట్‌వర్క్ ద్వారా హ్యాకర్లు దొంగిలించగల సున్నితమైన డేటా లేదు. ఇతర సేవలతో సేవలు ఎలా కమ్యూనికేట్ చేయాలో విధానాలను సెట్ చేయడానికి యాక్సెస్ నియంత్రణ మిమ్మల్ని అనుమతిస్తుంది.
  • ట్రాఫిక్ నిర్వహణ. అప్లికేషన్ యొక్క కొత్త వెర్షన్‌ను షిప్పింగ్ చేస్తున్నప్పుడు, లోపం సంభవించినప్పుడు దానికి ఇన్‌కమింగ్ ట్రాఫిక్‌ను పరిమితం చేయడం ద్వారా మీరు ప్రారంభించాలనుకోవచ్చు. NSM యొక్క ఇంటెలిజెంట్ కంటైనర్ ట్రాఫిక్ మేనేజ్‌మెంట్‌తో, మీరు కాలక్రమేణా ట్రాఫిక్‌ను పెంచే కొత్త సేవల కోసం ట్రాఫిక్ పరిమితి విధానాన్ని సెట్ చేయవచ్చు. స్పీడ్ లిమిటింగ్ మరియు సర్క్యూట్ బ్రేకర్లు వంటి ఇతర ఫీచర్లు మీ అన్ని సేవల ట్రాఫిక్ ఫ్లోపై మీకు పూర్తి నియంత్రణను అందిస్తాయి.
  • విజువలైజేషన్. వేలాది సేవలను నిర్వహించడం అనేది డీబగ్గింగ్ మరియు విజువలైజేషన్ పీడకల. NGINX ప్లస్‌లో అందుబాటులో ఉన్న అన్ని ఫీచర్‌లను ప్రదర్శించే అంతర్నిర్మిత గ్రాఫానా డాష్‌బోర్డ్‌తో ఈ పరిస్థితిని ఎదుర్కోవడంలో NSM సహాయపడుతుంది. మరియు అమలు చేయబడిన ఓపెన్ ట్రేసింగ్ లావాదేవీలను వివరంగా పర్యవేక్షించడానికి మిమ్మల్ని అనుమతిస్తుంది.
  • హైబ్రిడ్ డెలివరీలు, మీ కంపెనీ, చాలా మంది ఇతరుల మాదిరిగానే, పూర్తిగా కుబెర్నెట్స్‌లో నడుస్తున్న మౌలిక సదుపాయాలను ఉపయోగించకపోతే. లెగసీ అప్లికేషన్‌లను గమనించకుండా వదిలేయకుండా NSM నిర్ధారిస్తుంది. అమలు చేయబడిన NGINX కుబెర్నెట్స్ ఇన్‌గ్రెస్ కంట్రోలర్ సహాయంతో, లెగసీ సేవలు మెష్ సేవలతో కమ్యూనికేట్ చేయగలవు మరియు వైస్ వెర్సా.

కంటైనర్ ట్రాఫిక్‌కు ఎన్‌క్రిప్షన్ మరియు ప్రామాణీకరణను పారదర్శకంగా వర్తింపజేయడం ద్వారా జీరో ట్రస్ట్ ఎన్విరాన్‌మెంట్‌లలో అప్లికేషన్ భద్రతను కూడా NSM నిర్ధారిస్తుంది. ఇది లావాదేవీల దృశ్యమానతను మరియు విశ్లేషణను కూడా అందిస్తుంది, త్వరగా మరియు ఖచ్చితంగా విస్తరణలను ప్రారంభించడంలో మరియు సమస్యలను పరిష్కరించడంలో మీకు సహాయం చేస్తుంది. ఇది గ్రాన్యులర్ ట్రాఫిక్ నియంత్రణను కూడా అందిస్తుంది, డెవలపర్‌లు వారి పంపిణీ చేసిన అప్లికేషన్‌లను రూపొందించడానికి మరియు సులభంగా కనెక్ట్ చేయడానికి వీలు కల్పిస్తూనే DevOps బృందాలు అప్లికేషన్‌ల భాగాలను అమర్చడానికి మరియు ఆప్టిమైజ్ చేయడానికి అనుమతిస్తుంది.

NGINX సర్వీస్ మెష్ ఎలా పని చేస్తుంది?

NSM క్షితిజ సమాంతర (సర్వీస్-టు-సర్వీస్) ట్రాఫిక్ కోసం ఏకీకృత డేటా ప్లేన్‌ను కలిగి ఉంటుంది మరియు నిలువు ట్రాఫిక్ కోసం ఎంబెడెడ్ NGINX ప్లస్ ఇన్‌గ్రెస్ కంట్రోలర్‌ను కలిగి ఉంటుంది, ఇది ఒకే నియంత్రణ విమానం ద్వారా నిర్వహించబడుతుంది.

నియంత్రణ విమానం NGINX ప్లస్ డేటా ప్లేన్ కోసం ప్రత్యేకంగా రూపొందించబడింది మరియు ఆప్టిమైజ్ చేయబడింది మరియు NGINX ప్లస్ సైడ్‌కార్‌లలో పంపిణీ చేయబడిన ట్రాఫిక్ నియంత్రణ నియమాలను నిర్వచిస్తుంది.

NSMలో, మెష్‌లోని ప్రతి సేవకు సైడ్‌కార్ ప్రాక్సీలు ఇన్‌స్టాల్ చేయబడతాయి. అవి క్రింది ఓపెన్ సోర్స్ సొల్యూషన్స్‌తో ఇంటర్‌ఫేస్ చేస్తాయి:

  • గ్రాఫానా, ప్రోమేతియస్ పారామీటర్ విజువలైజేషన్, అంతర్నిర్మిత NSM ప్యానెల్ మీ పనిలో మీకు సహాయం చేస్తుంది;
  • మెష్‌లో ఇన్‌కమింగ్ మరియు అవుట్‌గోయింగ్ ట్రాఫిక్‌ను నిర్వహించడానికి కుబెర్నెట్స్ ఇన్‌గ్రెస్ కంట్రోలర్‌లు;
  • మెష్‌లో సర్టిఫికెట్‌లను నిర్వహించడం, పంపిణీ చేయడం మరియు నవీకరించడం కోసం SPIRE, CA;
  • NATS, కంట్రోల్ ప్లేన్ నుండి సైడ్‌కార్‌లకు రూట్ అప్‌డేట్‌ల వంటి సందేశాలను పంపడానికి స్కేలబుల్ సిస్టమ్;
  • ఓపెన్ ట్రేసింగ్, పంపిణీ చేయబడిన డీబగ్గింగ్ (జిప్కిన్ మరియు జేగర్ మద్దతు);
  • ప్రోమేతియస్, అభ్యర్థనల సంఖ్య, కనెక్షన్‌లు మరియు SSL హ్యాండ్‌షేక్‌ల వంటి NGINX ప్లస్ సైడ్‌కార్‌ల నుండి లక్షణాలను సేకరించి నిల్వ చేస్తుంది.

విధులు మరియు భాగాలు

NGINX ప్లస్ డేటా ప్లేన్‌గా సైడ్‌కార్ ప్రాక్సీ (క్షితిజ సమాంతర ట్రాఫిక్) మరియు ఇన్‌గ్రెస్ కంట్రోలర్ (నిలువు), సేవల మధ్య కంటైనర్ ట్రాఫిక్‌ను అడ్డుకోవడం మరియు నిర్వహించడం వంటివి కవర్ చేస్తుంది.

ఫీచర్లు ఉన్నాయి:

  • మ్యూచువల్ TLS (mTLS) ప్రమాణీకరణ;
  • లోడ్ బ్యాలెన్సింగ్;
  • తప్పు సహనం;
  • వేగ పరిమితి;
  • సర్క్యూట్ బ్రేకింగ్;
  • నీలం-ఆకుపచ్చ మరియు కానరీ విస్తరణలు;
  • యాక్సెస్ నియంత్రణ.

NGINX సర్వీస్ మెష్‌ని ప్రారంభిస్తోంది

NSMని అమలు చేయడానికి మీకు ఇది అవసరం:

  • కుబెర్నెట్స్ పర్యావరణానికి యాక్సెస్. NGINX సర్వీస్ మెష్ అనేక Kubernetes ప్లాట్‌ఫారమ్‌లలో మద్దతునిస్తుంది, వీటిలో Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes ఇంజిన్ (GKE), VMware vSphere మరియు హార్డ్‌వేర్ సర్వర్‌లలో అమలు చేయబడిన సాధారణ కుబెర్నెట్స్ క్లస్టర్‌లు ఉన్నాయి;
  • సాధనం kubectl, NSM ఇన్‌స్టాల్ చేయబడే మెషీన్‌లో ఇన్‌స్టాల్ చేయబడింది;
  • NGINX సర్వీస్ మెష్ విడుదల ప్యాకేజీలకు యాక్సెస్. 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 సైడ్‌కార్ల ప్రాక్సీలు డిఫాల్ట్‌గా అప్లికేషన్‌లకు జోడించబడతాయి. స్వయంచాలకంగా జోడించడాన్ని నిలిపివేయడానికి, చదవండి ఇక్కడ

ఉదాహరణకు, మేము అప్లికేషన్‌ను అమలు చేస్తే నిద్ర నేమ్‌స్పేస్‌లో డిఫాల్ట్, ఆపై పాడ్‌ని తనిఖీ చేయండి - మేము రెండు రన్నింగ్ కంటైనర్‌లను చూస్తాము, అప్లికేషన్ నిద్ర మరియు అనుబంధిత సైడ్‌కార్:

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

మేము అప్లికేషన్‌ను కూడా పర్యవేక్షించవచ్చు నిద్ర NGINX ప్లస్ ప్యానెల్‌లో, మీ స్థానిక మెషీన్ నుండి సైడ్‌కార్‌ను యాక్సెస్ చేయడానికి ఈ ఆదేశాన్ని అమలు చేస్తోంది:

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

అప్పుడు మేము లోపలికి వెళ్తాము ఇక్కడ బ్రౌజర్‌లో. అప్లికేషన్‌ను పర్యవేక్షించడానికి మీరు ప్రోమేథియస్‌కి కూడా కనెక్ట్ చేయవచ్చు నిద్ర.

యాక్సెస్ కంట్రోల్, రేట్ లిమిటింగ్ మరియు సర్క్యూట్ బ్రేకింగ్ వంటి ట్రాఫిక్ విధానాలను కాన్ఫిగర్ చేయడానికి మీరు వ్యక్తిగత కుబెర్నెట్స్ వనరులను ఉపయోగించవచ్చు, దీని కోసం చూడండి డాక్యుమెంటేషన్

తీర్మానం

NGINX సర్వీస్ మెష్ ఉచితంగా డౌన్‌లోడ్ చేసుకోవడానికి అందుబాటులో ఉంది పోర్టల్ F5. మీ dev మరియు పరీక్ష పరిసరాలలో దీన్ని ప్రయత్నించండి మరియు ఫలితాల గురించి మాకు వ్రాయండి.

NGINX ప్లస్ ఇన్‌గ్రెస్ కంట్రోలర్‌ని ప్రయత్నించడానికి, యాక్టివేట్ చేయండి ఉచిత ట్రయల్ వ్యవధి 30 రోజులు, లేదా మమ్మల్ని సంప్రదించండి మీ వినియోగ కేసులను చర్చించడానికి.

పావెల్ డెమ్కోవిచ్, కంపెనీ ఇంజనీర్ ద్వారా అనువాదం SOUTHBRIDGE. నెలకు RUB 15 కోసం సిస్టమ్ నిర్వహణ. మరియు ఒక ప్రత్యేక విభాగంగా - ఒక శిక్షణా కేంద్రం మురికివాడ, సాధన మరియు అభ్యాసం తప్ప మరేమీ కాదు.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి