NGINX Service Mesh disponible

NGINX Service Mesh disponible

Ens complau presentar-vos una versió prèvia Malla de servei NGINX (NSM), una malla de servei lleugera agrupada que utilitza un pla de dades basat en NGINX Plus per gestionar el trànsit de contenidors als entorns Kubernetes.

NSM és gratuït descarregar aquí. Esperem que ho proveu per a entorns de desenvolupament i prova, i esperem els vostres comentaris a GitHub.

La implementació de la metodologia de microserveis està plena de dificultats a mesura que creix l'escala de lliurament, així com la seva complexitat. La comunicació entre serveis es fa més complexa, els problemes de depuració es fan més difícils i cada cop hi ha més serveis que requereixen més recursos per gestionar.

NSM resol aquests problemes proporcionant-vos:

  • Безопасность, que ara és més important que mai. Una violació de dades pot costar a una empresa milions de dòlars anuals en ingressos perduts i reputació. NSM garanteix que totes les connexions estiguin xifrades mitjançant mTLS, de manera que no hi ha dades sensibles que els pirates informàtics puguin robar a la xarxa. El control d'accés us permet establir polítiques sobre com es comuniquen els serveis amb altres serveis.
  • gestió del trànsit. Quan envieu una versió nova d'una aplicació, és possible que vulgueu començar restringint-hi el trànsit entrant en cas d'error. Amb la gestió intel·ligent del trànsit de contenidors de NSM, podeu establir una política de restricció de trànsit per a nous serveis que augmentaran el trànsit amb el temps. Altres funcions, com ara la limitació de velocitat i els interruptors automàtics, us ofereixen un control total sobre el flux de trànsit de tots els vostres serveis.
  • Visualització. La gestió de milers de serveis pot ser un malson de depuració i visualització. NSM ajuda a fer front a aquesta situació amb un tauler de control de Grafana integrat que mostra totes les funcions disponibles a NGINX Plus. I també l'Open Tracing implementat us permet supervisar les transaccions en detall.
  • Entregues híbrides, si la vostra empresa, com la majoria d'altres, no utilitza la infraestructura que s'executa completament a Kubernetes. NSM assegura que les aplicacions heretades no es deixen desateses. Amb l'ajuda del controlador d'entrada NGINX Kubernetes implementat, els serveis heretats es podran comunicar amb serveis de malla i viceversa.

NSM també garanteix la seguretat de les aplicacions en entorns de confiança zero aplicant de manera transparent l'encriptació i l'autenticació al trànsit de contenidors. També ofereix visibilitat i anàlisi de transaccions, ajudant-vos a llançar desplegaments i solucionar problemes de manera ràpida i precisa. També proporciona un control granular del trànsit, que permet als equips de DevOps desplegar i optimitzar parts d'aplicacions alhora que permet als desenvolupadors crear i connectar fàcilment les seves aplicacions distribuïdes.

Com funciona la malla de servei NGINX?

NSM consta d'un pla de dades unificat per al trànsit horitzontal (de servei a servei) i un controlador d'entrada NGINX Plus integrat per al trànsit vertical, gestionat per un únic pla de control.

El pla de control està dissenyat i optimitzat específicament per al pla de dades NGINX Plus i defineix les regles de control de trànsit distribuïdes entre els sidecars NGINX Plus.

A NSM, s'instal·len proxies sidecars per a cada servei de la malla. Interaccionen amb les següents solucions de codi obert:

  • Grafana, visualització de paràmetres de Prometheus, panell NSM integrat us ajuda amb el vostre treball;
  • Kubernetes Ingress Controllers, per gestionar el trànsit entrant i sortint a la malla;
  • SPIRE, CA per a la gestió, distribució i actualització de certificats a la malla;
  • NATS, un sistema escalable per enviar missatges, com ara actualitzacions de rutes, des del pla de control fins als sidecars;
  • Open Tracing, depuració distribuïda (admeten Zipkin i Jaeger);
  • Prometheus, recopila i emmagatzema característiques dels sidecars NGINX Plus, com ara el nombre de peticions, connexions i encaixades de mans SSL.

Funcions i components

NGINX Plus com a pla de dades cobreix el proxy sidecar (trànsit horitzontal) i el controlador d'entrada (vertical), interceptant i gestionant el trànsit de contenidors entre serveis.

Les característiques inclouen:

  • Autenticació TLS mútua (mTLS);
  • Equilibri de càrrega;
  • Falta de tolerància;
  • límit de velocitat;
  • tall de circuit;
  • Desplegaments blau-verd i canari;
  • Control d'accés.

Llançament de NGINX Service Mesh

Per executar NSM necessiteu:

  • accés a l'entorn Kubernetes. NGINX Service Mesh és compatible amb moltes plataformes de Kubernetes, com ara Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere i clústers Kubernetes habituals desplegats en servidors de maquinari;
  • Eina kubectl, instal·lat a la màquina des de la qual s'instal·larà NSM;
  • Accés als paquets de llançament de NGINX Service Mesh. El paquet conté imatges NSM necessàries per carregar-les a un registre privat per als contenidors disponibles al clúster de Kubernetes. El paquet també conté nginx-meshctl, necessari per desplegar NSM.

Per implementar NSM amb la configuració predeterminada, executeu l'ordre següent. Durant el desplegament, es mostren missatges que indiquen que els components s'han instal·lat correctament i, finalment, un missatge que indica que NSM s'està executant en un espai de noms separat (primer en necessiteu un). descarregar i col·locar-lo al registre, aprox. traductor):

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

Per obtenir més opcions, inclosa la configuració avançada, executeu aquesta ordre:

$ nginx-meshctl deploy –h

Comproveu que el pla de control funciona correctament a l'espai de noms nginx-mesh, us pot agradar:

$ 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

En funció de la configuració de desplegament que estableixen polítiques d'injecció manual o automàtica, els servidors intermediaris NGINX sidecars s'afegiran a les aplicacions de manera predeterminada. Per desactivar l'addició automàtica, llegiu aquí

Per exemple, si despleguem l'aplicació dormir a l'espai de noms defecte, i després comproveu el Pod: veurem dos contenidors en execució, l'aplicació dormir i el sidecar associat:

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

També podem supervisar l'aplicació dormir al tauler NGINX Plus, executeu aquesta ordre per accedir al sidecar des de la vostra màquina local:

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

Després només entrem aquí al navegador. També podeu connectar-vos a Prometheus per supervisar l'aplicació dormir.

Podeu utilitzar recursos individuals de Kubernetes per configurar polítiques de trànsit, com ara control d'accés, limitació de velocitat i interrupció de circuits, per a això, consulteu documentació

Conclusió

NGINX Service Mesh està disponible per a la seva descàrrega gratuïta a portal F5. Prova-ho als teus entorns de desenvolupament i prova i escriu-nos sobre els resultats.

Per provar NGINX Plus Ingress Controller, activeu-lo període de prova gratuït durant 30 dies, o Contacta amb nosaltres per parlar dels vostres casos d'ús.

Traducció de Pavel Demkovich, enginyer de l'empresa Southbridge. Administració del sistema per 15 RUB al mes. I com a divisió separada: un centre de formació Slurm, pràctica i res més que pràctica.

Font: www.habr.com

Afegeix comentari