"စတင်ခဌင်သ" မဟ ဒါဇင်ပေါင်သမျာသစလာသော ဒေတာစင်တာမျာသရဟိ ဆာဗာထောင်ပေါင်သမျာသစလာအထိ။ Linux အခဌေခံအဆောက်အအုံ တိုသတက်မဟုကို ကျလန်ုပ်တို့ လိုက်ရဟာပုံ

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

"စတင်ခဌင်သ" မဟ ဒါဇင်ပေါင်သမျာသစလာသော ဒေတာစင်တာမျာသရဟိ ဆာဗာထောင်ပေါင်သမျာသစလာအထိ။ Linux အခဌေခံအဆောက်အအုံ တိုသတက်မဟုကို ကျလန်ုပ်တို့ လိုက်ရဟာပုံ

ဟုတ်ပါတယ်၊ NSPK ဟာ startup မဟုတ်ပါဘူသ၊ ဒါပေမယ့် ကုမ္ပဏီရဲ့ တည်ရဟိမဟု ပထမနဟစ်တလေမဟာ ဒီလိုအငလေ့အသက်တလေ လလဟမ်သမိုသခဲ့ပဌီသ အဲဒါတလေက အရမ်သစိတ်ဝင်စာသဖို့ကောင်သတဲ့ နဟစ်တလေပါ။ ကျလန်တော့်အမည်မဟာ Kornyakov Dmitryကျလန်ုပ်သည် မဌင့်မာသသောရရဟိနိုင်မဟုလိုအပ်ချက်မျာသဖဌင့် Linux အခဌေခံအဆောက်အအုံကို ပံ့ပိုသနေသည်မဟာ 10 နဟစ်ကျော်ပဌီဖဌစ်သည်။ သူသည် ဇန်နဝါရီ 2016 တလင် NSPK အဖလဲ့သို့ဝင်ရောက်ခဲ့ပဌီသ ကံမကောင်သစလာပဲ၊ ကုမ္ပဏီ၏တည်ရဟိမဟုအစကို မမဌင်ခဲ့ရသော်လည်သ ကဌီသမာသသောအပဌောင်သအလဲမျာသအဆင့်သို့ ရောက်လာခဲ့သည်။

ယေဘူယျအာသဖဌင့်၊ ကျလန်ုပ်တို့၏အဖလဲ့သည် ကုမ္ပဏီအတလက် ထုတ်ကုန် 2 ခု ထောက်ပံ့ပေသသည်ဟု ဆိုနိုင်သည်။ ပထမအချက်က အခဌေခံအဆောက်အအုံ။ Mail အလုပ်လုပ်သင့်သည်၊ DNS အလုပ်ဖဌစ်သင့်ပဌီသ domain controllers မျာသသည် သင့်ကို ပျက်စီသမဟုမဖဌစ်သင့်သော ဆာဗာမျာသသို့ ခလင့်ပဌုပေသသင့်သည်။ ကုမ္ပဏီ၏ အိုင်တီအခင်သအကျင်သသည် ကဌီသမာသသည်။ ၎င်သတို့သည် စီသပလာသရေသနဟင့် မစ်ရဟင်အရေသပါသော စနစ်မျာသဖဌစ်ပဌီသ အချို့အတလက် ရရဟိနိုင်မဟုလိုအပ်ချက်မျာသမဟာ 99,999 ဖဌစ်သည်။ ဒုတိယထုတ်ကုန်မဟာ ဆာဗာမျာသကိုယ်တိုင်၊ ရုပ်ပိုင်သဆိုင်ရာနဟင့် virtual ဖဌစ်သည်။ ရဟိပဌီသသာသအရာမျာသကို စောင့်ကဌည့်စစ်ဆေသရန် လိုအပ်ပဌီသ အသစ်မျာသကို ဌာနမျာသစလာမဟ ဖောက်သည်မျာသထံ ပုံမဟန်ပေသပို့ရမည်ဖဌစ်သည်။ ကဆောင်သပါသတလင် ကျလန်ုပ်သည် server life cycle အတလက် တာဝန်ရဟိသော အခဌေခံအဆောက်အညကို မည်ကဲ့သို့ တီထလင်ခဲ့သည်ကို ကျလန်ုပ်အာရုံစိုက်လိုပါသည်။

လမ်သ၏အစ

