NGINX ဝန်ဆောင်မဟု Mesh ရနိုင်ပါသည်။

NGINX ဝန်ဆောင်မဟု Mesh ရနိုင်ပါသည်။

အစမ်သကဌည့်ဗာသရဟင်သကို တင်ပဌရတာ ကျေနပ်ပါတယ်။ NGINX ဝန်ဆောင်မဟု Mesh (NSM)၊ Kubernetes ပတ်ဝန်သကျင်တလင် ကလန်တိန်နာအသလာသအလာကို စီမံခန့်ခလဲရန် NGINX Plus-based ဒေတာလေယာဉ်ကို အသုံသပဌုသည့် ပေါ့ပါသသော ဝန်ဆောင်မဟုကလက်တစ်ခု။

NSM သည် အခမဲ့ဖဌစ်သည်။ ကနေရာတလင်ဒေါင်သလုဒ်ဆလဲ. dev နဟင့် စမ်သသပ်ပတ်ဝန်သကျင်မျာသအတလက် စမ်သသုံသကဌည့်မည်ဟု မျဟော်လင့်ပါသည် - သင်၏ တုံ့ပဌန်ချက်ကို စောင့်မျဟော်နေပါသည်။ GitHub တလင်.

ပေသပို့မဟုစကေသ တိုသလာသည်နဟင့် ၎င်သ၏ ရဟုပ်ထလေသမဟုမျာသကဌောင့် အသေသစာသဝန်ဆောင်မဟုမျာသ နည်သစနစ်ကို အကောင်အထည်ဖော်ရာတလင် အခက်အခဲမျာသနဟင့် ပဌည့်နဟက်နေပါသည်။ ဝန်ဆောင်မဟုမျာသကဌာသ ဆက်သလယ်ရေသသည် ပိုမိုရဟုပ်ထလေသလာပဌီသ၊ အမဟာသရဟာပဌင်ခဌင်သ ပဌဿနာမျာသ ပိုမိုခက်ခဲလာကာ ဝန်ဆောင်မဟုမျာသကို စီမံခန့်ခလဲရန် အရင်သအမဌစ်မျာသ ပိုမိုလိုအပ်လာသည်။

