NGINX Ratonga Mesh e waatea ana

NGINX Ratonga Mesh e waatea ana

Kei te koa matou ki te whakaatu i tetahi tirohanga NGINX Ratonga Mesh (NSM), he mahanga ratonga mama marama hono e whakamahi ana i te rererangi raraunga e pa ana ki te NGINX Plus hei whakahaere i nga hokohoko ipu ki nga taiao Kubernetes.

He kore utu a NSM download konei. Te ti'aturi nei matou ka whakamatau koe mo te dev me nga taiao whakamatautau - kei te tatari matou mo to urupare i runga i GitHub.

Ko te whakatinanatanga o nga tikanga microservices he uaua ki te tipu o te rahinga o te tuku, me o raatau raru. Ko te whakawhitiwhiti korero i waenga i nga ratonga ka kaha ake te uaua, ka uaua ake nga raruraru patuiro, ka nui ake nga ratonga ka nui ake nga rauemi hei whakahaere.

Ka whakatauhia e NSM enei raruraru ma te whakarato ki a koe:

  • Haumarutangahe mea nui ake inaianei i nga wa katoa. Ka taea e te pakaru raraunga te utu mo te kamupene miriona taara ia tau mo nga moni kua ngaro me te ingoa. Ka whakamuna a NSM i nga hononga katoa ma te whakamahi i te mTLS, no reira karekau he raraunga tairongo ka taea e nga kaiwhaiwhai te tahae i runga i te whatunga. Ko te mana uru ka taea e koe te whakarite kaupapa here mo te huarahi korero a nga ratonga me etahi atu ratonga.
  • whakahaere waka. Ina tukuna he putanga hou o tetahi tono, ka hiahia pea koe ki te tiimata ma te aukati i ana hokohoko taumai mena ka he. Ma te NSM Intelligent Container Traffic Management, ka taea e koe te whakarite kaupapa here aukati waka mo nga ratonga hou ka piki ake nga waka i roto i te waa. Ko etahi atu ahuatanga, penei i te whakaiti reiti me nga wehenga ara iahiko, ka hoatu ki a koe te mana whakahaere katoa mo te rere waka o au ratonga katoa.
  • Whakaaturanga. Ko te whakahaere i nga mano o nga ratonga ka taea te mahi he patuiro me te moemoea moemoea. Ka awhina a NSM ki te whakatutuki i tenei ahuatanga me te papatohu Grafana i hangaia, e whakaatu ana i nga ahuatanga katoa kei roto NGINX Plus. A ko te Open Tracing kua whakatinanahia ka taea e koe te aro turuki i nga whakawhitinga korero.
  • Nga tuku ranu, ki te kore to kamupene, pera i te nuinga o era atu, e whakamahi ana i tetahi hanganga e rere katoa ana i runga i nga Kubernetes. Ka whakarite a NSM kia kaua e waiho nga tono tawhito kia kore e tiakina. Ma te awhina o te NGINX Kubernetes Ingress Controller kua whakauruhia, ka taea e nga ratonga tawhito te korero ki nga ratonga mata, me te rereke.

Ka tiakina hoki e NSM nga tono i roto i nga taiao kore-whirinaki ma te whakamuna marama me te whakamotuhēhēnga hokohoko ipu. Ka whakarato hoki i te tirohanga tauwhitinga me te tātari hei awhina i a koe kia tere me te tika ki te whakarewa i nga tukunga me te raru raru. Ka whakarato ano hoki i te mana whakahaere waka, ka taea e nga kapa DevOps te tuku me te arotau i nga waahanga o nga tono i te wa e tuku ana nga kaiwhakawhanake ki te hanga me te hono ngawari ki o raatau tono tohatoha.

Me pehea te whakarite NGINX Service Mesh?

Kei roto i te NSM he rererangi raraunga whakakotahi mo te waka whakapae (ratonga-ki-ratonga) me te NGINX Plus Ingress Controller kua whakauruhia mo te waka poutū, e whakahaerehia ana e te waka rererangi kotahi.

Ko te rererangi whakahaere he mea hanga motuhake me te arotau mo te waka rererangi raraunga NGINX Plus, ka tautuhi i nga ture whakahaere waka kua tohatoha puta noa i nga waka taha NGINX Plus.

