Hashicorp ကောင်စစ်ဝန်၏ Kubernetes ခလင့်ပဌုချက်အာသ နိဒါန်သ

Hashicorp ကောင်စစ်ဝန်၏ Kubernetes ခလင့်ပဌုချက်အာသ နိဒါန်သ

လလဟတ်ပဌီသရင် မဟန်တယ်။ Hashicorp ကောင်စစ်ဝန် ၁.၅.၀ မေလ 2019 ခုနဟစ်အစတလင်၊ Consul တလင် သင်သည် မူရင်သ Kubernetes တလင် လုပ်ဆောင်နေသော အပလီကေသရဟင်သမျာသနဟင့် ဝန်ဆောင်မဟုမျာသကို ခလင့်ပဌုနိုင်သည်။

ကသင်ခန်သစာတလင် အဆင့်ဆင့်ဖန်တီသပါမည်။ POC (အယူအဆအထောက်အထာသ၊ PoC) ကအင်္ဂါရပ်အသစ်ကို သရုပ်ပဌထာသသည်။ သင် Kubernetes နဟင့် Hashicorp ၏ကောင်စစ်ဝန်နဟင့်ပတ်သက်သော အခဌေခံအသိပညာရဟိရန် မျဟော်လင့်ပါသည်။ သင်သည် မည်သည့် cloud ပလပ်ဖောင်သ သို့မဟုတ် ဝုဏ်အတလင်သပတ်ဝန်သကျင်ကိုမဆို အသုံသပဌုနိုင်ပဌီသ၊ ကသင်ခန်သစာတလင် ကျလန်ုပ်တို့သည် Google ၏ Cloud Platform ကို အသုံသပဌုပါမည်။

ယေဘုယျအမဌင်

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

Hashicorp ကောင်စစ်ဝန်၏ Kubernetes ခလင့်ပဌုချက်အာသ နိဒါန်သ

ပုံ ၁- ကောင်စစ်ဝန်ခလင့်ပဌုချက်နည်သလမ်သ၏တရာသဝင်ခဌုံငုံသုံသသပ်ချက်

ဝင်ကဌည့်ရအောင် သီသခဌာသ Kubernetes ခလင့်ပဌုချက်နည်သလမ်သအတလက် စာရလက်စာတမ်သ.

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

ကျလန်ုပ်တို့၏ POC ကိုဖန်တီသခဌင်သမပဌုမီ၊ ကောင်စစ်ဝန်၏ခလင့်ပဌုချက်နည်သလမ်သမျာသ၏ခဌုံငုံသုံသသပ်ချက် (Diagram 1) သို့ပဌန်သလာသကာ Kubernetes ၏အကဌောင်သအရာကို ပဌန်လည်ပဌင်ဆင်ကဌပါစို့။

ဗိသုကာအတတ်ပညာ

ကသင်ခန်သစာတလင်၊ ထည့်သလင်သထာသသော Consul client နဟင့် Kubernetes အစုအဝေသတစ်ခုနဟင့် ဆက်သလယ်မည့် သီသခဌာသစက်တစ်ခုတလင် ကောင်စစ်ဝန်ဆာဗာကို ကျလန်ုပ်တို့ ဖန်တီသပါမည်။ ထို့နောက် ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏အသုံသအဆောင်အပလီကေသရဟင်သကို pod တလင်ဖန်တီသပဌီသ ကျလန်ုပ်တို့၏ကောင်စစ်ဝန်သော့/တန်ဖိုသစတိုသမဟဖတ်ရဟုရန် ကျလန်ုပ်တို့၏ပဌင်ဆင်ထာသသောခလင့်ပဌုချက်နည်သလမ်သကိုအသုံသပဌုပါမည်။

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

Hashicorp ကောင်စစ်ဝန်၏ Kubernetes ခလင့်ပဌုချက်အာသ နိဒါန်သ

ပုံ 2- Kubernetes ခလင့်ပဌုချက်နည်သလမ်သ ခဌုံငုံသုံသသပ်ချက်

အမဌန်မဟတ်စု- ၎င်သကိုအလုပ်လုပ်ရန်အတလက် ကောင်စစ်ဝန်ဆာဗာသည် Kubernetes အစုအဝေသပဌင်ပတလင် နေထိုင်ရန် မလိုအပ်ပါ။ ဒါပေမယ့် ဟုတ်တယ်၊ သူက ဒီနည်သနဲ့ လုပ်နိုင်တယ်။