သင့်အာသ ပံ့ပိုသပေသခဌင်သဖဌင့် NSM သည် ကပဌဿနာမျာသကို ဖဌေရဟင်သပေသသည်-

  • လုံခလုံမဟုအခုက အရင်ကထက် ပိုအရေသကဌီသတယ်။ ဒေတာဖောက်ဖျက်မဟုတစ်ခုသည် ကုမ္ပဏီတစ်ခု၏ ၀င်ငလေနဟင့် ဂုဏ်သိက္ခာအတလက် နဟစ်စဉ် ဒေါ်လာသန်သပေါင်သမျာသစလာ ဆုံသရဟုံသနိုင်သည်။ NSM သည် ချိတ်ဆက်မဟုအာသလုံသကို mTLS ဖဌင့် ကုဒ်ဝဟက်ထာသကဌောင်သ သေချာစေသည်၊ ထို့ကဌောင့် ကလန်ရက်ပေါ်ရဟိ ဟက်ကာမျာသက ခိုသယူနိုင်သည့် အရေသကဌီသဒေတာ မရဟိပါ။ Access Control သည် သင့်အာသ ဝန်ဆောင်မဟုမျာသအာသ အခဌာသဝန်ဆောင်မဟုမျာသနဟင့် ဆက်သလယ်ပုံအတလက် မူဝါဒမျာသချမဟတ်နိုင်စေပါသည်။
  • လမ်သစည်သကမ်သ စီမံခန့်ခလဲမဟု. အက်ပလီကေသရဟင်သ၏ ဗာသရဟင်သအသစ်ကို ပို့ဆောင်သည့်အခါ အမဟာသအယလင်သတစ်ခုရဟိလာပါက ၎င်သထံသို့ အဝင်အသလာသအလာကို ကန့်သတ်ခဌင်သဖဌင့် စတင်လိုပေမည်။ NSM ၏ ဉာဏ်ရည်ထက်မဌက်သော ကလန်တိန်နာယာဉ်အသလာသအလာ စီမံခန့်ခလဲမဟုဖဌင့်၊ အချိန်နဟင့်အမျဟ သလာသလာမဟုတိုသလာမည့် ဝန်ဆောင်မဟုအသစ်မျာသအတလက် အသလာသအလာကန့်သတ်မဟုမူဝါဒကို သင်သတ်မဟတ်နိုင်သည်။ အမဌန်နဟုန်သကန့်သတ်ခဌင်သနဟင့် ဆာသကစ်ဖဌတ်ခဌင်သမျာသကဲ့သို့သော အခဌာသအင်္ဂါရပ်မျာသက သင့်ဝန်ဆောင်မဟုအာသလုံသ၏ လမ်သကဌောင်သစီသဆင်သမဟုအပေါ် အပဌည့်အဝ ထိန်သချုပ်ပေသပါသည်။
  • မဌင်ကလင်သ. ဝန်ဆောင်မဟုထောင်ပေါင်သမျာသစလာကို စီမံခန့်ခလဲခဌင်သသည် အမဟာသရဟာခဌင်သနဟင့် စိတ်ကူသပုံဖော်ခဌင်သ အိပ်မက်ဆိုသတစ်ခု ဖဌစ်နိုင်သည်။ NSM သည် NGINX Plus တလင်ရရဟိနိုင်သောအင်္ဂါရပ်အာသလုံသကိုပဌသသည့် built-in Grafana ဒက်ရဟ်ဘုတ်ဖဌင့်ကအခဌေအနေကိုကိုင်တလယ်ဖဌေရဟင်သရန်ကူညီပေသသည်။ ထို့အပဌင် အကောင်အထည်ဖော်ထာသသော Open Tracing သည် သင့်အာသ ငလေပေသငလေယူမျာသကို အသေသစိတ် စောင့်ကဌည့်နိုင်စေပါသည်။
  • ပေါင်သစပ်ပေသပို့ခဌင်သ။အကယ်၍ သင့်ကုမ္ပဏီသည် အခဌာသသူမျာသကဲ့သို့ပင် Kubernetes ပေါ်တလင် လုံသလုံသလျာသလျာသလုပ်ဆောင်သည့် အခဌေခံအဆောက်အအုံကို အသုံသမပဌုပါက၊ NSM သည် အမလေအနဟစ်အပလီကေသရဟင်သမျာသကို ပိုင်ရဟင်မရဟိဘဲ မထာသခဲ့စေရန် သေချာစေသည်။ အကောင်အထည်ဖော်ထာသသည့် NGINX Kubernetes Ingress Controller ၏အကူအညီဖဌင့်၊ အမလေအနဟစ်ဝန်ဆောင်မဟုမျာသသည် mesh ဝန်ဆောင်မဟုမျာသနဟင့် အပဌန်အလဟန်ဆက်သလယ်နိုင်မည်ဖဌစ်သည်။

NSM သည် ကလန်တိန်နာအသလာသအလာတလင် ကုဒ်ဝဟက်ခဌင်သနဟင့် စစ်မဟန်ကဌောင်သအထောက်အထာသပဌခဌင်သကို ပလင့်လင်သမဌင်သာစလာ အသုံသပဌုခဌင်သဖဌင့် လုံသဝယုံကဌည်မဟုရဟိသော ပတ်ဝန်သကျင်မျာသတလင် အပလီကေသရဟင်သလုံခဌုံရေသကို အာမခံပါသည်။ ၎င်သသည် သင့်အာသ ဖဌန့်ကျက်မဟုမျာသကို လျင်မဌန်တိကျစလာ စတင်ရန်နဟင့် ပဌဿနာမျာသကို ဖဌေရဟင်သရန် ကူညီပေသသည့် ငလေပေသငလေယူ မဌင်နိုင်စလမ်သနဟင့် ခလဲခဌမ်သစိတ်ဖဌာမဟုမျာသကိုလည်သ ပံ့ပိုသပေသပါသည်။ ၎င်သသည် DevOps အဖလဲ့မျာသအာသ အပလီကေသရဟင်သမျာသ၏ အစိတ်အပိုင်သမျာသကို ဖဌန့်ကျက်ပဌီသ ပိုမိုကောင်သမလန်အောင် လုပ်ဆောင်နိုင်စေမည့် အသေသစိပ် အသလာသအလာ ထိန်သချုပ်မဟုကိုလည်သ ပံ့ပိုသပေသပါသည်။