I roto i nga waka taha NSM, kua whakaritea nga takawaenga mo ia ratonga i roto i te mata. Ka taunekeneke ratou me nga otinga puna tuwhera e whai ake nei:

  • Grafana, Prometheus whakakitenga tawhā, hanga-i roto i te papa NSM hei awhina i a koe ki te mahi;
  • Kubernetes Ingress Controllers, ki te whakahaere i nga waka taumai me te puta atu i roto i te mata;
  • SPIRE, CA mo te whakahaere, te tohatoha me te whakahou i nga tiwhikete i roto i te mata;
  • NATS, he punaha tauineine mo te tuku karere, penei i nga whakahoutanga huarahi, mai i te rererangi whakahaere ki nga waka taha;
  • Whakatuwherahia te Aroturuki, kua tohatohahia te patuiro (tautokohia e Zipkin me Jaeger);
  • Prometheus, te kohinga me te rokiroki o nga ahuatanga mai i nga sidecars NGINX Plus, penei i te maha o nga tono, hononga, me nga ringaringa SSL.

Nga waahanga me nga waahanga

Ko te NGINX Plus hei waka rererangi raraunga e kapi ana i te takawaenga taha (whakapae) me te Kaiwhakahaere Ingress (poutū), te haukoti me te whakahaere i nga waka ipu i waenga i nga ratonga.

Kei roto i nga waahanga:

  • Motuhēhēnga TLS Mutual (mTLS);
  • Tauritenga kawenga;
  • Whakaaetanga he;
  • Te rohe tere;
  • pakaru iahiko;
  • Te whakatakotoranga puru-matomato me te canary;
  • Mana uru.

Ka timata te NGINX Service Mesh

Hei whakahaere i te NSM ka hiahia koe:

  • uru ki te taiao Kubernetes. Kei te tautokohia te NGINX Service Mesh i runga i te maha o nga papaaho Kubernetes, tae atu ki te Amazon Elastic Container Service mo Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere, me nga tautau Kubernetes auau kua horahia ki runga i nga taputapu taputapu;
  • Tool kubectlka whakauruhia ki runga i te miihini ka whakauruhia a NSM;
  • Te uru ki nga kohinga tuku ratonga NGINX Mesh. Kei roto i te kete nga whakaahua NSM e hiahiatia ana hei tuku ki te rehita motuhake mo nga ipu e waatea ana i te roopu Kubernetes. Kei roto hoki i te kete nginx-meshctle hiahiatia ana ki te tuku NSM.

Hei tuku i te NSM me nga tautuhinga taunoa, whakahaeretia te whakahau e whai ake nei. I te wa tukunga, ka kite koe i nga karere kua oti pai te whakauru i nga waahanga, ka mutu he karere kei te whakahaere a NSM i tetahi mokowāingoa motuhake (me tuatahi koe скачать ka hoatu ki roto i te rehita, āhua. kaiwhakamaori):

$ 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 etahi atu whiringa, tae atu ki nga tautuhinga matatau, whakahaeretia tenei whakahau:

$ nginx-meshctl deploy –h

Tirohia kei te tika te mahi a te waka rererangi i te mokowāingoa nginx mata, ka taea e koe tenei:

$ 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 proxies ka taapirihia ki nga tono ma te taunoa i runga i nga tautuhinga tukunga e whakatakoto ana i nga kaupapa here werohanga a-ringa, aunoa ranei. Hei whakakore i te taapiri aunoa, panui konei

Hei tauira, mena ka tukuna e matou te tono moe i te mokowā ingoa Taunoa, katahi ka tirohia te Pod - ka kite tatou e rua nga ipu rere, te tono moe me tona waka taha:

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

Ka taea hoki e taatau te whai i te tono moe i roto i te roopu NGINX Plus ma te whakahaere i tenei whakahau kia uru atu ki te motuka taha mai i to miihini rohe:

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

Katahi ka haere noa matou konei i roto i te pūtirotiro. Ka taea hoki e koe te hono atu ki a Prometheus ki te whai i te taupānga moe.

Ka taea e koe te whakamahi i nga rauemi Kubernetes takitahi ki te whirihora i nga kaupapa here waka penei i te mana uru, te aukati reiti, me te wehenga ara iahiko, tirohia. tuhinga

mutunga

Kei te waatea te NGINX Service Mesh mo te tango kore utu i tomokanga F5. Whakamātauria i roto i to koutou dev me te taiao whakamātautau me tuhia mai ki a matou mo nga hua.

Hei whakamatau i te NGINX Plus Ingress Controller, whakahohe wā whakamātautau kore utu mo nga ra 30, ranei Whakapā mai ki te matapaki i o keehi whakamahi.

Te whakamaoritanga na Pavel Demkovich, kamupene miihini Southbridge. Whakahaere pūnaha mo te 15 ₽ ia marama. A hei wehenga motuhake - he pokapū whakangungu Slurm, mahi me te mahi anake.

Source: will.com

Tāpiri i te kōrero