K dispozícii je sieť NGINX Service Mesh

K dispozícii je sieť NGINX Service Mesh

S potešením vám predstavujeme ukážkovú verziu Servisná sieť NGINX (NSM), dodávaná ľahká sieť služieb, ktorá využíva dátovú rovinu založenú na NGINX Plus na správu kontajnerovej prevádzky v prostrediach Kubernetes.

NSM je zadarmo stiahnuť tu. Dúfame, že si to vyskúšate pre vývojárske a testovacie prostredia – a tešíme sa na vašu spätnú väzbu na GitHub.

Implementácia metodológie mikroslužieb je spojená s problémami, keďže rozsah poskytovania služieb rastie, ako aj jej zložitosť. Komunikácia medzi službami sa stáva zložitejšou, problémy s ladením sa stávajú zložitejšími a čoraz viac služieb si vyžaduje viac zdrojov na správu.

NSM rieši tieto problémy tým, že vám poskytuje:

  • zabezpečenia, ktorá je teraz dôležitejšia ako kedykoľvek predtým. Porušenie údajov môže spoločnosť stáť milióny dolárov ročne v strate príjmov a reputácie. NSM zabezpečuje, že všetky pripojenia sú šifrované pomocou mTLS, takže neexistujú žiadne citlivé údaje, ktoré by hackeri mohli ukradnúť cez sieť. Riadenie prístupu vám umožňuje nastaviť pravidlá pre komunikáciu služieb s inými službami.
  • Riadenie dopravy. Pri odosielaní novej verzie aplikácie možno budete chcieť začať tým, že obmedzíte prichádzajúci prenos v prípade chyby. S inteligentnou správou kontajnerovej dopravy od NSM môžete nastaviť politiku obmedzenia premávky pre nové služby, ktoré časom zvýšia návštevnosť. Ďalšie funkcie, ako je obmedzenie rýchlosti a ističe, vám poskytnú plnú kontrolu nad dopravným tokom všetkých vašich služieb.
  • Vizualizácia. Správa tisícok služieb môže byť nočnou morou ladenia a vizualizácie. NSM pomáha riešiť túto situáciu pomocou vstavaného ovládacieho panela Grafana, ktorý zobrazuje všetky funkcie dostupné v NGINX Plus. A tiež implementovaný Open Tracing umožňuje detailne sledovať transakcie.
  • Hybridné dodávky, ak vaša spoločnosť, podobne ako väčšina ostatných, nepoužíva infraštruktúru, ktorá beží výhradne na Kubernetes. NSM zaisťuje, že staršie aplikácie nezostanú bez dozoru. S pomocou implementovaného kontroléra NGINX Kubernetes Ingress Controller budú môcť staršie služby komunikovať so sieťovými službami a naopak.

NSM tiež zaisťuje bezpečnosť aplikácií v prostrediach s nulovou dôveryhodnosťou transparentným aplikovaním šifrovania a autentifikácie na prenos kontajnerov. Poskytuje tiež prehľad o transakciách a analýzu, čo vám pomôže rýchlo a presne spustiť nasadenia a riešiť problémy. Poskytuje tiež granulárne riadenie prevádzky, čo umožňuje tímom DevOps nasadzovať a optimalizovať časti aplikácií a zároveň umožňuje vývojárom vytvárať a jednoducho prepájať svoje distribuované aplikácie.

Ako funguje sieť služieb NGINX?

NSM pozostáva z jednotnej dátovej roviny pre horizontálny prenos (service-to-service) a vstavaného kontroléra vstupu NGINX Plus pre vertikálny prenos, ktorý je riadený jednou riadiacou rovinou.

Riadiaca rovina je špeciálne navrhnutá a optimalizovaná pre dátovú rovinu NGINX Plus a definuje pravidlá riadenia dopravy distribuované medzi postrannými vozíkmi NGINX Plus.