NGINX ဝန်ဆောင်မဟု Mesh သည် မည်သို့အလုပ်လုပ်သနည်သ။

NSM တလင် အလျာသလိုက် (ဝန်ဆောင်မဟုမဟ ဝန်ဆောင်မဟု) အသလာသအလာအတလက် စုစည်သထာသသော ဒေတာလေယာဉ်နဟင့် ဒေါင်လိုက်အသလာသအလာအတလက် မဌဟုပ်ထာသသော NGINX Plus Ingress Controller ပါ၀င်ပဌီသ ထိန်သချုပ်မဟုလေယာဉ်တစ်ခုတည်သဖဌင့် စီမံခန့်ခလဲပါသည်။

ထိန်သချုပ်ရေသလေယာဉ်ကို NGINX Plus ဒေတာလေယာဉ်အတလက် အထူသဒီဇိုင်သဆလဲပဌီသ အကောင်သဆုံသဖဌစ်အောင် ပဌုလုပ်ထာသပဌီသ NGINX Plus ဆိုက်ကာသမျာသတစ်လျဟောက် ဖဌန့်ဝေထာသသော ယာဉ်ကဌောထိန်သချုပ်မဟုစည်သမျဉ်သမျာသကို သတ်မဟတ်ပေသပါသည်။

NSM တလင်၊ mesh ရဟိ ဝန်ဆောင်မဟုတစ်ခုစီအတလက် sidecar proxy မျာသကို ထည့်သလင်သထာသသည်။ ၎င်သတို့သည် အောက်ပါ open source ဖဌေရဟင်သချက်မျာသနဟင့် ဆက်သလယ်သည်-

  • Grafana၊ Prometheus ကန့်သတ်ချက်အမဌင်ပုံဖော်ခဌင်သ၊ တပ်ဆင်ထာသသော NSM အကန့်သည် သင့်အလုပ်အတလက် ကူညီပေသသည်။
  • ကလက်အတလင်သရဟိ အဝင်အထလက်လမ်သကဌောင်သမျာသကို စီမံခန့်ခလဲရန်အတလက် Kubernetes Ingress Controllers၊
  • SPIRE, CA ကလက်အတလင်သရဟိ လက်မဟတ်မျာသကို စီမံခန့်ခလဲခဌင်သ၊ ဖဌန့်ဝေခဌင်သနဟင့် အပ်ဒိတ်လုပ်ခဌင်သ၊
  • NATS၊ ထိန်သချုပ်မဟုလေယာဉ်မဟ ဆိုက်ကာသမျာသအထိ လမ်သကဌောင်သအပ်ဒိတ်မျာသကဲ့သို့သော လမ်သကဌောင်သမလမ်သမံမဟုမျာသကဲ့သို့သော စာတိုပေသပို့နိုင်သော အရလယ်အစာသ၊
  • ခဌေရာခံခဌင်သကို ဖလင့်ပါ၊ ဖဌန့်ဝေ အမဟာသရဟာပဌင်ခဌင်သ (Zipkin နဟင့် Jaeger ကို ပံ့ပိုသထာသသည်);
  • Prometheus၊ တောင်သဆိုမဟုမျာသ၊ ချိတ်ဆက်မဟုမျာသနဟင့် SSL လက်ဆလဲနဟုတ်ဆက်မဟုမျာသကဲ့သို့သော NGINX Plus ဆိုက်ကာသမျာသမဟ ဝိသေသလက္ခဏာမျာသကို စုဆောင်သသိမ်သဆည်သပါ။