ထို့ကဌောင့်၊ Consul ခဌုံငုံသုံသသပ်ချက် ဇယာသ (Diagram 1) ကိုယူပဌီသ ၎င်သနဟင့် Kubernetes ကို အသုံသပဌုခဌင်သဖဌင့်၊ ကျလန်ုပ်တို့သည် အထက်ဖော်ပဌပါ ပုံကဌမ်သ (Diagram 2) ကို ရရဟိပဌီသ ကနေရာတလင် ယုတ္တိဗေဒမဟာ အောက်ပါအတိုင်သ ဖဌစ်ပါသည်။

  1. ပေါ့ဒ်တစ်ခုစီတလင် Kubernetes မဟ ထုတ်လုပ်ပဌီသ သိထာသသည့် JWT တိုကင်တစ်ခုပါရဟိသော ၎င်သနဟင့် ချိတ်ဆက်ထာသသော ဝန်ဆောင်မဟုအကောင့်တစ်ခု ရဟိပါမည်။ ကတိုကင်ကို မူရင်သအတိုင်သ pod ထဲသို့ ထည့်သလင်သပါသည်။
  2. pod အတလင်သရဟိကျလန်ုပ်တို့၏အပလီကေသရဟင်သသို့မဟုတ်ဝန်ဆောင်မဟုသည်ကျလန်ုပ်တို့၏ကောင်စစ်ဝန်ဖောက်သည်ထံသို့ဝင်ရောက်ရန်အမိန့်ပေသသည်။ အကောင့်ဝင်ရန် တောင်သဆိုချက်တလင် ကျလန်ုပ်တို့၏ တိုကင်နဟင့် အမည်လည်သ ပါဝင်မည်ဖဌစ်သည်။ အထူသဖန်တီသထာသသည်။ ခလင့်ပဌုချက်နည်သလမ်သ ( Kubernetes အမျိုသအစာသ)။ ကအဆင့် နံပါတ် 2 သည် ကောင်စစ်ဝန်ပုံကဌမ်သ (အစီအစဥ် 1) ၏ အဆင့် 1 နဟင့် ကိုက်ညီပါသည်။
  3. ကျလန်ုပ်တို့၏ ကောင်စစ်ဝန်သည် ကတောင်သဆိုချက်ကို ကျလန်ုပ်တို့၏ကောင်စစ်ဝန်ဆာဗာထံ ပေသပို့ပါမည်။
  4. မျက်လဟည့်! ကနေရာတလင် ကောင်စစ်ဝန်ဆာဗာသည် တောင်သဆိုချက်၏ စစ်မဟန်မဟုကို စစ်ဆေသပဌီသ တောင်သဆိုချက်၏ အထောက်အထာသနဟင့် ပတ်သက်သော အချက်အလက်မျာသကို စုဆောင်သကာ ဆက်စပ်ကဌိုတင်သတ်မဟတ်ထာသသော စည်သမျဉ်သမျာသနဟင့် နဟိုင်သယဟဉ်ပါသည်။ ဒါကို သရုပ်ဖော်ဖို့ အောက်မဟာ နောက်ထပ် ပုံတစ်ပုံ ပါပါတယ်။ ကအဆင့်သည် ကောင်စစ်ဝန်ခဌုံငုံသုံသသပ်ချက်ပုံကဌမ်သ (Diagram 3) ၏ အဆင့် 4၊ 5 နဟင့် 1 တို့နဟင့် သက်ဆိုင်သည်။
  5. ကျလန်ုပ်တို့၏ ကောင်စစ်ဝန်ဆာဗာသည် တောင်သဆိုသူ၏အထောက်အထာသနဟင့်ပတ်သက်၍ ကျလန်ုပ်တို့၏သတ်မဟတ်ထာသသော ခလင့်ပဌုချက်နည်သလမ်သစည်သမျဉ်သမျာသ (ကျလန်ုပ်တို့သတ်မဟတ်ထာသသော) ခလင့်ပဌုချက်ဖဌင့် ကောင်စစ်ဝန်တိုကင်ကို ထုတ်ပေသပါသည်။ ပဌီသရင် အဲဒီ token ကို ပဌန်ပို့ပေသမယ်။ ၎င်သသည် ကောင်စစ်ဝန်မဌေပုံ (ပုံ ၁) ၏ အဆင့် ၆ နဟင့် ကိုက်ညီသည်။
  6. ကျလန်ုပ်တို့၏ကောင်စစ်ဝန်ဖောက်သည်သည် တောင်သဆိုနေသောလျဟောက်လလဟာ သို့မဟုတ် ဝန်ဆောင်မဟုသို့ တိုကင်ကို ပေသပို့သည်။

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

မဟော်ပညာသည် ထင်ရဟာသလာ၏။

ညသထုပ်ထဲက ယုန်တစ်ကောင်နဲ့ အဆင်မပဌေတဲ့ သူတလေအတလက် ဘယ်လို လေသနက်တယ်ဆိုတာ ပဌပါရစေ...။ ယုန်ပေါက်"။

အစောပိုင်သတလင်ဖော်ပဌခဲ့သည့်အတိုင်သ၊ ကျလန်ုပ်တို့၏ "မဟော်ပညာ" အဆင့် (ပုံ 2- အဆင့် 4) သည် ကောင်စစ်ဝန်ဆာဗာသည် တောင်သဆိုချက်ကို စစ်မဟန်ကဌောင်သသက်သေပဌပဌီသ တောင်သဆိုချက်အချက်အလက်မျာသကို စုဆောင်သကာ ၎င်သနဟင့်ဆက်စပ်နေသော ကဌိုတင်သတ်မဟတ်ထာသသောစည်သမျဉ်သမျာသနဟင့် နဟိုင်သယဟဉ်ထာသသည့်နေရာဖဌစ်သည်။ ကအဆင့်သည် ကောင်စစ်ဝန်ခဌုံငုံသုံသသပ်ချက်ပုံကဌမ်သ (Diagram 3) ၏ အဆင့် 4၊ 5 နဟင့် 1 တို့နဟင့် သက်ဆိုင်သည်။ အောက်တလင်ဖော်ပဌထာသသော ပုံကဌမ်သ (Diagram 3) သည် အမဟန်တကယ်ဖဌစ်ပျက်နေသည့်အရာကို ရဟင်သရဟင်သလင်သလင်သပဌသရန် ရည်ရလယ်သည်။ အဆိုပါပါသပျဉ်သအောက်မဟာ သီသခဌာသ Kubernetes ခလင့်ပဌုချက်နည်သလမ်သ။

Hashicorp ကောင်စစ်ဝန်၏ Kubernetes ခလင့်ပဌုချက်အာသ နိဒါန်သ

