Matou te fiafia e tu'uina atu se fa'aaliga muamua
NSM e leai se totogi
O le faʻatinoina o metotia microservices e tumu i faʻafitauli aʻo faʻatupulaia le fua o le tuʻuina atu, faʻapea foʻi ma lona lavelave. Feso'ota'iga i le va o 'au'aunaga ua atili lavelave, fa'aletonu fa'afitauli ua atili faigata, ma fa'ateleina auaunaga e mana'omia ai le tele o punaoa e pulea.
E foia e le NSM ia faafitauli e ala i le tuuina atu ia te oe:
- Puipuiga, lea ua sili atu nei ona taua nai lo se isi lava taimi. O le soliga o fa'amaumauga e mafai ona fa'aalu ai se kamupani miliona miliona tala i tausaga ta'itasi i tupe maua ma le ta'uleleia. E faʻamautinoa e le NSM o fesoʻotaʻiga uma o loʻo faʻailogaina e faʻaaoga ai le mTLS, o lea e leai se faʻamatalaga maaleale e mafai ona gaoia e tagata taʻavale i luga o le upega tafailagi. Pulea avanoa e mafai ai ona e setiina faiga faavae mo le auala e fesootai ai au'aunaga ma isi au'aunaga.
- Pulega o Ta'avale. A lafo se fa'afouga fou o se talosaga, atonu e te mana'o e amata i le fa'atapula'aina o felauaiga o lo'o o'o mai i ai pe a tupu se mea sese. Fa'atasi ai ma le fa'atonutonuina o fefa'ataua'iga a le NSM, e mafai ona e setiina se faiga fa'atapula'a o ta'avale mo au'aunaga fou o le a fa'ateleina feoaiga i le aluga o taimi. O isi vaega, e pei o le fa'atapula'aina o le saoasaoa ma le va'ava'a, e tu'uina atu ia te oe le fa'atonuga atoatoa i luga o le felauaiga o au 'au'aunaga uma.
- Faʻaaliga vaaia. O le puleaina o le afe ma afe o au'aunaga e mafai ona avea ma se fa'ata'otoga ma fa'ata'ita'iga. E fesoasoani le NSM e fa'afetauia lea tulaga ma se laupapa fa'apipi'i Grafana e fa'aalia uma vaega o lo'o maua ile NGINX Plus. Ma fa'apea fo'i le fa'atinoina o le Open Tracing e fa'atagaina ai oe e mata'ituina fa'amatalaga fa'amatalaga.
- Tiliva fa'atosina, pe afai o lau kamupani, pei o le tele o isi, e le fa'aogaina mea tetele o lo'o fa'aogaina atoa i Kubernetes. E fa'amautinoa e le NSM e le tu'ua fa'alilolilo tusi talosaga. Faatasi ai ma le fesoasoani a le NGINX Kubernetes Ingress Controller, o le a mafai ona fesoʻotaʻi auaunaga tuʻufaʻatasi ma auaunaga mata, ma le isi itu.
E fa'amautinoaina fo'i e le NSM le saogalemu o talosaga ile si'osi'omaga leai se fa'alagolago e ala ile fa'aogaina manino o fa'ailoga ma fa'amaoniga i felauaiga o pusa. E maua ai fo'i le va'aiga ma le au'ili'iliga o fefa'ataua'iga, fesoasoani ia te oe vave ma sa'o le fa'alauiloaina o fa'agaioiga ma fo'ia fa'afitauli. E tuʻuina atu ai foʻi le faʻatonutonuina o feoaiga, faʻataga DevOps 'au e faʻapipiʻi ma faʻamalieina vaega o talosaga aʻo mafai e le au atinaʻe ona fausia ma faigofie ona faʻafesoʻotaʻi a latou tusi talosaga.
E fa'afefea ona galue le NGINX Service Mesh?
O le NSM e aofia ai se va'alele fa'amaumauga tu'ufa'atasi mo fela'uaiga (au'aunaga-i-au'aunaga) ma se NGINX Plus Ingress Controller fa'apipi'i mo femalagaiga i luga, pulea e se va'alele e tasi.
O le va'alele fa'atonutonu e fa'apitoa ma fa'amanino mo le NGINX Plus fa'amatalaga va'alele ma fa'amatala tulafono fa'atonutonu o feoaiga o lo'o fa'asoa atu i ta'avale NGINX Plus.
I le NSM, o lo'o fa'apipi'i sui o ta'avale mo auaunaga ta'itasi ile mata. Latou te faʻafesoʻotaʻi faʻatasi ma fofo tatala punaoa nei:
- Grafana, Prometheus fa'ata'ita'iga fa'ata'ita'iga, fausia-i totonu NSM panel e fesoasoani ia te oe i lau galuega;
- Kubernetes Ingress Controllers, mo le puleaina o felauaiga ulufale ma fafo i totonu o le mata;
- SPIRE, CA mo le puleaina, tufatufaina ma faʻafouina tusi faamaonia i totonu o le mata;
- NATS, o se faiga e mafai ona fuaina mo le auina atu o feʻau, e pei o faʻafouga auala, mai le vaʻalele faʻatonutonu i taʻavale;
- Tatala Suʻega, faʻasalalau faʻasalalau (Sipikin ma Jaeger lagolagoina);
- Prometheus, aoina ma teuina uiga mai NGINX Plus sidecars, e pei o le numera o talosaga, fesoʻotaʻiga ma faʻataʻitaʻiga SSL.
Galuega ma vaega
NGINX Plus e pei o se vaalele faʻamatalaga e aofia ai le sui o le taʻavale (faʻasalalau faʻasaga) ma le Ingress controller (tutusa), faʻalavelave ma faʻatautaia fefaʻatauaiga i le va o auaunaga.
O mea e aofia ai:
- Mutuale TLS (mTLS) fa'amaoni;
- Paleni uta;
- Fa'apalepale masei;
- Tapulaa o le Saosaoa;
- Ta'atiaga;
- Lanu-lanumeamata ma canary deployments;
- Pulea avanoa.
Tatala NGINX Service Mesh
Mo le fa'atinoina o le NSM e te mana'omia:
- avanoa i le siosiomaga Kubernetes. NGINX Service Mesh o loʻo lagolagoina i luga o le tele o faʻasalalauga Kubernetes, e aofia ai le Amazon Elastic Container Service mo Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere, ma faʻapipiʻi masani Kubernetes faʻapipiʻiina i luga o masini komepiuta;
- Meafaigaluega
kubectl
, faʻapipiʻi i luga o le masini lea o le a faʻapipiʻi ai le NSM; - Avanoa ile NGINX Service Mesh faʻamalolo afifi. O le afifi o lo'o iai ata NSM e mana'omia mo le tu'uina atu i se fa'amaumauga tumaoti mo koneteina o lo'o maua i le vaega Kubernetes. O lo'o iai fo'i le afifi
nginx-meshctl
, mana'omia e fa'apipi'i le NSM.
Ina ia faʻapipiʻi le NSM ma faʻaoga faʻaoga, faʻataʻitaʻi le poloaiga lenei. I le taimi o le faʻapipiʻiina, o loʻo faʻaalia feʻau e faʻaalia ai na faʻapipiʻi lelei vaega, ma mulimuli ane o se feʻau e taʻu mai ai o loʻo taʻavale le NSM i se isi igoa (e te manaʻomia muamua).
$ 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.
Mo nisi filifiliga, e aofia ai tulaga maualuga, faʻatautaia le poloaiga lenei:
$ nginx-meshctl deploy –h
Siaki pe sa'o lelei le va'alele fa'atonutonu i le igoa avanoa nginx-mesh, e mafai ona e faia lenei:
$ 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
Faʻalagolago i faʻatulagaga faʻapipiʻi e setiina ai tulafono faʻapipiʻi tusi lesona poʻo otometi, NGINX sidecars proxies o le a faʻaopoopoina i talosaga e le mafai. Ina ia tape le fa'aopoopo otometi, faitau
Mo se faʻataʻitaʻiga, pe a matou faʻaogaina le talosaga moe i igoa avanoa Leai se totogi, ona siaki lea o le Pod - o le a matou vaʻaia ni koneteina se lua, o le talosaga moe ma le ta'avale fa'atasi:
$ kubectl apply –f sleep.yaml
$ kubectl get pods –n default
NAME READY STATUS RESTARTS AGE
sleep-674f75ff4d-gxjf2 2/2 Running 0 5h23m
E mafai foi ona tatou mataituina le talosaga moe i le NGINX Plus panel, faʻatautaia lenei poloaiga e faʻaoga ai le taʻavale mai lau masini i le lotoifale:
$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886
Ona tatou o ai lea i totonu
E mafai ona e fa'aogaina punaoa Kubernetes ta'ito'atasi e fa'atulaga faiga fa'avae fe'avea'i, e pei o le fa'atonutonuina o avanoa, fa'atapula'aina o fua fa'atatau ma le motusia o le ta'amilosaga, mo lenei va'ai.
iʻuga
NGINX Service Mesh o loʻo avanoa mo le download fua ile
E faʻataʻitaʻi le NGINX Plus Ingress Controller, faʻagaoioia
Faaliliuga a Pavel Demkovich, inisinia kamupani
puna: www.habr.com