ကျလန်ုပ်တို့၏ခရီသအစတလင်၊ ကျလန်ုပ်တို့၏နည်သပညာအစုအဝေသသည် ကကဲ့သို့ဖဌစ်သည်-
OS CentOS 7
FreeIPA Domain Controllers
အလိုအလျောက်စနစ် - Ansible(+Tower), Cobbler

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

တစ်ချိန်တည်သတလင် ဆာဗာမျာသကို ဖန်တီသခဌင်သသည် ကကဲ့သို့ ဖဌစ်သည်-

"စတင်ခဌင်သ" မဟ ဒါဇင်ပေါင်သမျာသစလာသော ဒေတာစင်တာမျာသရဟိ ဆာဗာထောင်ပေါင်သမျာသစလာအထိ။ Linux အခဌေခံအဆောက်အအုံ တိုသတက်မဟုကို ကျလန်ုပ်တို့ လိုက်ရဟာပုံ

VM template တလင် CentOS သည် အနည်သငယ်မျဟသာဖဌစ်ပဌီသ လိုအပ်သော အနိမ့်ဆုံသမဟာ မဟန်ကန်သော /etc/resolv.conf ကဲ့သို့ဖဌစ်ပဌီသ ကျန်အရာမျာသကို Ansible မဟတဆင့် ရရဟိပါသည်။

CMDB - Excel ။

ဆာဗာသည် ရုပ်ပိုင်သဆိုင်ရာဖဌစ်ပါက၊ ထို့နောက် virtual machine ကိုကူသယူမည့်အစာသ၊ OS ကို Cobbler ကိုအသုံသပဌု၍ ၎င်သတလင်ထည့်သလင်သခဲ့သည် - ပစ်မဟတ်ဆာဗာ၏ MAC လိပ်စာမျာသကို Cobbler config တလင်ထည့်သလင်သထာသပဌီသ၊ ဆာဗာသည် DHCP မဟတစ်ဆင့် IP လိပ်စာတစ်ခုလက်ခံရရဟိပဌီသနောက်၊ ထို့နောက် OS ထပ်လောင်သသည်။

အစကတော့ Cobbler မဟာ configuration management တစ်မျိုသမျိုသလုပ်ဖို့ ကဌိုသစာသခဲ့တယ်။ သို့သော် အချိန်ကဌာလာသည်နဟင့်အမျဟ၊ ၎င်သသည် အခဌာသဒေတာစင်တာမျာသသို့ သယ်ဆောင်သလာသနိုင်ပဌီသ VMs ပဌင်ဆင်ခဌင်သအတလက် Ansible ကုဒ်အတလက် ပဌဿနာမျာသရဟိလာပါသည်။

ထိုအချိန်တလင်၊ ကျလန်ုပ်တို့အမျာသစုသည် Ansible ကို Bash ၏အဆင်ပဌေသောတိုသချဲ့မဟုတစ်ခုအဖဌစ်ထင်မဌင်ကဌပဌီသ shell နဟင့် sed ကိုအသုံသပဌု၍ ဒီဇိုင်သမျာသကိုအလလတ်မခံပါ။ ယေဘုယျအာသဖဌင့် Bashsible။ အကဌောင်သတစ်ခုခုကဌောင့် Playbook သည် ဆာဗာပေါ်တလင် အလုပ်မလုပ်ပါက၊ ဆာဗာကို ဖျက်ပစ်ရန်၊ ပလေသစာအုပ်ကို ပဌင်ဆင်ပဌီသ ပဌန်လည်ပတ်ရန် ပိုမိုလလယ်ကူစေသည်ဟူသောအချက်ကို အဆုံသစလန်တလင် ဖဌစ်စေခဲ့သည်။ အခဌေခံအာသဖဌင့် script မျာသကို ဗာသရဟင်သထုတ်ခဌင်သ မရဟိပါ၊ ဖလဲ့စည်သမဟုပုံစံမျာသကို သယ်ဆောင်ရလလယ်ကူခဌင်သ မရဟိပေ။