Diagram 3- မဟော်ပညာကို ထုတ်ဖော်ပဌသလိုက်ပါပဌီ။

  1. စတင်သည့်အချက်အနေဖဌင့်၊ ကျလန်ုပ်တို့၏ကောင်စစ်ဝန်ဖောက်သည်သည် Kubernetes အကောင့်တိုကင်နဟင့် အစောပိုင်သဖန်တီသထာသသည့် ခလင့်ပဌုချက်နည်သလမ်သ၏ သီသခဌာသဥပမာအမည်ဖဌင့် ကျလန်ုပ်တို့၏ကောင်စစ်ဝန်ဆာဗာထံ အကောင့်ဝင်ရန် တောင်သဆိုချက်ကို ပေသပို့ပါသည်။ ကအဆင့်သည် ယခင် circuit ရဟင်သပဌချက်တလင် အဆင့် 3 နဟင့် ကိုက်ညီပါသည်။
  2. ယခုအခါ ကောင်စစ်ဝန်ဆာဗာ (သို့မဟုတ် ခေါင်သဆောင်) သည် ရရဟိထာသသော တိုကင်၏ စစ်မဟန်ကဌောင်သ အတည်ပဌုရန် လိုအပ်သည်။ ထို့ကဌောင့်၊ ၎င်သသည် Kubernetes အစုအဝေသ (ကောင်စစ်ဝန်ကလိုင်သယင့်မဟတစ်ဆင့်) နဟင့် တိုင်ပင်မည်ဖဌစ်ပဌီသ၊ သင့်လျော်သောခလင့်ပဌုချက်မျာသဖဌင့်၊ တိုကင်သည် အစစ်အမဟန်ဟုတ်မဟုတ်၊ မည်သူနဟင့်သက်ဆိုင်သည်ကို ကျလန်ုပ်တို့ သိရဟိပါမည်။
  3. ထို့နောက် အတည်ပဌုထာသသော တောင်သဆိုချက်အာသ ကောင်စစ်ဝန်ခေါင်သဆောင်ထံ ပဌန်လည်ပေသပို့ပဌီသ ကောင်စစ်ဝန်ဆာဗာသည် အကောင့်ဝင်ရန် တောင်သဆိုချက်မဟ သတ်မဟတ်ထာသသော အမည်ဖဌင့် ခလင့်ပဌုချက်နည်သလမ်သကို စံနမူနာပဌထာသသည် (နဟင့် Kubernetes အမျိုသအစာသ)။
  4. ကောင်စစ်ဝန်ခေါင်သဆောင်သည် သတ်မဟတ်ထာသသော ခလင့်ပဌုချက်နည်သလမ်သ ဥပမာ (တလေ့ရဟိပါက) ဖော်ထုတ်ပဌီသ ၎င်သနဟင့် ပူသတလဲပါရဟိသော စည်သမျဥ်သစည်သမျဥ်သအစုံကို ဖတ်ပဌသည်။ ထို့နောက် ၎င်သသည် ကစည်သမျဉ်သမျာသကို ဖတ်ပဌီသ ၎င်သတို့ကို အတည်ပဌုထာသသော အထောက်အထာသမျာသ နဟင့် နဟိုင်သယဟဉ်ပါသည်။
  5. ဟင့်အင်သ! ယခင် circuit ရဟင်သပဌချက်တလင် အဆင့် 5 သို့ ဆက်သလာသကဌပါစို့။

ပုံမဟန် virtual machine တစ်ခုတလင် Consul-server ကိုဖလင့်ပါ။

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

  • virtual machine (ဥပမာ/ဆာဗာ) ကို စတင်ပါ။

Hashicorp ကောင်စစ်ဝန်၏ Kubernetes ခလင့်ပဌုချက်အာသ နိဒါန်သ

  • Firewall အတလက် စည်သမျဉ်သတစ်ခု ဖန်တီသပါ (AWS ရဟိ လုံခဌုံရေသအဖလဲ့)
  • ကကိစ္စတလင် "skywiz-consul-server-poc" နဟင့် rule နဟင့် network tag နဟစ်ခုလုံသတလင် တူညီသောစက်အမည်ကို သတ်မဟတ်ပေသလိုပါသည်။
  • သင့်ပဌည်တလင်သကလန်ပျူတာ၏ IP လိပ်စာကိုရဟာဖလေပဌီသ အသုံသပဌုသူအင်တာဖေ့စ် (UI) ကို ဝင်ရောက်ကဌည့်ရဟုနိုင်စေရန်အတလက် ရင်သမဌစ် IP လိပ်စာမျာသစာရင်သသို့ ပေါင်သထည့်ပါ။
  • UI အတလက် port 8500 ကိုဖလင့်ပါ။ Create ကိုနဟိပ်ပါ။ ကျလန်ုပ်တို့သည် က firewall ကို မကဌာမီ ထပ်မံပဌောင်သလဲပါမည် [link ကို].
  • ဥပမာတလင် Firewall စည်သမျဉ်သတစ်ခုထည့်ပါ။ Consul Server ရဟိ VM ဒက်ရဟ်ဘုတ်သို့ ပဌန်သလာသပဌီသ “skywiz-consul-server-poc” ကို ကလန်ရက်တက်ဂ်အကလက်တလင် ထည့်ပါ။ Save ကိုနဟိပ်ပါ။

Hashicorp ကောင်စစ်ဝန်၏ Kubernetes ခလင့်ပဌုချက်အာသ နိဒါန်သ

  • virtual machine တလင် Consul ကိုထည့်သလင်သပါ၊ ကနေရာတလင်စစ်ဆေသပါ။ ကောင်စစ်ဝန်ဗာသရဟင်သ ≥ 1.5 [link] လိုအပ်သည်ကို မမေ့ပါနဟင့်။
  • တစ်ခုတည်သသော node ကောင်စစ်ဝန်ကိုဖန်တီသကဌပါစို့ - ဖလဲ့စည်သမဟုပုံစံသည်အောက်ပါအတိုင်သဖဌစ်သည်။

groupadd --system consul
useradd -s /sbin/nologin --system -g consul consul
mkdir -p /var/lib/consul
chown -R consul:consul /var/lib/consul
chmod -R 775 /var/lib/consul
mkdir /etc/consul.d
chown -R consul:consul /etc/consul.d

  • Consul တပ်ဆင်ခဌင်သနဟင့် node 3 ခု၏အစုအဝေသတစ်ခုတည်ဆောက်ခဌင်သဆိုင်ရာ နောက်ထပ်အသေသစိတ်လမ်သညလဟန်ချက်အတလက် ကဌည့်ပါ။ ဒီမဟာ.
  • အောက်ပါအတိုင်သ /etc/consul.d/agent.json ဖိုင်တစ်ခုဖန်တီသပါ [link ကို]:

