Kubernetes အတွက် Ingress ထိန်းချုပ်ကိရိယာများ၏ ခြုံငုံသုံးသပ်ချက်နှင့် နှိုင်းယှဉ်ချက်

Kubernetes အတွက် Ingress ထိန်းချုပ်ကိရိယာများ၏ ခြုံငုံသုံးသပ်ချက်နှင့် နှိုင်းယှဉ်ချက်

တိကျသောအပလီကေးရှင်းတစ်ခုအတွက် Kubernetes အစုအဝေးတစ်ခုကို စတင်သောအခါ၊ အပလီကေးရှင်းကိုယ်တိုင်၊ လုပ်ငန်းနှင့် ဆော့ဖ်ဝဲရေးသားသူများသည် ဤအရင်းအမြစ်အတွက် မည်သို့လုပ်ဆောင်သည်ကို နားလည်ရန် လိုအပ်သည်။ ဤအချက်အလက်ဖြင့် သင်သည် ဗိသုကာဆိုင်ရာ ဆုံးဖြတ်ချက်တစ်ခုကို စတင်နိုင်ပြီး အထူးသဖြင့် ယနေ့ခေတ်တွင် အရေအတွက်များစွာရှိနေပြီဖြစ်သော သီးခြား Ingress controller ကို ရွေးချယ်ပါ။ ဆောင်းပါးများ / စာရွက်စာတမ်းများ စသည်တို့ကို အများအပြားသွားစရာမလိုဘဲ ရရှိနိုင်သောရွေးချယ်စရာများ၏ အခြေခံအကြံဥာဏ်ကိုရနိုင်ရန်၊ ကျွန်ုပ်တို့သည် ပင်မ (ထုတ်လုပ်မှုအဆင်သင့်) Ingress controllers အပါအဝင် ဤခြုံငုံသုံးသပ်ချက်ကို ပြင်ဆင်ထားပါသည်။

၎င်းသည် ဗိသုကာဆိုင်ရာဖြေရှင်းချက်ရွေးချယ်ရာတွင် လုပ်ဖော်ကိုင်ဖက်များအား ကူညီပေးလိမ့်မည်ဟု မျှော်လင့်ပါသည် - အနည်းဆုံး ၎င်းသည် ပိုမိုအသေးစိတ်အချက်အလက်များနှင့် လက်တွေ့စမ်းသပ်မှုများရရှိရန် အစပျိုးမှုတစ်ခုဖြစ်လာမည်ဖြစ်သည်။ ယခင်က၊ ကျွန်ုပ်တို့သည် ပိုက်ကွန်ပေါ်တွင် အခြားသော အလားတူပစ္စည်းများကို လေ့လာခဲ့ပြီး ထူးဆန်းလောက်အောင် ပြီးပြည့်စုံမှု တစ်ခုတည်းကို မတွေ့ခဲ့ရဘဲ အရေးအကြီးဆုံးမှာ - ဖွဲ့စည်းတည်ဆောက်ထားသော - ပြန်လည်သုံးသပ်ခြင်း ဖြစ်သည်။ ဒါဆို အဲဒီကွက်လပ်ကို ဖြည့်ကြရအောင်။

လိုအပ်ချက်များ

နိယာမအားဖြင့်၊ နှိုင်းယှဉ်မှုတစ်ခုပြုလုပ်ပြီး အသုံးဝင်သောရလဒ်ကိုရရန်၊ ဘာသာရပ်နယ်ပယ်သာမက သုတေသနလုပ်ငန်းကို သတ်မှတ်ပေးမည့် တိကျသောစံနှုန်းစာရင်းတစ်ခုလည်းရှိရန် လိုအပ်ပါသည်။ Ingress / Kubernetes ကိုအသုံးပြုခြင်း၏ဖြစ်နိုင်ချေကိစ္စရပ်များအားလုံးကို ခွဲခြမ်းစိတ်ဖြာခြင်းမပြုဘဲ၊ ကျွန်ုပ်တို့သည် ထိန်းချုပ်ကိရိယာများအတွက် ယေဘူယျလိုအပ်ချက်များကို မီးမောင်းထိုးပြရန် ကြိုးစားခဲ့သည် - မည်သည့်အခြေအနေတွင်မဆို သင်သည် သင်၏အသေးစိတ်အချက်အလက်အားလုံးကို သီးခြားစီလေ့လာရမည်ဖြစ်ပြီး ပြင်ဆင်ထားလိုက်ပါ။

သို့သော် ၎င်းတို့ကို ဖြေရှင်းချက်အားလုံးတွင် အကောင်အထည်ဖော်ပြီး ထည့်သွင်းစဉ်းစားခြင်းမပြုသည့်အတွက် အလွန်ရင်းနှီးလာခဲ့သည့် ဝိသေသများဖြင့် စတင်ပါမည်။

  • ဝန်ဆောင်မှုများကို ရှာဖွေတွေ့ရှိမှု (ဝန်ဆောင်မှုရှာဖွေတွေ့ရှိမှု)၊
  • SSL ရပ်စဲခြင်း
  • websockets များနှင့်အလုပ်လုပ်သည်။