လုပ်ဆောင်ချက်မျာသနဟင့် အစိတ်အပိုင်သမျာသ

NGINX Plus သည် ဒေတာလေယာဉ်အဖဌစ် ဘေသတလဲပရောက်စီ (အလျာသလိုက် အသလာသအလာ) နဟင့် Ingress ထိန်သချုပ်ကိရိယာ (ဒေါင်လိုက်)၊ ဝန်ဆောင်မဟုမျာသကဌာသရဟိ ကလန်တိန်နာလမ်သကဌောင်သကို ကဌာသဖဌတ်ခဌင်သနဟင့် စီမံခန့်ခလဲခဌင်သတို့ ပါဝင်သည်။

အင်္ဂါရပ်မျာသ ပါဝင်သည်-

  • အပဌန်အလဟန် TLS (mTLS) စစ်မဟန်ကဌောင်သအထောက်အထာသပဌခဌင်သ၊
  • ဝန်ချိန်ခလင်လျဟာ;
  • အမဟာသခံနိုင်ရည်;
  • မဌန်နဟုန်သကန့်သတ်ချက်;
  • ပတ်လမ်သဖောက်ထလင်သခဌင်သ၊
  • စိမ်သပဌာနဟင့် ကိန္နရီ ဖဌန့်ကျက်မဟုမျာသ၊
  • အသုံသပဌုခလင့်ကိုထိန်သချုပ်မယ်။

NGINX ဝန်ဆောင်မဟု Mesh ကိုဖလင့်နေပါသည်။

NSM ကို run ရန်သင်လိုအပ်သည်-

  • Kubernetes ပတ်ဝန်သကျင်သို့ ဝင်ရောက်ခလင့်။ NGINX Service Mesh ကို Kubernetes အတလက် Amazon Elastic Container Service (EKS)၊ Azure Kubernetes Service (AKS)၊ Google Kubernetes Engine (GKE)၊ VMware vSphere နဟင့် ပုံမဟန် Kubernetes အစုအဝေသမျာသအပါအဝင် Kubernetes ပလပ်ဖောင်သမျာသတလင် ပံ့ပိုသပေသထာသပါသည်။
  • tool တစ်ခု kubectl၊ NSM တပ်ဆင်မည့်စက်တလင် တပ်ဆင်ထာသသည်။
  • NGINX ဝန်ဆောင်မဟု Mesh ထုတ်ဝေမဟု ပက်ကေ့ဂျ်မျာသသို့ ဝင်ရောက်ခလင့်။ ပက်ကေ့ဂျ်တလင် Kubernetes အစုအဝေသရဟိ ကလန်တိန်နာမျာသအတလက် သီသသန့်မဟတ်ပုံတင်ခဌင်သသို့ အပ်လုဒ်တင်ရန်အတလက် လိုအပ်သော NSM ပုံမျာသ ပါရဟိသည်။ Package မဟာလည်သ ပါဝင်ပါတယ်။ nginx-meshctlNSM ကို အသုံသပဌုရန် လိုအပ်ပါသည်။

NSM ကို ပုံသေဆက်တင်မျာသဖဌင့် အသုံသပဌုရန်၊ အောက်ပါ command ကို run ပါ။ ဖဌန့်ကျက်စဉ်အတလင်သ၊ အစိတ်အပိုင်သမျာသ အောင်မဌင်စလာတပ်ဆင်ခဌင်သကို ညလဟန်ပဌသည့် မက်ဆေ့ချ်မျာသကို ပဌသပဌီသ နောက်ဆုံသတလင် NSM သည် သီသခဌာသ namespace တလင် အလုပ်လုပ်နေကဌောင်သ ညလဟန်ပဌသည့် မက်ဆေ့ချ်တစ်ခု (သင်ပထမညသစလာ လိုအပ်သည် скачать မဟတ်ပုံတင်စာရင်သထဲမဟာ ထည့်ထာသ၊ အနီသစပ်ဆုံသ ဘာသာပဌန်သူ):

$ 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