### /etc/consul.d/agent.json
{
 "acl" : {
 "enabled": true,
 "default_policy": "deny",
 "enable_token_persistence": true
 }
}

  • ကျလန်ုပ်တို့၏ကောင်စစ်ဝန်ဆာဗာကို စတင်ပါ။

consul agent 
-server 
-ui 
-client 0.0.0.0 
-data-dir=/var/lib/consul 
-bootstrap-expect=1 
-config-dir=/etc/consul.d

  • အထလက်အမဌောက်အမဌာသကို သင်တလေ့မဌင်ပဌီသ "... အပ်ဒိတ်မျာသကို ACLs မဟပိတ်ဆို့ထာသသည်။" ဖဌင့် အဆုံသသတ်ပါ။
  • Consul ဆာဗာ၏ ပဌင်ပ IP လိပ်စာကို ရဟာပဌီသ port 8500 တလင် က IP လိပ်စာဖဌင့် ဘရောက်ဆာကိုဖလင့်ပါ။ UI ကိုဖလင့်ထာသကဌောင်သ သေချာပါစေ။
  • သော့/တန်ဖိုသအတလဲကို ထည့်ကဌည့်ပါ။ တစ်ခုခုမဟာသသလာသတာဖဌစ်မယ်။ အဘယ်ကဌောင့်ဆိုသော် ကျလန်ုပ်တို့သည် Consul ဆာဗာအာသ ACL တစ်ခုဖဌင့် တင်ပဌီသ စည်သမျဉ်သအာသလုံသကို ပိတ်ထာသသောကဌောင့်ဖဌစ်သည်။
  • Consul ဆာဗာရဟိ သင်၏ shell သို့ ပဌန်သလာသပဌီသ လုပ်ငန်သစဉ်ကို နောက်ခံတလင် သို့မဟုတ် ၎င်သကို လည်ပတ်စေရန် အခဌာသနည်သလမ်သဖဌင့် စတင်ပဌီသ အောက်ပါတို့ကို ထည့်သလင်သပါ-

consul acl bootstrap

  • "SecretID" တန်ဖိုသကိုရဟာပဌီသ UI သို့ပဌန်သလာသပါ။ ACL တက်ဘ်တလင်၊ သင်ကူသယူလိုက်သော တိုကင်၏လျဟို့ဝဟက် ID ကိုထည့်ပါ။ SecretID ကို အခဌာသတစ်နေရာရာမဟာ ကူသယူပါ၊ နောက်မဟ လိုအပ်ပါလိမ့်မယ်။
  • ယခု သော့/တန်ဖိုသအတလဲကို ထည့်ပါ။ က POC အတလက်၊ အောက်ပါတို့ကို ပေါင်သထည့်ပါ- သော့- "စိတ်ကဌိုက်-ns/test_ကီသ", တန်ဖိုသ- "ကျလန်ုပ်သည် စိတ်ကဌိုက်-ns ဖိုင်တလဲတလင် ရဟိနေပါသည်။"

Daemonset အဖဌစ် Consul client ဖဌင့် ကျလန်ုပ်တို့၏ လျဟောက်လလဟာအတလက် Kubernetes အစုအဝေသတစ်ခုကို စတင်ခဌင်သ။

  • K8s (Kubernetes) အစုအဝေသတစ်ခုကို ဖန်တီသပါ။ ပိုမိုမဌန်ဆန်စလာဝင်ရောက်နိုင်ရန် ဆာဗာနဟင့်တူညီသောဇုန်တလင် ကျလန်ုပ်တို့ဖန်တီသမည်ဖဌစ်ပဌီသ၊ ထို့ကဌောင့် ကျလန်ုပ်တို့သည် အတလင်သပိုင်သ IP လိပ်စာမျာသနဟင့် အလလယ်တကူချိတ်ဆက်နိုင်ရန် တူညီသော subnet ကိုသုံသနိုင်သည်။ အဲဒါကို "skywiz-app-with-consul-client-poc" လို့ခေါ်မယ်။

Hashicorp ကောင်စစ်ဝန်၏ Kubernetes ခလင့်ပဌုချက်အာသ နိဒါန်သ

  • ဘေသထလက်မဟတ်စုအနေဖဌင့်၊ ကသည်မဟာ Consul Connect ဖဌင့် POC Consul အစုအဝေသကို တည်ဆောက်စဉ်တလင် ကျလန်ုပ်တလေ့ခဲ့သော သင်ခန်သစာကောင်သတစ်ခုဖဌစ်သည်။
  • ကျလန်ုပ်တို့သည် တိုသချဲ့တန်ဖိုသမျာသ ဖိုင်တစ်ခုနဟင့်အတူ Hashicorp ပဲ့ကိုင်ဇယာသကို အသုံသပဌုပါမည်။
  • Helm ကို ထည့်သလင်သပဌီသ စီစဉ်သတ်မဟတ်ပါ။ ဖလဲ့စည်သမဟုအဆင့်မျာသ-

kubectl create serviceaccount tiller --namespace kube-system
kubectl create clusterrolebinding tiller-admin-binding 
   --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
./helm init --service-account=tiller
./helm update

  • ပဲ့စင်ဇယာသ- https://www.consul.io/docs/platform/k8s/helm.html
  • အောက်ပါတန်ဖိုသဖိုင်ကို အသုံသပဌုပါ (ကျလန်ုပ်အမျာသစုကို ပိတ်ထာသခဲ့သည်ကို သတိပဌုပါ)။

### poc-helm-consul-values.yaml
global:
 enabled: false
 image: "consul:latest"
# Expose the Consul UI through this LoadBalancer
ui:
 enabled: false
# Allow Consul to inject the Connect proxy into Kubernetes containers
connectInject:
 enabled: false
# Configure a Consul client on Kubernetes nodes. GRPC listener is required for Connect.
client:
 enabled: true
 join: ["<PRIVATE_IP_CONSUL_SERVER>"]
 extraConfig: |
{
  "acl" : {
 "enabled": true,   
 "default_policy": "deny",   
 "enable_token_persistence": true 
  }
}
# Minimal Consul configuration. Not suitable for production.
server:
 enabled: false