ယခု နှိုင်းယှဉ်ချက်များအတွက်

ပံ့ပိုးထားသော ပရိုတိုကောများ

အခြေခံရွေးချယ်မှုစံနှုန်းများထဲမှ တစ်ခုဖြစ်သည်။ သင့်ဆော့ဖ်ဝဲသည် ပုံမှန် HTTP တွင် အလုပ်မလုပ်နိုင်ပါ သို့မဟုတ် ၎င်းသည် ပရိုတိုကောများစွာကို တစ်ပြိုင်နက် လုပ်ဆောင်ရန် လိုအပ်နိုင်သည်။ သင့်ကိစ္စသည် စံမမီပါက၊ နောက်ပိုင်းတွင် အစုအဝေးကို ပြန်လည်ပြင်ဆင်ရန် မလိုအပ်စေရန် ဤအချက်ကို ထည့်သွင်းစဉ်းစားပါ။ ထိန်းချုပ်သူအားလုံးအတွက်၊ ပံ့ပိုးပေးထားသော ပရိုတိုကောများစာရင်းသည် ကွဲပြားသည်။

core မှာ software ပါ။

Controller ကို အခြေခံထားသည့် Application အမျိုးမျိုးရှိသည်။ လူကြိုက်များသည့်အရာများမှာ nginx၊ traefik၊ haproxy၊ envoy ဖြစ်သည်။ ယေဘူယျအခြေအနေတွင်၊ ၎င်းသည် အသွားအလာကို လက်ခံရရှိပုံနှင့် ကူးစက်ပုံအပေါ် များစွာအကျိုးသက်ရောက်မှု မရှိနိုင်သော်လည်း၊ "ခေါင်းအုံးအောက်" ၏ ဖြစ်နိုင်ချေရှိသော ကွဲပြားမှုများနှင့် အင်္ဂါရပ်များကို သိရှိရန် အမြဲအသုံးဝင်ပါသည်။

အသွားအလာလမ်းကြောင်း

ဝန်ဆောင်မှုတစ်ခုသို့ အသွားအလာလမ်းကြောင်းနှင့်ပတ်သက်၍ ဆုံးဖြတ်ချက်တစ်ခုချရန် အဘယ်အရာဖြစ်နိုင်သနည်း။ အများအားဖြင့် ၎င်းတို့သည် host နှင့် path များဖြစ်သော်လည်း နောက်ထပ်ဖြစ်နိုင်ချေများရှိပါသည်။

အစုအဝေးတစ်ခုအတွင်း Namespace

Namespace (namespace) - Kubernetes တွင် အရင်းအမြစ်များကို ယုတ္တိရှိရှိ ခွဲထုတ်နိုင်စွမ်း (ဥပမာ၊ စင်မြင့်ပေါ်၊ ထုတ်လုပ်ရေး စသည်ဖြင့်)။ namespace တစ်ခုစီတွင် သီးခြားတပ်ဆင်ရမည့် Ingress controllers များရှိသည် (ထို့နောက် ၎င်းသည် traffic ကို တိုက်ရိုက်ပေးနိုင်သည်။ သာ ဤနေရာ၏ အစေ့များဆီသို့)။ ထို့အပြင် အစုအဖွဲ့တစ်ခုလုံးအတွက် တစ်ကမ္ဘာလုံးတွင် အလုပ်လုပ်သော (၎င်းတို့၏ ရှင်းလင်းသော အများစု) ရှိသည် - ၎င်းတို့တွင် လမ်းကြောင်းသည် namespace မခွဲခြားဘဲ အစုအဝေး၏ မည်သည့် pod သို့ ဦးတည်သည် ။

အထက်ပိုင်းအတွက် နမူနာများ

အပလီကေးရှင်း၊ ဝန်ဆောင်မှုများ၏ ကျန်းမာသော သာဓကများဆီသို့ အသွားအလာကို မည်သို့ ညွှန်ကြားသနည်း။ တက်ကြွပြီး passive စစ်ဆေးမှုများ၊ ထပ်စမ်းခြင်း၊ circuit breakers များပါရှိသော ရွေးချယ်မှုများ ရှိပါသည်။ (အသေးစိတ်သိရှိလိုပါက ဥပမာ၊ Istio အကြောင်း ဆောင်းပါး)စိတ်ကြိုက်ကျန်းမာရေးစစ်ဆေးမှုများ စသည်တို့၊ သင့်တွင်ရရှိနိုင်မှုနှင့် မအောင်မြင်သောဝန်ဆောင်မှုများကို အချိန်မီဖယ်ရှားရန်အတွက် မြင့်မားသောလိုအပ်ချက်များရှိပါက အလွန်အရေးကြီးသော ကန့်သတ်ဘောင်တစ်ခု။

