လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ကွန်တိန်နာသံရုံး orchestration နှင့် 0 န်ဆောင်မှုသံရုံး၏အယူအဆနှင့်လျှောက်လွှာခွဲခြမ်းစိတ်ဖြာခြင်း

PHP ကွန်တိန်နာသံရုံး orchestration နှင့် 0 န်ဆောင်မှုသံရုံး၏အယူအဆနှင့်လျှောက်လွှာခွဲခြမ်းစိတ်ဖြာခြင်း

M66 2025-06-19

ကွန်တိန်နာသံကြိုး၏အယူအဆနှင့်လျှောက်လွှာ

ကွန်တိန်နာသံစုံတီးဝိုင်းသည်ကွန်တိန်နာအစုတစ်ခု၏ operating စည်းမျဉ်းစည်းကမ်းများနှင့်ကွန်ယက်ဖွဲ့စည်းမှုကိုသတ်မှတ်ခြင်းအားဖြင့် application များကိုဖြန့်ကျက်ခြင်းနှင့်စီမံခန့်ခွဲခြင်းတို့ကိုရည်ညွှန်းသည်။ PHP application များအရဘုံကွန်တိန်နာသံစုံတီးဝိုင်းကိရိယာများသည် Docyer နှင့် KuberNetes ဖြစ်သည်။

docker ကွန်တိန်နာသံကြိုး

ကွန်တိန်နာများမှတဆင့်ထုပ်ပိုးခြင်းနှင့်ဖြန့်ကျက်ခြင်းများကိုအကောင်အထည်ဖော်သည့်ပေါ့ပါးသော 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 ကွန်တိန်နာ orchestration

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 ပုံရိပ်ကိုအသုံးပြုသည်။

ဝန်ဆောင်မှု orchestity ၏အယူအဆနှင့်လျှောက်လွှာ

0 န်ဆောင်မှုဆိုင်ရာသံစုံတီးဝိုင်းသည် 0 န်ဆောင်မှုရှာဖွေတွေ့ရှိမှုကိုအကောင်အထည်ဖော်ရန်နှင့်ကွန်တိန်နာအစုတခုကိုသတ်မှတ်ခြင်းနှင့်ကွန်ယက်ဆက်သွယ်မှုစည်းမျဉ်းများကိုသတ်မှတ်ခြင်းဖြင့်အသုံးချခြင်းကိုထိန်းညှိပေးသည်။ PHP application များအရဘုံ 0 န်ဆောင်မှုသံစုံတီးဝိုင်းကိရိယာများသည် docker compose နှင့် KuberNetes ဖြစ်သည်။

Docker Compose ၏ 0 န်ဆောင်မှုကို orchestration

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 ဝန်ဆောင်မှု orchestration

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 ကိုနားလည်ရန်နှင့်လျှောက်ထားရန်လူတိုင်းအတွက်အထောက်အကူဖြစ်စေနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။