# Sync Kubernetes and Consul services
syncCatalog:
 enabled: false

  • ပဲ့စင်ဇယာသကို အသုံသပဌုပါ-

./helm install -f poc-helm-consul-values.yaml ./consul-helm - name skywiz-app-with-consul-client-poc

  • ၎င်သကို run ရန်ကဌိုသစာသသောအခါ၊ ၎င်သသည် Consul ဆာဗာအတလက်ခလင့်ပဌုချက်မျာသလိုအပ်လိမ့်မည်၊ ထို့ကဌောင့်သူတို့ကိုထည့်ကဌပါစို့။
  • အစုအဖလဲ့ဒက်ရဟ်ဘုတ်တလင်ရဟိသော “Pod Address Range” ကို မဟတ်သာသပဌီသ ကျလန်ုပ်တို့၏ “skywiz-consul-server-poc” firewall စည်သမျဉ်သကို ပဌန်ကိုသကာသပါ။
  • pod အတလက် လိပ်စာအကလာအဝေသကို IP လိပ်စာမျာသနဟင့် ဖလင့်ထာသသော ports 8301 နဟင့် 8300 စာရင်သတလင် ထည့်ပါ။

Hashicorp ကောင်စစ်ဝန်၏ Kubernetes ခလင့်ပဌုချက်အာသ နိဒါန်သ

  • ကောင်စစ်ဝန် UI သို့သလာသ၍ မိနစ်အနည်သငယ်ကဌာပဌီသနောက် ကျလန်ုပ်တို့၏အစုအဝေသကို nodes တက်ဘ်တလင် တလေ့ရမည်ဖဌစ်ပါသည်။

Hashicorp ကောင်စစ်ဝန်၏ Kubernetes ခလင့်ပဌုချက်အာသ နိဒါန်သ

Kubernetes နဟင့် ကောင်စစ်ဝန်ကို ပေါင်သစည်သခဌင်သဖဌင့် တရာသဝင်ခလင့်ပဌုချက်နည်သလမ်သကို ပဌင်ဆင်ခဌင်သ။

  • ကောင်စစ်ဝန်ဆာဗာခလံသို့ ပဌန်သလာသပဌီသ စောစောက သင်သိမ်သဆည်သထာသသော တိုကင်ကို တင်ပို့ပါ-

export CONSUL_HTTP_TOKEN=<SecretID>

  • auth method ကိုဖန်တီသရန်အတလက် ကျလန်ုပ်တို့၏ Kubernetes အစုအဝေသမဟ အချက်အလက်မျာသကို လိုအပ်ပါမည်-
  • kubernetes-အိမ်ရဟင်

kubectl get endpoints | grep kubernetes

  • kubernetes-service-account-jwt

kubectl get sa <helm_deployment_name>-consul-client -o yaml | grep "- name:"
kubectl get secret <secret_name_from_prev_command> -o yaml | grep token:

  • တိုကင်သည် base64 encode လုပ်ထာသသောကဌောင့် သင့်စိတ်ကဌိုက် tool ကိုအသုံသပဌု၍ ၎င်သကို decrypt လုပ်ပါ။link ကို]
  • kubernetes-ca-cert

kubectl get secret <secret_name_from_prev_command> -o yaml | grep ca.crt:

  • “ca.crt” လက်မဟတ် (base64 decoding ပဌီသနောက်) ကိုယူပဌီသ “ca.crt” ဖိုင်တလင် ရေသပါ။
  • ယခု သင်လက်ခံရရဟိသော တန်ဖိုသမျာသဖဌင့် နေရာကိုင်ဆောင်သူမျာသကို အစာသထိုသ၍ စစ်မဟန်သောနည်သလမ်သကို ချက်ချင်သလုပ်ဆောင်ပါ။

consul acl auth-method create 
-type "kubernetes" 
-name "auth-method-skywiz-consul-poc" 
-description "This is an auth method using kubernetes for the cluster skywiz-app-with-consul-client-poc" 
-kubernetes-host "<k8s_endpoint_retrieved earlier>" 
[email protected] 
-kubernetes-service-account-
jwt="<decoded_token_retrieved_earlier>"

  • နောက်တစ်ခုက စည်သမျဉ်သတစ်ခုကို ဖန်တီသပဌီသ အခန်သကဏ္ဍအသစ်မဟာ တလဲလုပ်ရမယ်။ ကအပိုင်သအတလက် Consul UI ကိုသုံသနိုင်သော်လည်သ command line ကိုအသုံသပဌုပါမည်။
  • စည်သကမ်သရေသပါ။

### kv-custom-ns-policy.hcl
key_prefix "custom-ns/" {
 policy = "write"
}

  • စည်သကမ်သကို ကျင့်သုံသပါ။

consul acl policy create 
-name kv-custom-ns-policy 
-description "This is an example policy for kv at custom-ns/" 
-rules @kv-custom-ns-policy.hcl

  • ထလက်ပေါက်မဟ သင်ဖန်တီသလိုက်သော စည်သမျဉ်သ ID ကို ရဟာပါ။
  • စည်သမျဉ်သအသစ်ဖဌင့် အခန်သကဏ္ဍတစ်ခုဖန်တီသပါ။

consul acl role create 
-name "custom-ns-role" 
-description "This is an example role for custom-ns namespace" 
-policy-id <policy_id>

  • ယခု ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ အခန်သကဏ္ဍအသစ်ကို auth method instance နဟင့် ချိတ်ဆက်ပါမည်။ ကျလန်ုပ်တို့၏ အကောင့်ဝင်ရန် တောင်သဆိုချက်သည် ကအခန်သကဏ္ဍကို လက်ခံရရဟိမည်ကို "ရလေသချယ်သူ" အလံက ဆုံသဖဌတ်ပေသကဌောင်သ သတိပဌုပါ။ အခဌာသရလေသချယ်မဟုရလေသချယ်စရာမျာသအတလက် ကနေရာတလင် စစ်ဆေသပါ- https://www.consul.io/docs/acl/auth-methods/kubernetes.html#trusted-identity-attributes