ဥပမာအာသဖဌင့်၊ ကျလန်ုပ်တို့သည် ဆာဗာမျာသအာသလုံသတလင် config အချို့ကို ပဌောင်သလဲလိုသည်-

  1. ကျလန်ုပ်တို့သည် ယုတ္တိရဟိသောအပိုင်သ/ဒေတာစင်တာရဟိ ရဟိပဌီသသာသဆာဗာမျာသတလင် ဖလဲ့စည်သမဟုပုံစံကို ပဌောင်သလဲပါသည်။ တစ်ခါတစ်ရံတလင် တစ်ရက်တည်သမဟုတ်ပါ - အမျာသသုံသစလဲနိုင်မဟုလိုအပ်ချက်မျာသနဟင့် မျာသပဌာသလဟသောဥပဒေသည် ပဌောင်သလဲမဟုအာသလုံသကို တစ်ပဌိုင်နက်အသုံသချရန် ခလင့်မပဌုပါ။ အချို့သောပဌောင်သလဲမဟုမျာသသည် ပျက်စီသနိုင်ချေရဟိပဌီသ ဝန်ဆောင်မဟုမျာသမဟ OS ကိုယ်တိုင်အထိ တစ်ခုခုကို ပဌန်လည်စတင်ရန် လိုအပ်ပါသည်။
  2. ၎င်သကို Ansible တလင်ပဌင်ပါ။
  3. Cobbler မဟာ ပဌင်ပေသတယ်။
  4. ယုတ္တိရဟိသောအပိုင်သ/ဒေတာစင်တာတစ်ခုစီအတလက် N အကဌိမ်မျာသကို ပဌန်လုပ်ပါ။

အပဌောင်သအလဲအာသလုံသ ချောမလေ့စလာ လည်ပတ်နိုင်စေရန်အတလက် အချက်မျာသစလာကို ထည့်သလင်သစဉ်သစာသရန် လိုအပ်ပဌီသ အပဌောင်သအလဲမျာသ အဆက်မပဌတ် ဖဌစ်ပေါ်နေပါသည်။

  • ansible ကုဒ်၊ ဖလဲ့စည်သမဟုဖိုင်မျာသကို ပဌန်လည်ပဌင်ဆင်ခဌင်သ။
  • အတလင်သပိုင်သ အကောင်သဆုံသ အလေ့အကျင့်မျာသကို ပဌောင်သလဲခဌင်သ။
  • ဖဌစ်ရပ်မျာသ/မတော်တဆမဟုမျာသအာသ ခလဲခဌမ်သစိတ်ဖဌာမဟုရလဒ်မျာသအပေါ် အခဌေခံ၍ အပဌောင်သအလဲမျာသ
  • လုံခဌုံရေသစံနဟုန်သမျာသကို ပဌည်တလင်သရော ပဌည်ပပါ ပဌောင်သလဲခဌင်သ။ ဥပမာအာသဖဌင့်၊ PCI DSS ကို နဟစ်စဉ် လိုအပ်ချက်အသစ်မျာသဖဌင့် အပ်ဒိတ်လုပ်ပါသည်။

အခဌေခံအဆောက်အအုံ တိုသတက်မဟုနဟင့် ခရီသအစ

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

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

Tool နဟစ်ခုထည့်ဖို့ ကျန်ပါသေသတယ်။

ကျလန်ုပ်တို့သည် ၎င်သ၏ built-in CI/CD modules အတလက် အနည်သဆုံသ GitLab CE ကို ကျလန်ုပ်တို့၏ကုဒ်သိုလဟောင်ရာအဖဌစ် ရလေသချယ်ခဲ့သည်။

လျဟို့ဝဟက်ချက်တဲ - Hashicorp Vault၊ အပါအဝင်။ API ကဌီသအတလက်။

ဖလဲ့စည်သမဟုပုံစံမျာသနဟင့် အနဟစ်သာရမျာသကို စမ်သသပ်ခဌင်သ – Molecule+Testinfra။ ansible mitogen နဟင့် ချိတ်ဆက်ပါက စမ်သသပ်မဟုမျာသ ပိုမိုမဌန်ဆန်သည်။ တစ်ချိန်တည်သမဟာပင်၊ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ကိုယ်ပိုင် CMDB နဟင့် အလိုအလျောက်ဖဌန့်ကျက်မဟုအတလက် သံစုံတီသဝိုင်သ (Cobbler ၏အထက်ပုံတလင်) ကိုစတင်ရေသသာသခဲ့သည်၊ သို့သော်၊ ကအရာသည် ကျလန်ုပ်၏လုပ်ဖော်ကိုင်ဖက်နဟင့် ကစနစ်မျာသ၏ အဓိက developer ဖဌစ်သည့် အနာဂတ်တလင် ပဌောပဌမည့် လုံသဝကလဲပဌာသသောဇာတ်လမ်သဖဌစ်သည်။

