NGINX Service Mesh е достапна

NGINX Service Mesh е достапна

Со задоволство ви ја претставуваме верзијата за преглед NGINX сервисна мрежа (NSM), комплетна лесна сервисна мрежа која користи податочна рамнина базирана на NGINX Plus за управување со контејнерскиот сообраќај во средини на Kubernetes.

НСМ е бесплатен Download here. Се надеваме дека ќе го испробате за средини за развивачи и тестирање - и со нетрпение ги очекуваме вашите повратни информации на GitHub.

Имплементацијата на методологијата за микроуслуги е полн со тешкотии како што расте обемот на испорака, како и нејзината сложеност. Комуникацијата помеѓу услугите станува посложена, проблемите со дебагирање стануваат потешки и се повеќе услуги бараат повеќе ресурси за управување.

NSM ги решава овие проблеми обезбедувајќи ви:

  • безбедност, што сега е поважно од било кога. Прекршувањето на податоците може да ја чини компанијата милиони долари годишно во изгубени приходи и углед. NSM гарантира дека сите врски се шифрирани со помош на mTLS, така што нема чувствителни податоци што можат да бидат украдени од хакери преку мрежата. Контролата на пристап ви овозможува да поставите политики за тоа како услугите комуницираат со други услуги.
  • Управување со сообраќајот. Кога испраќате нова верзија на апликација, можеби ќе сакате да започнете со ограничување на дојдовниот сообраќај кон неа во случај на грешка. Со интелигентното управување со контејнерскиот сообраќај на NSM, можете да поставите политика за ограничување на сообраќајот за нови услуги што ќе го зголемат сообраќајот со текот на времето. Другите карактеристики, како што се ограничувањето на брзината и прекинувачите, ви даваат целосна контрола врз протокот на сообраќај на сите ваши услуги.
  • Визуелизација. Управувањето со илјадници услуги може да биде кошмар за дебагирање и визуелизација. NSM помага да се справиме со оваа ситуација со вградената контролна табла Grafana која ги прикажува сите функции достапни во NGINX Plus. И, исто така, имплементираното Отворено следење ви овозможува детално да ги следите трансакциите.
  • Хибридни испораки, ако вашата компанија, како и повеќето други, не користи инфраструктура која работи целосно на Kubernetes. NSM гарантира дека наследените апликации не остануваат без надзор. Со помош на имплементираниот NGINX Kubernetes Ingress Controller, наследните услуги ќе можат да комуницираат со мрежни услуги и обратно.

NSM, исто така, обезбедува безбедност на апликациите во средини со нула доверба со транспарентно примена на шифрирање и автентикација на контејнерскиот сообраќај. Исто така, обезбедува видливост и анализа на трансакциите, помагајќи ви брзо и прецизно да започнете распоредувања и да решавате проблеми. Тој, исто така, обезбедува грануларна контрола на сообраќајот, дозволувајќи им на тимовите на DevOps да распоредуваат и оптимизираат делови од апликациите, истовремено овозможувајќи им на програмерите да градат и лесно да ги поврзуваат нивните дистрибуирани апликации.

Како работи NGINX Service Mesh?

NSM се состои од унифицирана податочна рамнина за хоризонтален сообраќај (услуга до услуга) и вграден NGINX Plus контролер за влез за вертикален сообраќај, управуван од една контролна рамнина.

Контролната рамнина е специјално дизајнирана и оптимизирана за податочната рамнина NGINX Plus и ги дефинира правилата за контрола на сообраќајот дистрибуирани низ страничните колички на NGINX Plus.

Во NSM, страничните прокси се инсталирани за секоја услуга во мрежата. Тие се поврзуваат со следниве решенија со отворен код:

  • Grafana, визуелизација на параметрите Prometheus, вграден NSM панел ви помага во работата;
  • Kubernetes Ingress Controllers, за управување со дојдовен и појдовен сообраќај во мрежата;
  • SPIRE, CA за управување, дистрибуција и ажурирање на сертификати во мрежата;
  • NATS, скалабилен систем за испраќање пораки, како што се ажурирања на маршрутата, од контролната рамнина до страничните кола;
  • Отворено следење, дистрибуирано дебагирање (поддржани Zipkin и Jaeger);
  • Prometheus, собира и складира карактеристики од страничните возила NGINX Plus, како што се бројот на барања, врски и SSL ракувања.

Функции и компоненти

NGINX Plus како податочна рамнина го покрива проксито на страничната карта (хоризонтален сообраќај) и контролерот за влез (вертикално), пресретнувајќи и управувајќи со контејнерскиот сообраќај помеѓу услугите.

Карактеристиките вклучуваат:

  • Взаемна TLS (mTLS) автентикација;
  • Балансирање на оптоварување;
  • Толеранција на грешки;
  • Ограничување на брзината;
  • Прекин на коло;
  • Сино-зелени и канарински распоредувања;
  • Контрола на пристап.

Стартување на NGINX Service Mesh

За да го стартувате NSM ви треба:

  • пристап до околината на Kubernetes. NGINX Service Mesh е поддржан на многу Kubernetes платформи, вклучувајќи Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere и редовни Kubernetes кластери распоредени на хардверски сервери;
  • Алатка kubectl, инсталиран на машината од која ќе се инсталира NSM;
  • Пристап до пакетите за ослободување на NGINX Service Mesh. Пакетот содржи NSM слики потребни за поставување во приватен регистар за контејнери достапни во кластерот Kubernetes. Пакетот содржи и nginx-meshctl, потребни за распоредување на НСМ.

За да распоредите 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

Проверете дали контролната рамнина работи правилно во именскиот простор нгинкс-мрежа, можете да го направите ова:

$ 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 sidecars. За да го исклучите автоматското додавање, прочитајте тука

На пример, ако ја распоредиме апликацијата спијам во именскиот простор стандардно, а потоа проверете го Pod - ќе видиме два контејнери кои работат, апликацијата спијам и придружната бока:

$ 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 за да ја следите апликацијата спијам.

Можете да користите поединечни ресурси на Kubernetes за да ги конфигурирате сообраќајните политики, како што се контрола на пристап, ограничување на брзината и прекин на колото, за ова видете документација

Заклучок

NGINX Service Mesh е достапна за бесплатно преземање на портал F5. Пробајте го во вашите средини за развивачи и тестирање и пишете ни за резултатите.

За да го пробате NGINX Plus Ingress Controller, активирајте бесплатен пробен период за 30 дена или Контактирајте не да разговараат за вашите случаи на употреба.

Превод на Павел Демкович, инженер на компанијата Саутбриџ. Администрација на системот за 15 рубли месечно. И како посебна поделба - центар за обука Скршување, вежбање и ништо друго освен вежбање.

Извор: www.habr.com

Додадете коментар