ဟန်ချက်ညီသော အယ်ဂိုရီသမ်များ

ရွေးချယ်စရာများစွာရှိပါသည်။ round- ရော်ဘင် ထူးခြားဆန်းပြားဖို့ rdp-ကွတ်ကီး, အပြင်တစ်ဦးချင်းစီ features တွေကြိုက်တယ်။ ကပ်စေးနဲသော ဆက်ရှင်များ.

စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်း

ထိန်းချုပ်ကိရိယာသည် မည်သည့်ခွင့်ပြုချက်အစီအစဉ်များကို ပံ့ပိုးပေးသနည်း။ အခြေခံ၊ digest၊ oauth၊ external-auth - ဤရွေးချယ်မှုများသည် ရင်းနှီးသင့်သည်ဟု ကျွန်ုပ်ထင်ပါတယ်။ Ingress မှတဆင့်ဝင်ရောက်ကြည့်ရှုသော developer (နှင့်/သို့မဟုတ် ကိုယ်ပိုင်သီးသန့်) loops များစွာရှိနေပါက ဤသည်မှာ အရေးကြီးသောစံသတ်မှတ်ချက်တစ်ခုဖြစ်သည်။

အသွားအလာ ဖြန့်ဖြူးခြင်း။

canary rollouts (canary)၊ A/B စမ်းသပ်မှု၊ traffic mirroring (mirroring/shadowing) အစရှိတဲ့ အသုံးများတဲ့ traffic distribution ယန္တရားတွေကို controller က ပံ့ပိုးပေးပါသလား။ ဤအရာသည် ထုတ်လုပ်မှုစမ်းသပ်ခြင်းအတွက် တိကျပြီး တိကျသော အသွားအလာ စီမံခန့်ခွဲမှု လိုအပ်သော အပလီကေးရှင်းများအတွက် အမှန်တကယ် စိတ်ထိခိုက်စရာ အကြောင်းအရာတစ်ခု ဖြစ်ပါသည်။

အခကြေးငွေစာရင်းသွင်းခြင်း။

အဆင့်မြင့်လုပ်ဆောင်နိုင်စွမ်းနှင့်/သို့မဟုတ် နည်းပညာပံ့ပိုးမှုဖြင့် ထိန်းချုပ်ကိရိယာအတွက် အခပေးရွေးချယ်စရာတစ်ခု ရှိပါသလား။

ဂရပ်ဖစ်အသုံးပြုသူ အင်တာဖေ့စ် (Web UI)

controller configuration ကိုစီမံခန့်ခွဲရန် GUI ရှိပါသလား။ အဓိကအားဖြင့် " handiness" နှင့် / သို့မဟုတ် Ingress'a configuration ကိုအချို့သောအပြောင်းအလဲများပြုလုပ်ရန်လိုအပ်သူများအတွက်အဓိကအားဖြင့်၊ သို့သော် "raw" templates များနှင့်အလုပ်လုပ်ရန်အဆင်မပြေပါ။ ဆော့ဖ်ဝဲအင်ဂျင်နီယာများသည် အသွားအလာနှင့် လက်တွေ့စမ်းသပ်မှုများ ပြုလုပ်လိုပါက ၎င်းသည် အသုံးဝင်နိုင်သည်။

JWT အတည်ပြုချက်

အသုံးပြုသူ၏ခွင့်ပြုချက်နှင့် အဆုံးအပလီကေးရှင်းသို့ တရားဝင်အတည်ပြုခြင်းအတွက် JSON ဝဘ်တိုကင်များ ၏ built-in validation ရှိနေခြင်း။

config စိတ်ကြိုက်ပြင်ဆင်ခြင်းအတွက် ဖြစ်နိုင်ခြေများ

သင့်ကိုယ်ပိုင်လမ်းညွှန်ချက်များ၊ အလံများ စသည်တို့ကို စံဖွဲ့စည်းပုံပုံစံ နမူနာများတွင် ထည့်သွင်းနိုင်စေမည့် ယန္တရားများထားရှိခြင်းဟူသော အဓိပ္ပာယ်ဖြင့် နမူနာပုံစံ ချဲ့ထွင်နိုင်မှု။

အခြေခံ DDOS ကာကွယ်မှု ယန္တရားများ

ရိုးရှင်းသောနှုန်းထားကန့်သတ်သည့် အယ်လဂိုရီသမ်များ သို့မဟုတ် လိပ်စာများ၊ ခွင့်ပြုထားသောစာရင်းများ၊ နိုင်ငံများ၊ စသည်တို့အပေါ် အခြေခံ၍ ပိုမိုရှုပ်ထွေးသော ယာဉ်ကြောပိတ်ဆို့ခြင်းဆိုင်ရာ ရွေးစရာများ