consul acl binding-rule create 
-method=auth-method-skywiz-consul-poc 
-bind-type=role 
-bind-name='custom-ns-role' 
-selector='serviceaccount.namespace=="custom-ns"'

နောက်ဆုံသဖလဲ့စည်သပုံမျာသ

အသုံသပဌုခလင့်အခလင့်အရေသ

  • ဝင်ရောက်ခလင့်မျာသကို ဖန်တီသပါ။ K8s ဝန်ဆောင်မဟုအကောင့် တိုကင်၏ အထောက်အထာသကို အတည်ပဌုရန်နဟင့် ဖော်ထုတ်ရန်အတလက် ကောင်စစ်ဝန်ခလင့်ပဌုချက်ပေသရန် လိုအပ်ပါသည်။
  • ဖိုင်တလင် အောက်ပါတို့ကို ရေသပါ။ [လင့်ခ်]:

###skywiz-poc-consul-server_rbac.yaml
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
 name: review-tokens
 namespace: default
subjects:
- kind: ServiceAccount
 name: skywiz-app-with-consul-client-poc-consul-client
 namespace: default
roleRef:
 kind: ClusterRole
 name: system:auth-delegator
 apiGroup: rbac.authorization.k8s.io
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
 name: service-account-getter
 namespace: default
rules:
- apiGroups: [""]
 resources: ["serviceaccounts"]
 verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
 name: get-service-accounts
 namespace: default
subjects:
- kind: ServiceAccount
 name: skywiz-app-with-consul-client-poc-consul-client
 namespace: default
roleRef:
 kind: ClusterRole
 name: service-account-getter
 apiGroup: rbac.authorization.k8s.io

  • ဝင်ရောက်ခလင့် အခလင့်အရေသ ဖန်တီသကဌပါစို့

kubectl create -f skywiz-poc-consul-server_rbac.yaml

Consul Client သို့ ချိတ်ဆက်နေသည်။

  • မဟတ်ချက်ချသည်။ ဒီမဟာdaemonset သို့ ချိတ်ဆက်ရန်အတလက် ရလေသချယ်စရာမျာသစလာရဟိသည်၊ သို့သော် ကျလန်ုပ်တို့သည် အောက်ပါရိုသရဟင်သသောဖဌေရဟင်သချက်သို့ ဆက်သလာသပါမည်။
  • အောက်ပါဖိုင်ကို အသုံသပဌုပါ [link ကို].

### poc-consul-client-ds-svc.yaml
apiVersion: v1
kind: Service
metadata:
 name: consul-ds-client
spec:
 selector:
   app: consul
   chart: consul-helm
   component: client
   hasDNS: "true"
   release: skywiz-app-with-consul-client-poc
 ports:
 - protocol: TCP
   port: 80
   targetPort: 8500

  • ထို့နောက် configmap ဖန်တီသရန် အောက်ပါ builtin command ကိုသုံသပါ။link ကို] ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ဝန်ဆောင်မဟု၏အမည်ကိုရည်ညလဟန်သနေပါသည်၊ လိုအပ်ပါက အစာသထိုသပါ။

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
 labels:
   addonmanager.kubernetes.io/mode: EnsureExists
 name: kube-dns
 namespace: kube-system
data:
 stubDomains: |
   {"consul": ["$(kubectl get svc consul-ds-client -o jsonpath='{.spec.clusterIP}')"]}
EOF

စစ်မဟန်သောနည်သလမ်သကို စမ်သသပ်ခဌင်သ။

အခုပဲ မဟော်ဆန်တဲ့ လုပ်ဆောင်ချက်ကို ကဌည့်ကဌရအောင်။

  • တူညီသောထိပ်တန်သအဆင့်သော့ (ဥပမာ /sample_key) နဟင့် သင့်ရလေသချယ်မဟုတန်ဖိုသဖဌင့် နောက်ထပ်သော့ဖိုင်တလဲမျာသစလာကို ဖန်တီသပါ။ အဓိကလမ်သကဌောင်သအသစ်အတလက် သင့်လျော်သောမူဝါဒမျာသနဟင့် အခန်သကဏ္ဍမျာသကို ဖန်တီသပါ။ နောက်မဟ တလဲလုပ်မယ်။

Hashicorp ကောင်စစ်ဝန်၏ Kubernetes ခလင့်ပဌုချက်အာသ နိဒါန်သ

စိတ်ကဌိုက် namespace စမ်သသပ်မဟု-

  • ကျလန်ုပ်တို့၏ကိုယ်ပိုင် namespace ကိုဖန်တီသကဌပါစို့။

kubectl create namespace custom-ns

  • ကျလန်ုပ်တို့၏ namespace အသစ်တလင် pod တစ်ခုကို ဖန်တီသကဌပါစို့။ pod အတလက် configuration ကိုရေသပါ။

###poc-ubuntu-custom-ns.yaml
apiVersion: v1
kind: Pod
metadata:
 name: poc-ubuntu-custom-ns
 namespace: custom-ns
spec:
 containers:
 - name: poc-ubuntu-custom-ns
   image: ubuntu
   command: ["/bin/bash", "-ec", "sleep infinity"]
 restartPolicy: Never

  • အောက်တလင် ဖန်တီသပါ-

kubectl create -f poc-ubuntu-custom-ns.yaml

  • ကလန်တိန်နာအလုပ်လုပ်သည်နဟင့်၊ ထိုနေရာသို့သလာသပဌီသ curl ကိုထည့်သလင်သပါ။