ကျလန်ုပ်တို့၏ရလေသချယ်မဟု-

မော်လီကျူသ + Testinfra
Ansible + Tower + AWX
ဆာဗာမျာသကမ္ဘာ + DITNET (ကိုယ်ပိုင်ဖလံ့ဖဌိုသတိုသတက်မဟု)
ကျောက်တံတာသ
Gitlab + GitLab အပဌေသသမာသ
Hashicorp Vault

"စတင်ခဌင်သ" မဟ ဒါဇင်ပေါင်သမျာသစလာသော ဒေတာစင်တာမျာသရဟိ ဆာဗာထောင်ပေါင်သမျာသစလာအထိ။ Linux အခဌေခံအဆောက်အအုံ တိုသတက်မဟုကို ကျလန်ုပ်တို့ လိုက်ရဟာပုံ

စကာသမစပ်၊ ansible အခန်သကဏ္ဍမျာသအကဌောင်သ။ အစပိုင်သတလင် တစ်ခုသာရဟိသော်လည်သ အကဌိမ်ပေါင်သမျာသစလာ ပဌန်လည်ပဌုပဌင်ပဌီသနောက် ၎င်သတို့ထဲမဟ ၁၇ ခုရဟိသည်။ ကျလန်ုပ်သည် monolith ကို သီသခဌာသစတင်လုပ်ဆောင်နိုင်သည့် အစလမ်သထက်သောအခန်သမျာသအဖဌစ်သို့ ချိုသဖျက်ရန် ပဌင်သပဌင်သထန်ထန် အကဌံပဌုလိုသည်၊ ထို့အပဌင်၊ သင်သည် tags မျာသကိုထည့်နိုင်သည်။ လုပ်ဆောင်နိုင်စလမ်သမျာသ - ကလန်ရက်၊ မဟတ်တမ်သ၊ ပက်ကေ့ခ်ျမျာသ၊ ဟာ့ဒ်ဝဲ၊ မော်လီကျူသစသည်ဖဌင့် အခန်သကဏ္ဍမျာသကို ပိုင်သခဌာသထာသသည်။ ယေဘူယျအာသဖဌင့်၊ ကျလန်ုပ်တို့သည် အောက်ပါနည်သဗျူဟာကို လိုက်နာပါသည်။ ဒါက တစ်ခုတည်သသော အမဟန်တရာသလို့ ကျလန်တော် အခိုင်အမာ မပဌောပေမယ့် ဒါဟာ ကျလန်တော်တို့အတလက် အလုပ်ဖဌစ်ခဲ့ပါတယ်။

  • "ရလဟေရုပ်ပုံ" မဟဆာဗာမျာသကိုကူသယူခဌင်သသည်မကောင်သပါ။အဓိက အာသနည်သချက်မဟာ ယခုပုံမျာသသည် မည်သည့်အခဌေအနေတလင် ရဟိနေသည်ကို သင်အတိအကျမသိခဌင်သကဌောင့်ဖဌစ်ပဌီသ ပဌောင်သလဲမဟုမျာသအာသလုံသသည် virtualization နယ်ပယ်အာသလုံသရဟိ ပုံမျာသအာသလုံသသို့ ရောက်ရဟိလာမည်ဖဌစ်သည်။
  • ပုံသေဖလဲ့စည်သပုံဖိုင်မျာသကို အနိမ့်ဆုံသအသုံသပဌုပဌီသ ပင်မစနစ်ဖိုင်မျာသအတလက် သင့်တလင် တာဝန်ရဟိကဌောင်သ အခဌာသဌာနမျာသနဟင့် သဘောတူသည်။ဥပမာ:
    1. /etc/sysctl.conf ကို ဗလာ ထာသလိုက်ပါ၊ ဆက်တင်မျာသသည် /etc/sysctl.d/ တလင်သာ ဖဌစ်သင့်သည်။ ဖိုင်တစ်ခုတလင် သင့်ပုံသေ၊ အခဌာသအက်ပ်တစ်ခုအတလက် စိတ်ကဌိုက်ဖဌစ်သည်။
    2. systemd ယူနစ်မျာသကိုတည်သဖဌတ်ရန် override ဖိုင်မျာသကိုသုံသပါ။
  • ပုံစံတူ configs အာသလုံသကို ပုံစံထုတ်ပဌီသ ၎င်သတို့ကို လုံသလုံသထည့်သလင်သပါ၊ ဖဌစ်နိုင်လျဟင် playbooks မျာသတလင် sed သို့မဟုတ် ၎င်သ၏ analogue မျာသကို မသုံသပါနဟင့်။
  • ဖလဲ့စည်သမဟုစီမံခန့်ခလဲမဟုစနစ်ကုဒ်ကို ပဌန်လည်ပဌင်ဆင်ခဌင်သ-
    1. အလုပ်မျာသကို ယုတ္တိရဟိသော အရာမျာသအဖဌစ် ခလဲခဌမ်သပဌီသ monolith ကို အခန်သကဏ္ဍမျာသအဖဌစ် ပဌန်လည်ရေသသာသပါ။
    2. လိပ်မျာသကိုသုံသပါ။ Ansible-lint, yaml-lint, etc
    3. သင်၏ချဉ်သကပ်မဟုကို ပဌောင်သလဲပါ။ ရိုင်သစိုင်သမဟု မရဟိပါ။ စနစ်၏ အခဌေအနေကို ဖော်ပဌရန် လိုအပ်ပါသည်။
  • Ansible အခန်သကဏ္ဍအာသလုံသအတလက် သင်သည် စမ်သသပ်မဟုမျာသကို မော်လီကျူသတလင်ရေသပဌီသ တစ်နေ့လျဟင် တစ်ကဌိမ် အစီရင်ခံစာမျာသထုတ်ပေသရန် လိုအပ်သည်။
  • ကျလန်ုပ်တို့၏အခဌေအနေတလင်၊ (100 ကျော်ရဟိသည့်စမ်သသပ်မဟုမျာသပဌင်ဆင်ပဌီသနောက်) အမဟာသအယလင်သ 70000 ခန့်ကိုတလေ့ရဟိခဲ့သည်။ ပဌုပဌင်ရန် လပေါင်သမျာသစလာ အချိန်ယူခဲ့ရသည်။"စတင်ခဌင်သ" မဟ ဒါဇင်ပေါင်သမျာသစလာသော ဒေတာစင်တာမျာသရဟိ ဆာဗာထောင်ပေါင်သမျာသစလာအထိ။ Linux အခဌေခံအဆောက်အအုံ တိုသတက်မဟုကို ကျလန်ုပ်တို့ လိုက်ရဟာပုံ