သဲလွန်စတောင်းပါ။

Ingresses မှ သီးခြားဝန်ဆောင်မှုများ/ pods များအထိ စောင့်ကြည့်ခြင်း၊ ခြေရာခံခြင်းနှင့် အမှားရှာခြင်းတို့ကို လုပ်ဆောင်နိုင်ခြင်း၊ နှင့် ဝန်ဆောင်မှုများ / pods များကြားတွင်လည်း အကောင်းဆုံးဖြစ်သည်။

waff

ထောက်ပံ့ လျှောက်လွှာ firewall.

ထိန်းချုပ်သူများ

ထိန်းချုပ်သူစာရင်းကို အခြေခံ၍ ဖွဲ့စည်းခဲ့ပါသည်။ တရားဝင် Kubernetes စာရွက်စာတမ်း и ဒီစားပွဲ. တိကျသော သို့မဟုတ် ပျံ့နှံ့မှုနည်းခြင်း (ဖွံ့ဖြိုးတိုးတက်မှုအစောပိုင်းအဆင့်) ကြောင့် ၎င်းတို့ထဲမှအချို့ကို ကျွန်ုပ်တို့ ဖယ်ထုတ်ထားပါသည်။ ကျန်တာတွေကိုတော့ အောက်မှာ ဆွေးနွေးထားပါတယ်။ ဖြေရှင်းချက်များ၏ ယေဘူယျဖော်ပြချက်ဖြင့် စတင်ပြီး အကျဉ်းချုပ်ဇယားဖြင့် ဆက်ကြပါစို့။

Kubernetes မှ ဝင်ရောက်သည်။

Website: github.com/kubernetes/ingress-nginx
လိုင်စင်- Apache 2.0

၎င်းသည် Kubernetes အတွက် တရားဝင် ထိန်းချုပ်သူဖြစ်ပြီး ကွန်မြူနတီမှ တီထွင်လျက်ရှိသည်။ အမည်အားဖြင့် သိသာထင်ရှားသည်မှာ၊ ၎င်းသည် nginx ကိုအခြေခံထားပြီး နောက်ထပ်အင်္ဂါရပ်များကိုအကောင်အထည်ဖော်ရန် အသုံးပြုသည့် မတူညီသော Lua plugins အစုံဖြင့် ဖြည့်စွက်ထားသည်။ nginx ကိုယ်တိုင်၏ရေပန်းစားမှုနှင့် controller အဖြစ်အသုံးပြုသည့်အခါ ၎င်းကိုအနည်းငယ်မျှသာပြုပြင်မွမ်းမံမှုများကြောင့်၊ ဤရွေးချယ်မှုသည် ပျမ်းမျှအင်ဂျင်နီယာ (ဝဘ်အတွေ့အကြုံရှိသူ) အတွက် အလွယ်ကူဆုံးနှင့် အလွယ်ကူဆုံးပုံစံဖြစ်နိုင်သည်။

NGINX Inc မှ ဝင်ရောက်လာခြင်း

Website: github.com/nginxinc/kubernetes-ingress
လိုင်စင်- Apache 2.0

nginx developer များ၏တရားဝင်ထုတ်ကုန်။ အပေါ်အခြေခံ၍ အခပေးဗားရှင်းတစ်ခုရှိသည်။ NGINX Plus. အဓိက အယူအဆမှာ တည်ငြိမ်မှု မြင့်မားခြင်း၊ စဉ်ဆက်မပြတ် နောက်ပြန် လိုက်ဖက်ညီမှု၊ ပြင်ပ module များ မရှိတော့ခြင်းနှင့် Lua ၏ ငြင်းပယ်မှုကြောင့် ရရှိသော တိုးမြှင့်ထားသော အမြန်နှုန်း (တရားဝင် ထိန်းချုပ်ကိရိယာနှင့် နှိုင်းယှဉ်ပါက)။

တရားဝင် controller (တူညီသော Lua module များမရှိခြင်းကြောင့်) အပါအဝင်အခမဲ့ဗားရှင်းသည်သိသိသာသာလျှော့ချသည်။ တစ်ချိန်တည်းမှာပင်၊ အခကြေးငွေပေးဆောင်သူသည် အတော်လေးကျယ်ပြန့်သော နောက်ထပ်လုပ်ဆောင်နိုင်စွမ်းတစ်ခုပါရှိသည်- အချိန်နှင့်တစ်ပြေးညီ တိုင်းတာမှုများ၊ JWT တရားဝင်မှု၊ တက်ကြွသောကျန်းမာရေးစစ်ဆေးမှုများနှင့် အခြားအရာများရှိသည်။ NGINX Ingress ၏ အရေးကြီးသောအားသာချက်မှာ TCP/UDP အသွားအလာအတွက် အပြည့်အဝပံ့ပိုးမှုဖြစ်သည် (နှင့် အသိုင်းအဝိုင်းဗားရှင်းတွင်လည်း!)။ အနုတ်- မရှိခြင်း မည်သို့ပင်ဆိုစေကာမူ "ဆော့ဖ်ဝဲရေးသားသူများအတွက် အမြင့်ဆုံးဦးစားပေးဖြစ်သည်" ဟူသော အသွားအလာ ဖြန့်ဖြူးမှုအင်္ဂါရပ်ကို အကောင်အထည်ဖော်ရန် အချိန်ယူရသည်။