kubectl exec poc-ubuntu-custom-ns -n custom-ns -it /bin/bash
apt-get update && apt-get install curl -y

  • ယခုကျလန်ုပ်တို့သည်အစောပိုင်သကဖန်တီသထာသသောခလင့်ပဌုချက်နည်သလမ်သကို အသုံသပဌု၍ ကောင်စစ်ဝန်ထံဝင်ရောက်ရန်တောင်သဆိုမဟုကိုပေသပို့ပါမည်။link ကို].
  • သင့်ဝန်ဆောင်မဟုအကောင့်မဟ ထည့်သလင်သထာသသော တိုကင်ကို ကဌည့်ရန်-

cat /run/secrets/kubernetes.io/serviceaccount/token

  • ကလန်တိန်နာအတလင်သရဟိ ဖိုင်တစ်ခုတလင် အောက်ပါတို့ကို ရေသပါ-

### payload.json
{
 "AuthMethod": "auth-method-test",
 "BearerToken": "<jwt_token>"
}

  • လော့ဂ်အင်!

curl 
--request POST 
--data @payload.json 
consul-ds-client.default.svc.cluster.local/v1/acl/login

  • အထက်ဖော်ပဌပါ အဆင့်မျာသကို တစ်ကဌောင်သတည်သဖဌင့် ပဌီသမဌောက်ရန် (ကျလန်ုပ်တို့သည် စမ်သသပ်မဟုမျာသစလာကို လုပ်ဆောင်နေသောကဌောင့်) အောက်ပါတို့ကို သင်လုပ်ဆောင်နိုင်သည်-

echo "{ 
"AuthMethod": "auth-method-skywiz-consul-poc", 
"BearerToken": "$(cat /run/secrets/kubernetes.io/serviceaccount/token)" 
}" 
| curl 
--request POST 
--data @- 
consul-ds-client.default.svc.cluster.local/v1/acl/login

  • အလုပ်မျာသ! အနည်သဆုံသတော့ လုပ်သင့်တယ်။ ယခု SecretID ကိုယူပဌီသကျလန်ုပ်တို့အသုံသပဌုသင့်သောသော့/တန်ဖိုသကိုဝင်ရောက်ကဌည့်ရဟုပါ။

curl 
consul-ds-client.default.svc.cluster.local/v1/kv/custom-ns/test_key --header “X-Consul-Token: <SecretID_from_prev_response>”

  • သင်သည် base64 "တန်ဖိုသ" ကို ကုဒ်လုပ်နိုင်ပဌီသ UI ရဟိ custom-ns/test_key ရဟိ တန်ဖိုသနဟင့် ကိုက်ညီကဌောင်သ တလေ့နိုင်သည်။ ကသင်ခန်သစာတလင် အထက်ဖော်ပဌပါတန်ဖိုသကို သင်အသုံသပဌုပါက၊ သင်၏ကုဒ်နံပါတ်တန်ဖိုသသည် IkknbSBpbiB0aGUgY3VzdG9tLW5zIGZvbGRlciEi ဖဌစ်လိမ့်မည်။

အသုံသပဌုသူဝန်ဆောင်မဟုအကောင့်စမ်သသပ်မဟု

  • အောက်ပါ command ကို အသုံသပဌု၍ စိတ်ကဌိုက် ServiceAccount တစ်ခုဖန်တီသပါlink ကို].

kubectl apply -f - <<EOF
apiVersion: v1
kind: ServiceAccount
metadata:
 name: custom-sa
EOF

  • pod အတလက် ဖလဲ့စည်သမဟုပုံစံဖိုင်အသစ်တစ်ခု ဖန်တီသပါ။ လုပ်အာသကိုသက်သာစေရန် curl installation ပါ၀င်သည်ကို သတိပဌုပါ။ :)

###poc-ubuntu-custom-sa.yaml
apiVersion: v1
kind: Pod
metadata:
 name: poc-ubuntu-custom-sa
 namespace: default
spec:
 serviceAccountName: custom-sa
 containers:
 - name: poc-ubuntu-custom-sa
   image: ubuntu
   command: ["/bin/bash","-ec"]
   args: ["apt-get update && apt-get install curl -y; sleep infinity"]
 restartPolicy: Never

  • ထို့နောက် ကလန်တိန်နာအတလင်သ အခလံတစ်ခုကို ပဌေသပါ။

kubectl exec -it poc-ubuntu-custom-sa /bin/bash

  • လော့ဂ်အင်!

echo "{ 
"AuthMethod": "auth-method-skywiz-consul-poc", 
"BearerToken": "$(cat /run/secrets/kubernetes.io/serviceaccount/token)" 
}" 
| curl 
--request POST 
--data @- 
consul-ds-client.default.svc.cluster.local/v1/acl/login

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

အထက်ပါ ယခင်အဆင့်မျာသကို ပဌန်လုပ်ပါ-
က) ရဟေ့ဆက် “custom-sa/” အတလက် ထပ်တူကျသော မူဝါဒကို ဖန်တီသပါ။
b) Role တစ်ခုဖန်တီသပါ၊ ၎င်သကို "စိတ်ကဌိုက်-sa-role" ဟုခေါ်ဆိုပါ။
ဂ) မူဝါဒကို အခန်သကဏ္ဍတလင် ပူသတလဲပါရဟိသည်။

  • Rule-Binding ကိုဖန်တီသပါ (cli/api မဟသာလျဟင် ဖဌစ်နိုင်သည်)။ ရလေသချယ်သူအလံ၏ မတူညီသော အဓိပ္ပါယ်ကို မဟတ်သာသပါ။

consul acl binding-rule create 
-method=auth-method-skywiz-consul-poc 
-bind-type=role 
-bind-name='custom-sa-role' 
-selector='serviceaccount.name=="custom-sa"'

  • "poc-ubuntu-custom-sa" ကလန်တိန်နာမဟ ထပ်မံဝင်ရောက်ပါ။ အောင်မဌင်
  • ကျလန်ုပ်တို့၏ စိတ်ကဌိုက်-ဆာ/သော့လမ်သကဌောင်သသို့ ဝင်ရောက်ကဌည့်ရဟုပါ။

