ကွန်တိန်နာသံစုံတီးဝိုင်းသည်ကွန်တိန်နာအစုတစ်ခု၏ operating စည်းမျဉ်းစည်းကမ်းများနှင့်ကွန်ယက်ဖွဲ့စည်းမှုကိုသတ်မှတ်ခြင်းအားဖြင့် application များကိုဖြန့်ကျက်ခြင်းနှင့်စီမံခန့်ခွဲခြင်းတို့ကိုရည်ညွှန်းသည်။ PHP application များအရဘုံကွန်တိန်နာသံစုံတီးဝိုင်းကိရိယာများသည် Docyer နှင့် KuberNetes ဖြစ်သည်။
ကွန်တိန်နာများမှတဆင့်ထုပ်ပိုးခြင်းနှင့်ဖြန့်ကျက်ခြင်းများကိုအကောင်အထည်ဖော်သည့်ပေါ့ပါးသော virtualization နည်းပညာဖြစ်သည်။ ဆိုက်ဟောင်သည် application ကိုထုပ်ပိုးခြင်းနှင့်မည်သို့လည်ပတ်နေသည်ကိုသတ်မှတ်နိုင်သော command များနှင့် configuration files များကိုထောက်ပံ့ပေးသည်။ Docyer ၏ကွန်တိန်နာသံစုံတီးဝိုင်းမှတစ်ဆင့် PHP ကွန်တိန်နာများကိုလျင်မြန်စွာဖန်တီးပြီးအလိုအလျောက်ဖြန့်ကျက်ခြင်းနှင့်စီမံခန့်ခွဲမှုပြုလုပ်နိုင်သည်။
ဤတွင် Docye ကို အသုံးပြု. PHP ကွန်တိန်နာသံကြိုး၏ဥပမာတစ်ခုမှာ -
# dockerfile # PHP မှအခြေခံပုံရိပ်ကိုသတ်မှတ်ပါ။ 7.4-Apache # PHP extension dep-ext-install MySQLI PDO_MYSQL ကို install လုပ်ပါ # application code ကိုကွန်တိန်နာမိတ္တူထဲသို့ကူးယူပါ။ / var / www / html # ကွန်တိန်နာ၏လုပ်ငန်းလမ်းညွှန်လုပ်ငန်းလမ်းညွှန်ကိုသတ်မှတ်ပါ။ # ကွန်တိန်နာ၏အ 80 ဆိပ်ကမ်းကိုဖော်ထုတ်ပါ # Apache ဆာဗာ CMD ကိုစတင်ပါ ["Apache2-foreground"]
အထက်ဖော်ပြပါ dockerfile မှတစ်ဆင့် PHP 7.4 နှင့် Apache server ပါ 0 င်သောပုံတစ်ပုံကိုကျွန်ုပ်တို့တည်ဆောက်နိုင်ပြီး application code ကိုကွန်တိန်နာထဲသို့ကူးယူပြီး CMD ညွှန်ကြားချက်မှတဆင့် Apache 0 န်ဆောင်မှုကိုစတင်ပါ။
KuberNetes သည်ပွင့်လင်းသောအရင်းအမြစ်ကွန်တိန်နာသံစဉ်ဆက်တင်ရေးဆွဲရေးပလက်ဖောင်းတစ်ခုဖြစ်သည်။ KuberNetes တွင်ပခုံး, သယံဇာတကန့်သတ်ချက်များ, ကွန်ယက်ဖွဲ့စည်းမှု, ကွန်ယက်ဖွဲ့စည်းမှုစသည်တို့ကိုကျွန်ုပ်တို့သတ်မှတ်နိုင်သည်။
ဤနေရာတွင် KuberNetes သုံး. PHP ကွန်တိန်နာသံကြိုး၏ဥပမာတစ်ခုဖြစ်သည်။
# ဖြန့်ကျက်ခြင်း .Yaml apiv ည့်သည်: အက်ပ်များ / v1 ကြင်နာ: ဖြန့်ကျက် metadata: နာမည်: PHP-app spec: ပုံတူ: 3 selector: MatchLabels: အက်ပ်: PHP-app Template: metadata: တံဆိပ်များ: အက်ပ်: PHP-app spec: ကွန်တိန်နာများ - - အမည်: Php-app Image: PHP: 7.4-Apache Ports: - Controperport: 80 volumemoots: - အမည် - အချက်အလက် Mountath: / var / www / html volumes: - အမည် - အချက်အလက် ဗလာကျသော: {}
အထက်တွင်ဖြန့်ကျက်မှု။ ပုံတူတစ်ခုချင်းစီသည် PHP: 7.4-Apache ပုံရိပ်ကိုအသုံးပြုသည်။
0 န်ဆောင်မှုဆိုင်ရာသံစုံတီးဝိုင်းသည် 0 န်ဆောင်မှုရှာဖွေတွေ့ရှိမှုကိုအကောင်အထည်ဖော်ရန်နှင့်ကွန်တိန်နာအစုတခုကိုသတ်မှတ်ခြင်းနှင့်ကွန်ယက်ဆက်သွယ်မှုစည်းမျဉ်းများကိုသတ်မှတ်ခြင်းဖြင့်အသုံးချခြင်းကိုထိန်းညှိပေးသည်။ PHP application များအရဘုံ 0 န်ဆောင်မှုသံစုံတီးဝိုင်းကိရိယာများသည် docker compose နှင့် KuberNetes ဖြစ်သည်။
docker compose သည် docker ကွန်တိန်နာမျိုးစုံကိုသတ်မှတ်ခြင်းနှင့်အသုံးပြုခြင်းအတွက်ကိရိယာတစ်ခုဖြစ်သည်။ configuration file တစ်ခုမှကွန်တိန်နာမျိုးစုံအကြားဆက်ဆံရေးနှင့်မှီခိုမှုကိုသင်သတ်မှတ်နိုင်သည်။ Docker Compose Compose ၏ 0 န်ဆောင်မှုကိုရေးဆွဲခြင်းသည်,
ဒီနေရာတွင် Docyer Compose ကို အသုံးပြု. PHP Service lechestion ၏ဥပမာတစ်ခုဖြစ်သည်။
# docker-compose.yaml ဗားရှင်း: '3' 0 န်ဆောင်မှုများ Php-app: တည်ဆောက်: အခြေအနေ: ။ dockerfile: dockerfile Ports: - 8080: 80 volumes: - ။ : / var / www / html မှီခိုသူ - - MySQL MySQL: Image: MySQL: 5.7 ပတ်ဝန်းကျင်: - MySQL_root_password = လျှို့ဝှက်ချက် - MySQL_DATABASE = PHP_APP_DB
Delpose.yAML ဖိုင်မှတစ်ဆင့် PHP applications များနှင့် MySQL ဒေတာဘေ့စ်ပါ 0 င်သော 0 န်ဆောင်မှုပုံစံကိုကျွန်ုပ်တို့သတ်မှတ်သည်။ PHP application များကိုသတ်မှတ်ထားသော dockerfiles များကို အသုံးပြု. တည်ဆောက်ထားပြီး local code directory ကိုကွန်တိန်နာထဲသို့တပ်ဆင်ထားသည်။ MySQL 0 န်ဆောင်မှုကို MySQL ဖြင့်ဖန်တီးသည်။ 5.7 ပုံရိပ်နှင့်ဒေတာဘေ့စ်၏စကားဝှက်နှင့်အမည်ကို configure လုပ်ရန်ပတ်ဝန်းကျင် variable များကိုသတ်မှတ်ထားသည်။
KuberNetes တွင်ကွန်တိန်နာ 0 န်ဆောင်မှုများရှာဖွေတွေ့ရှိမှုရှာဖွေတွေ့ရှိမှုကိုရရှိရန် 0 န်ဆောင်မှုနှင့် ingress ကိုသုံးနိုင်သည်။ 0 န်ဆောင်မှုကိုကွန်တိန်နာများအကြားကွန်ယက်ချိတ်ဆက်မှုစည်းမျဉ်းများကိုသတ်မှတ်ရန်အသုံးပြုသည်။
PHP Service lechestity အတွက် KuberNetes ကိုအသုံးပြုခြင်း၏ဥပမာတစ်ခုမှာဤတွင်ဖြစ်သည်။
# service.yAML apiverion: v1 ကြင်နာ: ဝန်ဆောင်မှု metadata: အမည်: PHP-App-service spec: selector: အက်ပ်: PHP-app Ports: - protocol: TCP ဆိပ်ကမ်း: 80 TargetPort: 80 အမျိုးအစား: nodeport
အထက်ဖော်ပြပါ 0 န်ဆောင်မှုပေးသော 0 န်ဆောင်မှုပေးသည့်အတွက် Php-App-service ကို 0 န်ဆောင်မှုပေးသည့် 0 န်ဆောင်မှုတစ်ခုအား Php-app ကို 0 န်ဆောင်မှုပေးရန် 0 န်ဆောင်မှုကိုသတ်မှတ်သည်။ တစ်ချိန်တည်းမှာပင်ကွန်တိန်နာမှအသုံးပြုသော port နံပါတ်ကို 80 ဖြစ်ရန်အသုံးပြုပြီး PHP application ကို Cluster Node ၏ IP address မှ 0 င်ရောက်နိုင်ရန်အတွက် PHP application ကိုရယူနိုင်ရန် 0 န်ဆောင်မှုအမျိုးအစားကို node အမျိုးအစားကိုသတ်မှတ်ထားသည်။
php applications များထုပ်ပိုးမှုဖြန့်ကျက်မှုတွင်ကွန်တိန်နာသံရုံးလွှင့်ချခြင်းနှင့် 0 န်ဆောင်မှုသံရုံးသည်အဓိကအခန်းကဏ် play မှပါ 0 င်သည်။ ကွန်တိန်နာသံစုံတီးဝိုင်းမှတစ်ဆင့် PHP ကွန်တိန်နာများကိုလျင်မြန်စွာ ဖန်တီး. စီမံခန့်ခွဲနိုင်သည်။ 0 န်ဆောင်မှုလုပ်ငန်းစဉ်တွင် 0 န်ဆောင်မှုပေးခြင်းမှတစ်ဆင့် PHP ကွန်တိန်နာ 0 န်ဆောင်မှုများကိုရှာဖွေတွေ့ရှိခြင်း,
Docyer သို့မဟုတ် KuberNetes သုံးခြင်း, အထက်ပါနိဒါန်းနှင့်ဥပမာများကလူတိုင်းအတွက်ကွန်တိန်နာသံစုံတီးဝိုင်းနှင့် 0 န်ဆောင်မှုသံရုံး lechression ကိုနားလည်ရန်နှင့်လျှောက်ထားရန်လူတိုင်းအတွက်အထောက်အကူဖြစ်စေနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။