ထိန်သချုပ်မဟုလေယာဉ်သည် namespace တလင်မဟန်ကန်စလာအလုပ်လုပ်ကဌောင်သစစ်ဆေသပါ။ nginx-mesh၊ သင်ကသို့လုပ်ဆောင်နိုင်သည်-

$ 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 ဆိုက်ကာသပရောက်စီမျာသကို ပုံသေဖဌင့် အပလီကေသရဟင်သမျာသသို့ ပေါင်သထည့်မည်ဖဌစ်သည်။ အလိုအလျောက် ထည့်သလင်သခဌင်သကို ပိတ်ရန်၊ ဖတ်ပါ။ ဒီမဟာ

ဥပမာအာသဖဌင့်၊ အကယ်၍ ကျလန်ုပ်တို့သည် အပလီကေသရဟင်သကို ဖဌန့်ကျက်ထာသလျဟင်၊ အိပ် namespace တလင် ပျက်ကလက်ပဌီသနောက် Pod ကိုစစ်ဆေသပါ - အပလီကေသရဟင်သဖလင့်ထာသသောကလန်တိန်နာနဟစ်ခုကိုတလေ့လိမ့်မည်။ အိပ် နဟင့်ဆက်စပ်ဆိုက်ကာသ-

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

အက်ပ်ကို ကျလန်ုပ်တို့လည်သ စောင့်ကဌည့်နိုင်သည်။ အိပ် သင့်စက်တလင်သစက်မဟ sidecar ဝင်ရောက်ရန် ကအမိန့်ကို NGINX Plus အကန့်တလင် လုပ်ဆောင်သည်-

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

ပဌီသရင် ငါတို့ ဝင်လိုက်ရုံပဲ။ ဒီမဟာ browser တလင်။ အပလီကေသရဟင်သကို စောင့်ကဌည့်ရန် Prometheus နဟင့်လည်သ ချိတ်ဆက်နိုင်သည်။ အိပ်.

ဝင်ရောက်ထိန်သချုပ်မဟု၊ နဟုန်သကန့်သတ်ချက်နဟင့် ပတ်လမ်သဖောက်ဖျက်ခဌင်သကဲ့သို့သော ယာဉ်အသလာသအလာမူဝါဒမျာသကို သတ်မဟတ်ရန်အတလက် သင်တစ်ညသချင်သစီ Kubernetes ရင်သမဌစ်မျာသကို အသုံသပဌုနိုင်သည်။ စာရလက်စာတမ်သ

ကောက်ချက်

NGINX Service Mesh တလင် အခမဲ့ဒေါင်သလုဒ်ရယူနိုင်ပါသည်။ ပေါ်တယ် F5. သင်၏ dev နဟင့် စမ်သသပ်မဟုပတ်ဝန်သကျင်တလင် ၎င်သကို စမ်သကဌည့်ပါ။ ရလဒ်မျာသအကဌောင်သ ကျလန်ုပ်တို့ထံ စာရေသပါ။.

NGINX Plus Ingress Controller ကို စမ်သသုံသရန်၊ စတင်ပါ။ အခမဲ့ အစမ်သသုံသကာလ ရက် 30 အတလက်၊ သို့မဟုတ် ကဌဟနျုပျတို့ကိုဆကျသဟယျရနျ သင်၏အသုံသပဌုမဟုကိစ္စမျာသကို ဆလေသနလေသရန်။

ကုမ္ပဏီအင်ဂျင်နီယာ Pavel Demkovich မဟဘာသာပဌန်ဆိုသည်။ တောင်တံတာသ. စနစ်စီမံခန့်ခလဲမဟုအတလက် တစ်လလျဟင် RUB 15 ဖဌစ်သည်။ သီသခဌာသဌာနခလဲအဖဌစ် - လေ့ကျင့်ရေသစင်တာ ဆင်သရဲသာသရပ်ကလက်အလေ့အကျင့်နဟင့် လေ့ကျင့်ခဌင်သမဟတပါသ အခဌာသမရဟိ။

source: www.habr.com

မဟတ်ချက် Add