V NSM sú servery proxy postranných vozíkov nainštalované pre každú službu v sieti. Sú prepojené s nasledujúcimi open source riešeniami:

  • Grafana, vizualizácia parametrov Prometheus, vstavaný panel NSM vám pomáha pri práci;
  • Kubernetes Ingress Controllers na správu prichádzajúcej a odchádzajúcej prevádzky v sieti;
  • SPIRE, CA na správu, distribúciu a aktualizáciu certifikátov v sieti;
  • NATS, škálovateľný systém na odosielanie správ, ako sú aktualizácie trasy, z riadiaceho lietadla do postranných vozíkov;
  • Open Tracing, distribuované ladenie (podporované Zipkin a Jaeger);
  • Prometheus zhromažďuje a ukladá charakteristiky z postranných vozíkov NGINX Plus, ako je počet požiadaviek, pripojení a handshake SSL.

Funkcie a komponenty

NGINX Plus ako dátová rovina pokrýva proxy postranného vozíka (horizontálna prevádzka) a kontrolór Ingress (vertikálny), zachytávanie a riadenie prepravy kontajnerov medzi službami.

Medzi vlastnosti patrí:

  • Vzájomná autentifikácia TLS (mTLS);
  • Rozdelenie výkonu;
  • Odolnosť proti chybám;
  • Rýchlostný limit;
  • Prerušenie obvodu;
  • Modro-zelené a kanárske nasadenie;
  • Riadenie prístupu.

Spustenie NGINX Service Mesh

Na spustenie NSM potrebujete:

  • prístup do prostredia Kubernetes. NGINX Service Mesh je podporovaný na mnohých platformách Kubernetes, vrátane Amazon Elastic Container Service pre Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere a bežných klastrov Kubernetes nasadených na hardvérových serveroch;
  • Nástroj kubectl, nainštalovaný na počítači, z ktorého sa nainštaluje NSM;
  • Prístup k uvoľňovacím balíkom NGINX Service Mesh. Balík obsahuje obrázky NSM potrebné na nahranie do súkromného registra pre kontajnery dostupné v klastri Kubernetes. Balenie obsahuje aj nginx-meshctl, potrebné na nasadenie NSM.

Ak chcete nasadiť NSM s predvolenými nastaveniami, spustite nasledujúci príkaz. Počas nasadenia sa zobrazujú hlásenia indikujúce úspešnú inštaláciu komponentov a nakoniec hlásenie oznamujúce, že NSM beží v samostatnom mennom priestore (musíte najprv k stiahnutiu a vložte ho do registra, približne. prekladateľ):

$ 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.

Ak chcete získať ďalšie možnosti vrátane rozšírených nastavení, spustite tento príkaz:

$ nginx-meshctl deploy –h

Skontrolujte, či riadiaca rovina funguje správne v mennom priestore nginx-mesh, dokážeš to:

$ 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

V závislosti od nastavení nasadenia, ktoré nastavujú pravidlá manuálneho alebo automatického vstrekovania, sa do aplikácií predvolene pridajú servery proxy postranných vozíkov NGINX. Ak chcete vypnúť automatické pridávanie, prečítajte si tu

Napríklad, ak nasadíme aplikáciu spať v mennom priestore štandardné, a potom skontrolujte Pod - uvidíme dva spustené kontajnery, aplikáciu spať a súvisiaci postranný vozík:

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

Môžeme sledovať aj aplikáciu spať na paneli NGINX Plus spustením tohto príkazu získate prístup k postrannému vozíku z miestneho počítača:

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

Potom už len vojdeme tu v prehliadači. Môžete sa tiež pripojiť k Prometheus a sledovať aplikáciu spať.

Jednotlivé zdroje Kubernetes môžete použiť na konfiguráciu dopravných politík, ako je riadenie prístupu, obmedzovanie rýchlosti a prerušovanie obvodu. dokumentácia

Záver

NGINX Service Mesh je k dispozícii na bezplatné stiahnutie na adrese portál F5. Vyskúšajte to vo svojom vývojárskom a testovacom prostredí a napíšte nám o výsledkoch.

Ak chcete vyskúšať NGINX Plus Ingress Controller, aktivujte bezplatné skúšobné obdobie na 30 dní, príp Sвяжитесь с нами na diskusiu o vašich prípadoch použitia.

Preklad Pavel Demkovich, podnikový inžinier Southbridge. Správa systému za 15 000 RUB mesačne. A ako samostatná divízia - školiace stredisko Slurm, cvičiť a nič len cvičiť.

Zdroj: hab.com

Pridať komentár