Kong Ingress

Website: github.com/Kong/kubernetes-ingress-controller
လိုင်စင်- Apache 2.0

Kong Inc မှ ထုတ်လုပ်သော ထုတ်ကုန် ဗားရှင်းနှစ်မျိုး- စီးပွားရေးနှင့် အခမဲ့။ Lua module အများအပြားဖြင့် တိုးချဲ့ထားသည့် nginx ကို အခြေခံထားသည်။

အစပိုင်းတွင်၊ ၎င်းသည် API တောင်းဆိုမှုများကို လုပ်ဆောင်ခြင်းနှင့် လမ်းကြောင်းသတ်မှတ်ခြင်းအပေါ် အာရုံစိုက်ခဲ့သည်၊ ဆိုလိုသည်မှာ၊ API Gateway အနေဖြင့်၊ သို့သော် ယခုအချိန်တွင် ၎င်းသည် ပြီးပြည့်စုံသော Ingress controller ဖြစ်လာသည်။ အဓိကအားသာချက်များ- တပ်ဆင်ရန်လွယ်ကူပြီး configure လုပ်ရလွယ်ကူပြီး အပိုဆောင်းအင်္ဂါရပ်များစွာကို အကောင်အထည်ဖော်သည့်အကူအညီဖြင့် နောက်ထပ် module အများအပြား (တတိယပါတီ developer များအပါအဝင်)။ သို့သော်လည်း built-in လုပ်ဆောင်ချက်များသည် ဖြစ်နိုင်ချေများစွာကို ပေးဆောင်ထားပြီးဖြစ်သည်။ CRD အရင်းအမြစ်များကို အသုံးပြု၍ အလုပ်ဖွဲ့စည်းမှုအား လုပ်ဆောင်သည်။

ထုတ်ကုန်၏အရေးကြီးသောအင်္ဂါရပ်တစ်ခု - တူညီသော contour (အမည်ခွဲထားသည့်အစား) တွင်အလုပ်လုပ်ခြင်းသည်အငြင်းပွားဖွယ်အကြောင်းအရာတစ်ခုဖြစ်သည်- အချို့အတွက်၎င်းသည်အားနည်းချက်တစ်ခုကဲ့သို့ထင်ရလိမ့်မည် (သင် contour တစ်ခုစီအတွက်အရာများကိုထုတ်လုပ်ရန်) နှင့်တစ်စုံတစ်ဦးအတွက်၎င်းသည်အင်္ဂါရပ်ဖြစ်သည် ( ခоပိုကြီးတဲ့ အထီးကျန်အဆင့်၊ Controller တစ်ခု ပျက်သွားပါက ပြဿနာသည် circuit တစ်ခုတည်းတွင်သာ ကန့်သတ်ထားသည်။)

Traefik

Website: github.com/containous/traefik
လိုင်စင်: MIT

မိုက်ခရိုဝန်ဆောင်မှုများနှင့် ၎င်းတို့၏ တက်ကြွသောပတ်ဝန်းကျင်အတွက် တောင်းဆိုမှုလမ်းကြောင်းပြခြင်းနှင့် အလုပ်လုပ်ရန် မူလဖန်တီးထားသည့် ပရောက်စီတစ်ခု။ ထို့ကြောင့်၊ များစွာသော အသုံးဝင်သော အင်္ဂါရပ်များ- အားလုံးကို ပြန်လည်စတင်ခြင်းမရှိဘဲ ဖွဲ့စည်းသတ်မှတ်မှုကို အပ်ဒိတ်လုပ်ခြင်း၊ ဟန်ချက်ညီသော နည်းလမ်းများစွာအတွက် ပံ့ပိုးမှု၊ ဝဘ်အင်တာဖေ့စ်၊ မက်ထရစ်များ ထပ်ဆင့်ခြင်း၊ အမျိုးမျိုးသော ပရိုတိုကောများ၊ REST API၊ Canary ထုတ်ဝေမှုများနှင့် အခြားအရာများစွာအတွက် ပံ့ပိုးမှု။ နောက်ထပ်ကောင်းတဲ့ အင်္ဂါရပ်ကတော့ Let's Encrypt Certificate တွေကို ဘောက်စ်ထဲက ကုဒ်နံပါတ်အတွက် ပံ့ပိုးပေးပါတယ်။ အားနည်းချက်မှာ မြင့်မားသောရရှိနိုင်မှု (HA) ကို စုစည်းရန်အတွက် controller သည် ၎င်း၏ကိုယ်ပိုင် KV သိုလှောင်မှုကို တပ်ဆင်ရန်နှင့် ချိတ်ဆက်ရန် လိုအပ်မည်ဖြစ်သည်။