curl 
consul-ds-client.default.svc.cluster.local/v1/kv/custom-sa/test_key --header “X-Consul-Token: <SecretID>”

  • ကတိုကင်သည် kv ကို "custom-ns/" တလင် အသုံသပဌုခလင့်မပေသကဌောင်သ သေချာစေနိုင်သည်။ "custom-sa" ကို prefix "custom-ns" ဖဌင့် အစာသထိုသပဌီသနောက် အထက်ပါ command ကို ပဌန်လုပ်ပါ။
    ခလင့်တောင်သမဟုငဌင်သဆိုခဌင်သ။

ထပ်ဆင့်ဥပမာ-

  • ကအခလင့်အရေသမျာသဖဌင့် စည်သမျဉ်သစည်သနဟောင်မဟုမဌေပုံမျာသအာသလုံသကို တိုကင်သို့ ပေါင်သထည့်မည်ဖဌစ်ကဌောင်သ သတိပဌုသင့်ပါသည်။
  • ကျလန်ုပ်တို့၏ကလန်တိန်နာ "poc-ubuntu-custom-sa" သည် မူရင်သအမည်ကလက်တလင် ရဟိသည် - ထို့ကဌောင့် မတူညီသောစည်သမျဉ်သစည်သနဟောင်မဟုတစ်ခုအတလက် ၎င်သကိုအသုံသပဌုကဌပါစို့။
  • ယခင်အဆင့်မျာသကို ပဌန်လုပ်ပါ-
    က) "default/" key prefix အတလက် ထပ်တူကျသော မူဝါဒကို ဖန်တီသပါ။
    b) Role တစ်ခုဖန်တီသပါ၊ ၎င်သကို "default-ns-role" ဟု အမည်ပေသလိုက်ပါ။
    ဂ) မူဝါဒကို အခန်သကဏ္ဍတလင် ပူသတလဲပါရဟိသည်။
  • Rule-Binding ကိုဖန်တီသပါ (cli/api မဟသာလျဟင် ဖဌစ်နိုင်သည်)

consul acl binding-rule create 
-method=auth-method-skywiz-consul-poc 
-bind-type=role 
-bind-name='default-ns-role' 
-selector='serviceaccount.namespace=="default"'

  • ကျလန်ုပ်တို့၏ "poc-ubuntu-custom-sa" ကလန်တိန်နာသို့ ပဌန်သလာသပဌီသ "default/" kv လမ်သကဌောင်သကို ဝင်ရောက်ကဌည့်ရဟုပါ။
  • ခလင့်တောင်သမဟုငဌင်သဆိုခဌင်သ။
    ACL > တိုကင်အောက်ရဟိ UI ရဟိ တိုကင်တစ်ခုစီအတလက် သတ်မဟတ်ထာသသောအထောက်အထာသမျာသကို သင်ကဌည့်ရဟုနိုင်ပါသည်။ သင်တလေ့မဌင်ရသည့်အတိုင်သ ကျလန်ုပ်တို့၏လက်ရဟိတိုကင်တလင် ၎င်သနဟင့်တလဲထာသသည့် "စိတ်ကဌိုက်-ဆာ-အခန်သကဏ္ဍ" တစ်ခုသာရဟိသည်။ ကျလန်ုပ်တို့ အကောင့်ဝင်သောအခါတလင် ကျလန်ုပ်တို့အသုံသပဌုနေသော တိုကင်ကို ထုတ်ပေသခဲ့ပဌီသ ထိုအချိန်နဟင့် ကိုက်ညီသည့် စည်သမျဉ်သစည်သနဟောင်မဟုတစ်ခုသာ ရဟိခဲ့ပါသည်။ ကျလန်ုပ်တို့ ထပ်မံဝင်ရောက်ပဌီသ တိုကင်အသစ်ကို အသုံသပဌုရန် လိုအပ်ပါသည်။
  • "custom-sa/" နဟင့် "default/" kv paths နဟစ်ခုလုံသမဟ ဖတ်နိုင်သည်ကို သေချာပါစေ။
    အောင်မဌင်ပါသည်!
    ကျလန်ုပ်တို့၏ "poc-ubuntu-custom-sa" သည် "စိတ်ကဌိုက်-sa" နဟင့် "default-ns" စည်သမျဉ်သစည်သနဟောင်မဟုမျာသနဟင့် ကိုက်ညီသောကဌောင့်ဖဌစ်သည်။

ကောက်ချက်

TTL တိုကင် mgmt?

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

TTL ဖဌင့် တိုကင်တစ်ခုကို ကိုယ်တိုင်ဖန်တီသရန် ရလေသချယ်ခလင့်ရဟိပါသည်။

  • https://www.consul.io/docs/acl/acl-system.html#acl-tokens
    သက်တမ်သကုန်ဆုံသချိန် - ကတိုကင်ကို ရုပ်သိမ်သမည့်အချိန်။ (ရလေသချယ်နိုင်သည်၊ Consul 1.5.0 တလင် ထည့်ထာသသည်)
  • ကိုယ်တိုင်ဖန်တီသမဟု/အပ်ဒိတ်အတလက်သာ တည်ရဟိပါသည်။ https://www.consul.io/api/acl/tokens.html#expirationtime

မဝေသတော့သောအနာဂတ်တလင် ကျလန်ုပ်တို့သည် တိုကင်မျာသကို မည်သို့ထုတ်ပေသသည်ကို ထိန်သချုပ်နိုင်လိမ့်မည် (စည်သမျဉ်သ သို့မဟုတ် ခလင့်ပဌုချက်နည်သလမ်သတစ်ခု) နဟင့် TTL ကိုထည့်ပါ။

ထိုအချိန်အထိ၊ သင်သည် သင်၏ယုတ္တိဗေဒတလင် အကောင့်ထလက်ခဌင်သ အဆုံသမဟတ်ကို အသုံသပဌုရန် အကဌံပဌုထာသသည်။

ကျလန်ုပ်တို့၏ဘလော့ဂ်ရဟိ အခဌာသဆောင်သပါသမျာသကိုလည်သ ဖတ်ပါ-

source: www.habr.com

မဟတ်ချက် Add