Tunafurahi kuwasilisha toleo la onyesho la kukagua
NSM ni bure
Utekelezaji wa mbinu ya huduma ndogo umejaa ugumu kadiri ukubwa wa utoaji unavyokua, pamoja na ugumu wake. Mawasiliano kati ya huduma inakuwa ngumu zaidi, matatizo ya utatuzi yanakuwa magumu zaidi, na huduma zaidi na zaidi zinahitaji rasilimali zaidi ili kudhibiti.
NSM hutatua matatizo haya kwa kukupa:
- usalama, ambayo sasa ni muhimu zaidi kuliko hapo awali. Ukiukaji wa data unaweza kugharimu kampuni mamilioni ya dola kila mwaka katika kupoteza mapato na sifa. NSM huhakikisha kwamba miunganisho yote imesimbwa kwa njia fiche kwa kutumia mTLS, kwa hivyo hakuna data nyeti inayoweza kuibwa na wadukuzi kwenye mtandao. Udhibiti wa ufikiaji hukuruhusu kuweka sera za jinsi huduma zinavyowasiliana na huduma zingine.
- Usimamizi wa Trafiki. Wakati wa kusafirisha toleo jipya la programu, unaweza kutaka kuanza kwa kuzuia trafiki inayoingia ikiwa kuna hitilafu. Ukiwa na usimamizi mahiri wa trafiki wa vyombo vya NSM, unaweza kuweka sera ya vizuizi vya trafiki kwa huduma mpya ambazo zitaongeza trafiki kwa wakati. Vipengele vingine, kama vile kupunguza kasi na vivunja saketi, hukupa udhibiti kamili wa mtiririko wa huduma zako zote.
- Visualization. Kudhibiti maelfu ya huduma kunaweza kuwa ndoto ya utatuzi na taswira. NSM husaidia kukabiliana na hali hii kwa kutumia dashibodi ya Grafana iliyojengewa ndani inayoonyesha vipengele vyote vinavyopatikana katika NGINX Plus. Na pia Ufuatiliaji Wazi uliotekelezwa hukuruhusu kufuatilia shughuli kwa undani.
- Utoaji wa mseto, ikiwa kampuni yako, kama wengine wengi, haitumii miundombinu inayoendeshwa kabisa kwenye Kubernetes. NSM inahakikisha kwamba maombi ya urithi hayaachwe bila kushughulikiwa. Kwa usaidizi wa Kidhibiti cha Ingress cha NGINX Kubernetes kilichotekelezwa, huduma za urithi zitaweza kuwasiliana na huduma za mesh, na kinyume chake.
NSM pia huhakikisha usalama wa programu katika mazingira sifuri ya uaminifu kwa kutumia kwa uwazi usimbaji fiche na uthibitishaji kwenye trafiki ya kontena. Pia hutoa mwonekano na uchanganuzi wa muamala, huku kukusaidia kwa haraka na kwa usahihi kuzindua upelekaji na matatizo ya utatuzi. Pia hutoa udhibiti wa trafiki punjepunje, ikiruhusu timu za DevOps kupeleka na kuboresha sehemu za programu huku ikiwezesha wasanidi programu kuunda na kuunganisha kwa urahisi programu zao zinazosambazwa.
Je, Mesh ya Huduma ya NGINX inafanya kazi vipi?
NSM inajumuisha ndege ya data iliyounganishwa kwa trafiki mlalo (huduma-kwa-huduma) na Kidhibiti cha Ingress cha NGINX Plus kilichopachikwa kwa trafiki wima, inayodhibitiwa na ndege moja ya udhibiti.
Ndege ya udhibiti imeundwa mahususi na kuboreshwa kwa ajili ya ndege ya data ya NGINX Plus na inafafanua sheria za udhibiti wa trafiki zinazosambazwa kwenye kando za NGINX Plus.
Katika NSM, proksi za sidecars husakinishwa kwa kila huduma kwenye wavu. Wanaingiliana na suluhisho zifuatazo za chanzo wazi:
- Grafana, taswira ya parameta ya Prometheus, paneli ya NSM iliyojengwa hukusaidia kwa kazi yako;
- Kubernetes Ingress Controllers, kwa ajili ya kudhibiti trafiki zinazoingia na zinazotoka kwenye matundu;
- SPIRE, CA kwa ajili ya kusimamia, kusambaza na kusasisha vyeti katika matundu;
- NATS, mfumo scalable wa kutuma ujumbe, kama vile masasisho ya njia, kutoka kwa ndege ya udhibiti hadi sidecars;
- Fungua Ufuatiliaji, utatuzi uliosambazwa (Zipkin na Jaeger wameungwa mkono);
- Prometheus, hukusanya na kuhifadhi sifa kutoka kwa kando za NGINX Plus, kama vile idadi ya maombi, miunganisho na kupeana mkono kwa SSL.
Kazi na vipengele
NGINX Plus kama ndege ya data inashughulikia seva mbadala ya kando (trafiki mlalo) na kidhibiti cha Ingress (wima), kuingilia na kudhibiti trafiki ya kontena kati ya huduma.
Vipengele ni pamoja na:
- uthibitishaji wa Mutual TLS (mTLS);
- Kusawazisha mzigo;
- Uvumilivu wa makosa;
- Kikomo cha kasi;
- Kuvunjika kwa mzunguko;
- Bluu-kijani na kupelekwa kwa canary;
- Udhibiti wa ufikiaji.
Inazindua Mesh ya Huduma ya NGINX
Ili kuendesha NSM unahitaji:
- upatikanaji wa mazingira ya Kubernetes. NGINX Service Mesh inatumika kwenye majukwaa mengi ya Kubernetes, ikiwa ni pamoja na Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere, na makundi ya kawaida ya Kubernetes yaliyowekwa kwenye seva za maunzi;
- Chombo
kubectl
, imewekwa kwenye mashine ambayo NSM itawekwa; - Ufikiaji wa vifurushi vya kutolewa vya Huduma ya NGINX. Kifurushi kina picha za NSM zinazohitajika kupakiwa kwenye sajili ya kibinafsi kwa vyombo vinavyopatikana katika kundi la Kubernetes. Kifurushi pia kina
nginx-meshctl
, inahitajika kupeleka NSM.
Ili kupeleka NSM na mipangilio chaguo-msingi, endesha amri ifuatayo. Wakati wa kupeleka, ujumbe unaonyeshwa unaonyesha usakinishaji uliofanikiwa wa vifaa na, mwishowe, ujumbe unaoonyesha kuwa NSM inafanya kazi katika nafasi tofauti ya majina (unahitaji kwanza.
$ 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.
Kwa chaguzi zaidi, pamoja na mipangilio ya hali ya juu, endesha amri hii:
$ nginx-meshctl deploy βh
Angalia kuwa ndege ya kudhibiti inafanya kazi kwa usahihi katika nafasi ya majina nginx-mesh, unaweza kupenda hii:
$ 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
Kulingana na mipangilio ya uwekaji ambayo huweka sera za mwongozo au za sindano kiotomatiki, proksi za NGINX sidecars zitaongezwa kwa programu kwa chaguo-msingi. Ili kuzima kuongeza kiotomatiki, soma
Kwa mfano, ikiwa tutapeleka programu kulala katika nafasi ya majina default, na kisha angalia Pod - tutaona vyombo viwili vinavyoendesha, programu kulala na sidecar inayohusika:
$ kubectl apply βf sleep.yaml
$ kubectl get pods βn default
NAME READY STATUS RESTARTS AGE
sleep-674f75ff4d-gxjf2 2/2 Running 0 5h23m
Tunaweza pia kufuatilia maombi kulala kwenye paneli ya NGINX Plus, inayoendesha amri hii ya kufikia sidecar kutoka kwa mashine yako ya karibu:
$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886
Kisha tunaingia tu
Unaweza kutumia nyenzo mahususi za Kubernetes kusanidi sera za trafiki, kama vile udhibiti wa ufikiaji, kupunguza viwango na kuvunja mzunguko, kwa hili tazama.
Hitimisho
NGINX Service Mesh inapatikana kwa kupakuliwa bila malipo kwa
Ili kujaribu Kidhibiti cha Kuingia cha NGINX Plus, washa
Tafsiri ya Pavel Demkovich, mhandisi wa kampuni
Chanzo: mapenzi.com