HAProxy

Website: github.com/jcmoraisjr/haproxy-ingress
လိုင်စင်- Apache 2.0

HAProxy ကို proxy နှင့် traffic balancer အဖြစ် လူသိများသည်။ Kubernetes အစုအဝေး၏ တစ်စိတ်တစ်ပိုင်းအနေဖြင့်၊ ၎င်းသည် API ကို အသုံးပြု၍ "ပျော့ပျောင်းသော" ဖွဲ့စည်းမှုပုံစံ မွမ်းမံမှု (အသွားအလာ ဆုံးရှုံးခြင်းမရှိဘဲ)၊ ဝန်ဆောင်မှုရှာဖွေတွေ့ရှိမှု၊ API ကို အသုံးပြု၍ ရွေ့လျားပြောင်းလဲနေသော ဖွဲ့စည်းမှုပုံစံ DNS ကို အခြေခံထားသည်။ CM ကို အစားထိုးခြင်းနှင့် ၎င်းရှိ Sprig စာကြည့်တိုက်လုပ်ဆောင်ချက်များကို သုံးနိုင်ခြင်းဖြင့် config template ကို လုံးလုံးလျားလျား စိတ်ကြိုက်ပြင်ဆင်ရန် ဆွဲဆောင်မှု ရှိနိုင်ပါသည်။ ယေဘူယျအားဖြင့်၊ ဖြေရှင်းချက်၏ အဓိကအလေးပေးမှုမှာ မြင့်မားသော မြန်နှုန်း၊ စားသုံးထားသော အရင်းအမြစ်များတွင် ၎င်း၏ ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းနှင့် ထိရောက်မှုတို့အပေါ် အာရုံစိုက်ခြင်းဖြစ်သည်။ Controller ၏ အားသာချက်မှာ မတူညီသော ဟန်ချက်ညီသည့် နည်းလမ်းများစွာကို မှတ်တမ်းတင်ထားခြင်း ဖြစ်သည်။

Voyager

Website: github.com/appscode/voyager
လိုင်စင်- Apache 2.0

HAproxy controller ကို အခြေခံ၍ ဝန်ဆောင်မှုပေးသူအများအပြားအတွက် ကျယ်ပြန့်သောအင်္ဂါရပ်များကို ပံ့ပိုးပေးသည့် universal solution တစ်ခုအဖြစ် နေရာချထားပါသည်။ L7 နှင့် L4 တွင် အသွားအလာ ဟန်ချက်ညီစေရန် အခွင့်အလမ်းတစ်ခု ကမ်းလှမ်းထားပြီး TCP L4 အသွားအလာ တစ်ခုလုံးကို ဟန်ချက်ညီအောင် ချိန်ညှိခြင်းသည် ဖြေရှင်းချက်၏ အဓိကအင်္ဂါရပ်များထဲမှ တစ်ခုဟု ခေါ်ဆိုနိုင်ပါသည်။

ပုံ

Website: github.com/heptio/contour
လိုင်စင်- Apache 2.0

ဤဖြေရှင်းချက်သည် Envoy အပေါ်အခြေခံသည်သာမက၊ ၎င်းကိုတီထွင်ခဲ့သည်။ ဖက်စပ် ဤနာမည်ကြီး proxy ၏ရေးသားသူများနှင့်အတူ။ အရေးကြီးသောအင်္ဂါရပ်မှာ IngressRoute CRD အရင်းအမြစ်များကို အသုံးပြု၍ Ingress အရင်းအမြစ်များကို သီးခြားထိန်းချုပ်နိုင်မှုဖြစ်သည်။ တူညီသောအစုအဝေးကိုအသုံးပြုသည့် ဖွံ့ဖြိုးတိုးတက်ရေးအဖွဲ့များစွာရှိသည့် အဖွဲ့အစည်းများအတွက်၊ ၎င်းသည် အနီးနားရှိ လမ်းကြောင်းများတွင် အသွားအလာများနှင့် လုပ်ဆောင်ခြင်း၏ လုံခြုံရေးကို အမြင့်ဆုံးဖြစ်စေရန်နှင့် Ingress အရင်းအမြစ်များကို ပြောင်းလဲသည့်အခါ အမှားအယွင်းများမှ ကာကွယ်ပေးပါသည်။