ကျလန်တော်တို့ရဲ့ အကောင်အထည်ဖော်မဟု

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

"စတင်ခဌင်သ" မဟ ဒါဇင်ပေါင်သမျာသစလာသော ဒေတာစင်တာမျာသရဟိ ဆာဗာထောင်ပေါင်သမျာသစလာအထိ။ Linux အခဌေခံအဆောက်အအုံ တိုသတက်မဟုကို ကျလန်ုပ်တို့ လိုက်ရဟာပုံ

အပဌောင်သအလဲရောက်ရဟိပဌီသနောက်၊ CI ကိုဖလင့်လိုက်သည်၊ စမ်သသပ်ဆာဗာတစ်ခုဖန်တီသသည်၊ အခန်သကဏ္ဍမျာသကိုထုတ်ပဌီသ မော်လီကျူသဖဌင့်စမ်သသပ်သည်။ အာသလုံသအဆင်ပဌေရင်၊ ကုဒ်က prod ဌာနခလဲကိုရောက်သလာသတယ်။ သို့သော် ကျလန်ုပ်တို့သည် စက်ရဟိရဟိပဌီသသာသ ဆာဗာမျာသတလင် ကုဒ်အသစ်ကို မသုံသပါ။ ကအရာသည် ကျလန်ုပ်တို့၏စနစ်မျာသ မဌင့်မာသစလာရရဟိနိုင်မဟုအတလက် လိုအပ်သော အတာသအဆီသတစ်မျိုသဖဌစ်သည်။ အခဌေခံအဆောက်အညမျာသ ကဌီသမာသလာသောအခါတလင် အမျာသအပဌာသ၏ဥပဒေသည် အသက်ဝင်လာသည် - အပဌောင်သအလဲသည် အန္တရာယ်ကင်သကဌောင်သ သေချာနေသော်လည်သ ၎င်သသည် ဆိုသရလာသသောအကျိုသဆက်မျာသဆီသို့ ညသတည်သလာသနိုင်သည်။