၎င်းသည် တိုးချဲ့ထားသော ချိန်ခွင်လျှာညှိနည်းလမ်းများ (တောင်းဆိုမှုကို ပုံတူကူးချခြင်း၊ အလိုအလျောက်ပြန်လုပ်ခြင်း၊ တောင်းဆိုမှုနှုန်းကန့်သတ်ခြင်းနှင့် အခြားအရာများစွာရှိသည်)၊ ယာဉ်အသွားအလာစီးဆင်းမှုနှင့် မအောင်မြင်မှုများကို အသေးစိတ်စောင့်ကြည့်ခြင်းကိုလည်း ပေးပါသည်။ တစ်စုံတစ်ဦးအတွက် ဖြစ်ကောင်းဖြစ်နိုင်သည် (အလုပ်ဖြစ်သော်လည်း၊ ဆောင်ရွက်နေပြီဖြစ်သည်။).

Istio Ingress

Website: istio.io/docs/tasks/traffic-management/ingress
လိုင်စင်- Apache 2.0

ပြည့်စုံသောဝန်ဆောင်မှု mesh ဖြေရှင်းချက်တစ်ခုဖြစ်သည့် Ingress controller သည် ပြင်ပမှဝင်လာသောအသွားအလာများကို စီမံခန့်ခွဲရုံသာမက အစုအဝေးအတွင်းရှိ traffic အားလုံးကိုလည်း ထိန်းချုပ်ပေးပါသည်။ အဖုံးအောက်တွင် Envoy ကို ဝန်ဆောင်မှုတစ်ခုစီအတွက် sidecar proxy အဖြစ် အသုံးပြုသည်။ အနှစ်သာရအားဖြင့်၊ ၎င်းသည် "ဘာမဆိုလုပ်နိုင်သည်" ဟူသော ကြီးမားသောပေါင်းစပ်မှုဖြစ်ပြီး ၎င်း၏အဓိကအယူအဆမှာ အမြင့်ဆုံးစီမံခန့်ခွဲနိုင်မှု၊ တိုးချဲ့နိုင်မှု၊ လုံခြုံရေးနှင့် ပွင့်လင်းမြင်သာမှုဖြစ်သည်။ ၎င်းနှင့်အတူ သင်သည် အသွားအလာလမ်းကြောင်းကို ကောင်းစွာချိန်ညှိခြင်း၊ ဝန်ဆောင်မှုများအကြား ခွင့်ပြုချက်ရယူခြင်း၊ ချိန်ခွင်လျှာညှိခြင်း၊ စောင့်ကြည့်ခြင်း၊ Canary ထုတ်ဝေမှုများနှင့် အခြားအရာများစွာကို ရယူနိုင်သည်။ စီးရီးဆောင်းပါးများတွင် Istio အကြောင်းပိုမိုဖတ်ပါIstio ဖြင့် microservices သို့ ပြန်သွားရန်"။

သံအမတ်ကြီး

Website: github.com/datawire/ambassador
လိုင်စင်- Apache 2.0

Envoy အပေါ်အခြေခံပြီး နောက်ထပ်အဖြေတစ်ခု။ ၎င်းတွင်အခမဲ့နှင့်စီးပွားဖြစ်ဗားရှင်းများရှိသည်။ ၎င်းသည် သက်ဆိုင်ရာ အားသာချက်များ (K8s အစုအဝေး၏ နည်းလမ်းများနှင့် အစိတ်အပိုင်းများနှင့်အတူ တင်းကျပ်စွာ ပေါင်းစည်းခြင်း) ကို ယူဆောင်လာပေးသည့် "လုံးလုံးဇာတိ Kubernetes" အဖြစ် နေရာချထားပါသည်။

နှိုင်းယှဉ်စားပွဲပေါ်မှာ

ထို့ကြောင့် ဆောင်းပါး၏ အထွတ်အထိပ်မှာ ဤကြီးမားသော ဇယားဖြစ်သည်။

Kubernetes အတွက် Ingress ထိန်းချုပ်ကိရိယာများ၏ ခြုံငုံသုံးသပ်ချက်နှင့် နှိုင်းယှဉ်ချက်

ပိုမိုနီးကပ်သောမြင်ကွင်းအတွက် ကလစ်နှိပ်နိုင်သည့်အပြင် ဖော်မတ်တွင်လည်း ရနိုင်ပါသည်။ Google က Sheet များ.

အနှစ်ချုပ်ရန်

ဤဆောင်းပါး၏ ရည်ရွယ်ချက်မှာ သင့်ကိစ္စရပ်တွင် မည်သည့်ရွေးချယ်မှုမှ ပိုမိုပြည့်စုံသော နားလည်မှုကို ပေးဆောင်ရန်ဖြစ်သည် (သို့သော်၊ ပြည့်စုံမှုမရှိဘဲ!)။ ထုံးစံအတိုင်း Controller တစ်ခုစီတိုင်းမှာ သူ့အားသာချက်နဲ့သူ အားနည်းချက်တွေ ရှိကြပါတယ်။

Kubernetes မှ ဂန္ထဝင် Ingress သည် ၎င်း၏ရရှိနိုင်မှုနှင့် သက်သေပြမှု၊ ပြည့်စုံလုံလောက်သောအင်္ဂါရပ်များအတွက် ကောင်းမွန်သည် - ယေဘုယျအခြေအနေတွင်၊ ၎င်းသည် "မျက်စိအတွက်လုံလောက်သည်" ဖြစ်သင့်သည်။ သို့သော်၊ တည်ငြိမ်မှု၊ အင်္ဂါရပ်များနှင့် ဖွံ့ဖြိုးတိုးတက်မှုအဆင့်အတွက် လိုအပ်ချက်များ တိုးလာပါက၊ NGINX Plus နှင့် Ingress နှင့် အခပေးစာရင်းသွင်းမှုတို့ကို အာရုံစိုက်သင့်သည်။ Kong တွင် အချမ်းသာဆုံး ပလပ်အင်များ (ထို့ကြောင့် ၎င်းတို့ ပေးသည့် အခွင့်အလမ်းများ) ရှိပြီး အခပေးဗားရှင်းတွင် ၎င်းတို့ထဲမှ ပိုများသည်။ ၎င်းတွင် API Gateway၊ CRD အရင်းအမြစ်များအပေါ် အခြေခံ၍ ပြောင်းလဲနေသောဖွဲ့စည်းပုံအပြင် အခြေခံ Kubernetes ဝန်ဆောင်မှုများအဖြစ် လုပ်ဆောင်ရန် အခွင့်အလမ်းများစွာရှိသည်။

ချိန်ခွင်လျှာညှိခြင်းနှင့် ခွင့်ပြုချက်နည်းလမ်းများအတွက် တိုးမြှင့်လိုအပ်ချက်များနှင့်အတူ Traefik နှင့် HAProxy ကိုကြည့်ရှုပါ။ ၎င်းတို့သည် နှစ်များတစ်လျှောက် သက်သေပြခဲ့သည့် Open Source ပရောဂျက်များဖြစ်ပြီး အလွန်တည်ငြိမ်ပြီး တက်ကြွစွာ ဖွံ့ဖြိုးတိုးတက်နေပါသည်။ Contour သည် နှစ်အနည်းငယ်ကြာအောင် ထွက်လာခဲ့သည်၊ သို့သော် ၎င်းသည် အလွန်နုနယ်သေးပြီး Envoy ၏ထိပ်တွင် အခြေခံအင်္ဂါရပ်များသာ ထည့်သွင်းထားသည်။ အပလီကေးရှင်း၏ရှေ့တွင် WAF ၏တည်ရှိမှု / မြှပ်နှံမှုအတွက်လိုအပ်ချက်များရှိပါက Kubernetes သို့မဟုတ် HAProxy မှတူညီသော Ingress ကိုအာရုံစိုက်သင့်သည်။

အင်္ဂါရပ်များနှင့် ပတ်သက်၍ အချမ်းသာဆုံးမှာ Envoy အထူးသဖြင့် Istio ၏ထိပ်တွင် တည်ဆောက်ထားသော ထုတ်ကုန်များဖြစ်သည်။ ၎င်းသည် "မည်သည့်အရာကိုမဆိုလုပ်နိုင်သည်" ဟူသော ပြည့်စုံသောဖြေရှင်းချက်တစ်ခုဖြစ်ပုံရသည်၊ ယင်းသည် အခြားဖြေရှင်းနည်းများထက် configuration / launch / administrator အတွက် သိသိသာသာမြင့်မားသော entry threshold ကိုဆိုလိုသည်။

ကျွန်ုပ်တို့သည် လိုအပ်ချက်များ၏ 80-90% ကို လွှမ်းခြုံနိုင်သော စံထိန်းချုပ်ကိရိယာအဖြစ် Kubernetes မှ Ingress ကို ရွေးချယ်ပြီး ဆက်လက်အသုံးပြုထားပါသည်။ ၎င်းသည် အလွန်ယုံကြည်စိတ်ချရပြီး ပြင်ဆင်သတ်မှတ်ရန်နှင့် ချဲ့ထွင်ရန် လွယ်ကူသည်။ ယေဘူယျအားဖြင့်၊ တိကျသောလိုအပ်ချက်များမရှိပါက၊ ၎င်းသည် အစုအဖွဲ့/အပလီကေးရှင်းအများစုနှင့်ကိုက်ညီသင့်သည်။ တူညီသော universal နှင့် အတော်လေးရိုးရှင်းသော ထုတ်ကုန်များတွင် Traefik နှင့် HAProxy ကို အကြံပြုနိုင်ပါသည်။

PS

ကျွန်ုပ်တို့၏ဘလော့ဂ်တွင်လည်းဖတ်ပါ

source: www.habr.com

မှတ်ချက် Add