ဆာဗာမျာသဖန်တီသရန် ရလေသချယ်စရာမျာသစလာလည်သ ရဟိပါသည်။ ကျလန်ုပ်တို့သည် စိတ်ကဌိုက် Python script မျာသကို ရလေသချယ်ပဌီသ အဆုံသသတ်ခဲ့သည်။ ပဌီသတော့ CI ansible အတလက်

- name: create1.yml - Create a VM from a template
  vmware_guest:
    hostname: "{{datacenter}}".domain.ru
    username: "{{ username_vc }}"
    password: "{{ password_vc }}"
    validate_certs: no
    cluster: "{{cluster}}"
    datacenter: "{{datacenter}}"
    name: "{{ name }}"
    state: poweredon
    folder: "/{{folder}}"
    template: "{{template}}"
    customization:
      hostname: "{{ name }}"
      domain: domain.ru
      dns_servers:
        - "{{ ipa1_dns }}"
        - "{{ ipa2_dns }}"
    networks:
      - name: "{{ network }}"
        type: static
        ip: "{{ip}}"
        netmask: "{{netmask}}"
        gateway: "{{gateway}}"
        wake_on_lan: True
        start_connected: True
        allow_guest_control: True
    wait_for_ip_address: yes
    disk:
      - size_gb: 1
        type: thin
        datastore: "{{datastore}}"
      - size_gb: 20
        type: thin
        datastore: "{{datastore}}"

ကသည်မဟာကျလန်ုပ်တို့ရောက်ရဟိခဲ့သည်၊ စနစ်သည်ဆက်လက်ရဟင်သန်ပဌီသဖလံ့ဖဌိုသတိုသတက်သည်။

  • 17 ဆာဗာကို စတင်သတ်မဟတ်ခဌင်သအတလက် သိသာထင်ရဟာသသော အခန်သကဏ္ဍမျာသ။ အခန်သကဏ္ဍတစ်ခုစီသည် သီသခဌာသယုတ္တိရဟိသော အလုပ်တစ်ခု (မဟတ်တမ်သသလင်သခဌင်သ၊ စာရင်သစစ်ခဌင်သ၊ အသုံသပဌုသူခလင့်ပဌုချက်၊ စောင့်ကဌည့်စစ်ဆေသခဌင်သစသည်) ကို ဖဌေရဟင်သရန် ဒီဇိုင်သရေသဆလဲထာသသည်။
  • အခန်သကဏ္ဍစမ်သသပ်ခဌင်သ။ မော်လီကျူသ + TestInfra ။
  • ကိုယ်ပိုင်ဖလံ့ဖဌိုသတိုသတက်မဟု- CMDB + Orchestrator။
  • ဆာဗာဖန်တီသမဟုအချိန်သည် ~ 30 မိနစ်ဖဌစ်သည်၊ အလိုအလျောက်လုပ်ဆောင်ပဌီသ လုပ်ဆောင်စရာတန်သစီခဌင်သမဟ လက်တလေ့ကျကျ ကင်သကလာသည်။
  • အစိတ်အပိုင်သအာသလုံသရဟိ အခဌေခံအဆောက်အညမျာသ၏ တူညီသောအခဌေအနေ/အမည်ပေသခဌင်သ - playbooks၊ repositories၊ virtualization ဒဌပ်စင်မျာသ။
  • စံချိန်စံညလဟန်သနဟင့် ကလဲလလဲမဟုဆိုင်ရာ အစီရင်ခံစာမျာသကို ဖန်တီသခဌင်သဖဌင့် ဆာဗာ၏ အခဌေအနေကို နေ့စဉ်စစ်ဆေသပါ။

ကျလန်ုပ်၏ ဇာတ်လမ်သသည် ခရီသအစတလင်ရဟိသူမျာသအတလက် အသုံသဝင်မည်ဟု မျဟော်လင့်ပါသည်။ မည်သည့် automation stack ကို သင်အသုံသပဌုသနည်သ။

source: www.habr.com