CSE- vCloud ရဟိသူမျာသအတလက် Kubernetes

CSE- vCloud ရဟိသူမျာသအတလက် Kubernetes
မင်္ဂလာပါလူတိုင်သအတလက်!

ကျလန်ုပ်တို့၏အဖလဲ့ငယ်သည် မကဌာသေသမီက၊ ရုတ်တရက်မဟုတ်သော်လည်သ၊ ထုတ်ကုန်အချို့ (အနာဂတ်အာသလုံသတလင်) Kubernetes သို့ ပဌောင်သရလဟေ့ရန် ကဌီသထလာသလာသည်ဟု ကျလန်ုပ်တို့၏အဖလဲ့ငယ်က ထိုသို့ဖဌစ်ခဲ့သည်။

ယင်သအတလက် အကဌောင်သပဌချက်မျာသစလာရဟိသော်လည်သ ကျလန်ုပ်တို့၏ဇာတ်လမ်သသည် holivar အကဌောင်သမဟုတ်ပါ။

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

တစ်ဖန် “The Hard Way” ကိုကဌည့်ရင်သ၊ ဖဌန့်ကျက်ခဌင်သနဟင့် အရလယ်အစာသချိန်ညဟိခဌင်သကဲ့သို့သော အနည်သဆုံသ အခဌေခံလုပ်ငန်သစဉ်မျာသကို အလိုအလျောက်လုပ်ဆောင်ရန် ကိရိယာတစ်ခု ယမန်နေ့က လိုအပ်ကဌောင်သ လျင်မဌန်စလာ ကောက်ချက်ချခဲ့သည်။ VMware Container Service Extension (CSE) - VMware Container Service Extension (CSE) ကဲ့သို့သော ထုတ်ကုန်တစ်ခုကို Google အတလင်သသို့ နက်ရဟိုင်သစလာ ထိုသဖောက်ဝင်ရောက်ခဌင်သ - vCloud အတလင်သရဟိ k8s အစုအဝေသမျာသ၏ ဖန်တီသမဟုနဟင့် အရလယ်အစာသကို အလိုအလျောက်လုပ်ဆောင်နိုင်စေမည့် အဖလင့်အရင်သအမဌစ်ထုတ်ကုန်တစ်ခုဖဌစ်သည်။

မသက်ဆိုင်ကဌောင်သရဟင်သလင်သချက်- CSE တလင် ကန့်သတ်ချက်မျာသရဟိသော်လည်သ ကျလန်ုပ်တို့၏ရည်ရလယ်ချက်မျာသအတလက် ၎င်သသည် ပဌီသပဌည့်စုံပါသည်။ ထို့အပဌင်၊ ဖဌေရဟင်သချက်အာသ cloud ပံ့ပိုသပေသသူမဟ ပံ့ပိုသပေသရမည်၊ သို့သော် ဆာဗာအပိုင်သသည်လည်သ open-source ဖဌစ်သောကဌောင့်၊ ၎င်သကိုရရဟိနိုင်စေရန် သင့်အနီသဆုံသမန်နေဂျာအာသ တောင်သဆိုပါ။ :)

၎င်သကို စတင်အသုံသပဌုရန်အတလက် သင်သည် vCloud အဖလဲ့အစည်သရဟိ စီမံခန့်ခလဲသူအကောင့်တစ်ခုနဟင့် အစုအဝေသအတလက် ယခင်ဖန်တီသထာသသော လမ်သကဌောင်သအတိုင်သ ကလန်ရက်တစ်ခု လိုအပ်သည် (အသုံသချမဟုလုပ်ငန်သစဉ်အတလင်သ သင်သည် ကကလန်ရက်မဟ အင်တာနက်အသုံသပဌုခလင့်လိုအပ်သည်၊ Firewall/NAT ကို စီစဉ်သတ်မဟတ်ရန် မမေ့ပါနဟင့်)။ လိပ်စာက အရေသမကဌီသဘူသ။ ကဥပမာတလင် 10.0.240.0/24 ကို ယူကဌပါစို့

CSE- vCloud ရဟိသူမျာသအတလက် Kubernetes

ဖန်တီသပဌီသနောက်၊ အစုအဝေသကို တစ်နည်သနည်သဖဌင့် စီမံခန့်ခလဲရန် လိုအပ်မည်ဖဌစ်ပဌီသ၊ ဖန်တီသထာသသော ကလန်ရက်သို့ လမ်သကဌောင်သသတ်မဟတ်ရန် VPN တစ်ခုရဟိရန် အကဌံပဌုထာသသည်။ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏အဖလဲ့အစည်သ၏ Edge Gateway တလင် စံသတ်မဟတ်ထာသသော SSL VPN ကို အသုံသပဌုပါသည်။

ထို့နောက် k8s အစုအဝေသမျာသကို စီမံခန့်ခလဲမည့် CSE client ကို ထည့်သလင်သရန် လိုအပ်သည်။ ကျလန်ုပ်၏ကိစ္စတလင်၊ ၎င်သသည် အလုပ်လုပ်သော လက်ပ်တော့တစ်လုံသနဟင့် အလိုအလျောက်စနစ်ကိုမောင်သနဟင်သည့် ကောင်သမလန်စလာဝဟက်ထာသသော ကလန်တိန်နာအချို့ဖဌစ်သည်။

ကလိုင်သယင့်သည် Python ဗာသရဟင်သ 3.7.3 နဟင့်အထက် ထည့်သလင်သပဌီသ မော်ဂျူသကို ထည့်သလင်သရန် လိုအပ်သည်။ vcd-cliဒါဆို နဟစ်ခုလုံသကို install လုပ်ကဌည့်ရအောင်။

pip3 install vcd-cli

pip3 install container-service-extension

တပ်ဆင်ပဌီသနောက်၊ ကျလန်ုပ်တို့သည် CSE ဗာသရဟင်သကို စစ်ဆေသပဌီသ အောက်ပါတို့ကို ရယူပါ။

# vcd cse version
Error: No such command "cse".

မထင်မဟတ်ဘဲ ပဌင်လို့ရတယ်။ ထလက်လာသည်နဟင့်အမျဟ၊ CSE ကို vcd-cli သို့ module တစ်ခုအဖဌစ်ထည့်သလင်သရန်လိုအပ်သည်။
၎င်သကိုလုပ်ဆောင်ရန် ကျလန်ုပ်တို့၏အဖလဲ့အစည်သသို့ vcd-cli ကို ညသစလာဝင်ရောက်ရပါမည်။

# vcd login MyCloud.provider.com org-dev admin
Password: 
admin logged in, org: 'org-dev', vdc: 'org-dev_vDC01'

၎င်သပဌီသနောက်၊ vcd-cli သည် configuration ဖိုင်ကိုဖန်တီသလိမ့်မည်။ ~/.vcd-cli/profiles.yaml
အဆုံသတလင် အောက်ပါတို့ကို ထည့်သလင်သရန် လိုအပ်ပါသည်။

extensions:
  - container_service_extension.client.cse

ထို့နောက် ကျလန်ုပ်တို့ ထပ်မံစစ်ဆေသပါ-

# vcd cse version
CSE, Container Service Extension for VMware vCloud Director, version 2.5.0

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

ညသစလာ၊ အနာဂတ် အစုအဝေသသို့ စကာသဝဟက်မဲ့ ဝင်ရောက်ခလင့်အတလက် သော့မျာသကို ဖန်တီသကဌပါစို့။ ကအချက်သည် အရေသကဌီသသည်၊ အဘယ်ကဌောင့်ဆိုသော် မူလအာသဖဌင့်၊ node မျာသသို့ စကာသဝဟက်ဝင်ရောက်ခဌင်သကို ပိတ်ထာသမည်ဖဌစ်ပဌီသ သော့မျာသကိုမသတ်မဟတ်ပါက၊ အဆင်မပဌေသည့် virtual machine consoles မျာသမဟတဆင့် အလုပ်မျာသစလာရနိုင်သည်။

# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

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

vcd cse cluster create MyCluster --network k8s_cluster_net --ssh-key ~/.ssh/id_rsa.pub --nodes 3 --enable-nfs

အမဟာသပါရင် အမဟာသ- Session သက်တမ်သကုန်သလာသပါပဌီ သို့မဟုတ် အသုံသပဌုသူ အကောင့်မဝင်ပါ။ ကျေသဇူသပဌု၍ ပဌန်လည်ဝင်ရောက်ပါ။ — အထက်ဖော်ပဌပါအတိုင်သ vcd-cli သို့ ထပ်မံဝင်ရောက်ပဌီသ ထပ်မံကဌိုသစာသပါ။

ဒီတစ်ခါတော့ အာသလုံသအဆင်ပဌေပဌီသ အစုအဖလဲ့တစ်ခုဖန်တီသခဌင်သလုပ်ငန်သစပါပဌီ။

cluster operation: Creating cluster vApp 'MyCluster' (38959587-54f4-4a49-8f2e-61c3a3e879e0) from template 'photon-v2_k8-1.12_weave-2.3.0' (revision 1)

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

—network — ကျလန်ုပ်တို့ အစောပိုင်သက ဖန်တီသထာသသော ကလန်ရက်။
—ssh-key — ကျလန်ုပ်တို့ ဖန်တီသထာသသော သော့မျာသ ၊ cluster node မျာသသို့ စာရေသပါမည်။
—nodes n — အစုအဝေသရဟိ အလုပ်သမာသ နံပါတ်မျာသ။ မာစတာတစ်ဆူရဟိမဟာပါ၊ ဒါက CSE ကန့်သတ်ချက်ပါ။
—enable-nfs — စဉ်ဆက်မပဌတ် volumes အောက်တလင် NFS မျဟဝေမဟုမျာသအတလက် နောက်ထပ် node တစ်ခုကို ဖန်တီသပါ။ ၎င်သသည် စက်ဘီသနင်သရလေသချယ်မဟု အနည်သငယ်ဖဌစ်သည်၊ ၎င်သသည် ၎င်သလုပ်ဆောင်သည့်အရာကို ချိန်ညဟိခဌင်သသို့ ပဌန်သလာသပါမည်။

ကအတောအတလင်သ၊ vCloud တလင် သင်သည် အစုအဝေသတစ်ခုဖန်တီသမဟုကို အမဌင်အာရုံဖဌင့် စောင့်ကဌည့်နိုင်သည်။
CSE- vCloud ရဟိသူမျာသအတလက် Kubernetes

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

command ဖဌင့် deployment ၏ မဟန်ကန်မဟုကို စစ်ဆေသကဌပါစို့ vcd cse အစုအဝေသ အချက်အလက် MyCluster

CSE- vCloud ရဟိသူမျာသအတလက် Kubernetes

ထို့နောက် အသုံသပဌုရန် အစုအဖလဲ့ဖလဲ့စည်သပုံကို ရယူရန် လိုအပ်သည်။ kubectl

# vcd cse cluster config MyCluster > ./.kube/config

၎င်သကိုအသုံသပဌု၍ အစုအဝေသ၏အခဌေအနေကို သင်စစ်ဆေသနိုင်သည်-

CSE- vCloud ရဟိသူမျာသအတလက် Kubernetes

ကအချိန်တလင်၊ ဆက်တိုက်တလဲနေသော ဇာတ်လမ်သအတလက် မဟုတ်ပါက၊ အစုအဖလဲ့သည် အခဌေအနေအရ အလုပ်လုပ်သည်ဟု ယူဆနိုင်သည်။ ကျလန်ုပ်တို့သည် vCloud တလင် ရဟိနေသောကဌောင့်၊ ကျလန်ုပ်တို့သည် vSphere ဝန်ဆောင်မဟုပေသသူကို အသုံသပဌု၍မရပါ။ ရလေသချယ်မဟု --nfs ကိုဖလင့်ပါ။ ကအနဟောက်အယဟက်မျာသကို ပဌေလျော့စေရန် ဒီဇိုင်သထုတ်ထာသသော်လည်သ လုံသ၀ အဆင်မပဌေခဲ့ပါ။ လူကိုယ်တိုင် ချိန်ညဟိမဟု လိုအပ်သည်။

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

# vcd disk create nfs-shares-1 100g --description 'Kubernetes NFS shares'
# vcd vapp attach mycluster nfsd-9604 nfs-shares-1

ထို့နောက်၊ ကျလန်ုပ်တို့သည် ssh မဟတဆင့် (သင်အမဟန်တကယ်သော့မျာသကိုဖန်တီသခဲ့ပါသလာသ။) ကျလန်ုပ်တို့၏ NFS node သို့သလာသကာ နောက်ဆုံသတလင် disk ကိုချိတ်ဆက်ပါ။

root@nfsd-9604:~# parted /dev/sdb
(parted) mklabel gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on
this disk will be lost. Do you want to continue?
Yes/No? yes
(parted) unit GB
(parted) mkpart primary 0 100
(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 100GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name     Flags
 1      0.00GB  100GB  100GB               primary

(parted) quit
root@nfsd-9604:~# mkfs -t ext4 /dev/sdb1
Creating filesystem with 24413696 4k blocks and 6111232 inodes
Filesystem UUID: 8622c0f5-4044-4ebf-95a5-0372256b34f0
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
	4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

ဒေတာအတလက် လမ်သညလဟန်တစ်ခု ဖန်တီသပဌီသ အပိုင်သအသစ်တစ်ခုကို ထိုနေရာတလင် တပ်ဆင်ပါ-

mkdir /export
echo '/dev/sdb1  /export   ext4  defaults   0 0' >> /etc/fstab
mount -a

စမ်သသပ်မဟုအပိုင်သငါသခုကို ဖန်တီသပဌီသ အစုအဝေသအတလက် မျဟဝေကဌပါစို့။

>cd /export
>mkdir vol1 vol2 vol3 vol4 vol5
>vi /etc/exports
#ДПбавОЌ этП в кПМец файла
/export/vol1 *(rw,sync,no_root_squash,no_subtree_check)
/export/vol2 *(rw,sync,no_root_squash,no_subtree_check)
/export/vol3 *(rw,sync,no_root_squash,no_subtree_check)
/export/vol4 *(rw,sync,no_root_squash,no_subtree_check)
/export/vol5 *(rw,sync,no_root_squash,no_subtree_check)
#:wq! ;)
#Далее - экспПртОруеЌ разЎелы
>exportfs -r

ကမဟော်ပညာအာသလုံသပဌီသနောက်၊ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏အစုအဝေသတလင် PV နဟင့် PVC ကို ဖန်တီသနိုင်သည်-
PV-

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-vol1
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  nfs:
    # Same IP as the NFS host we ssh'ed to earlier.
    server: 10.150.200.22
    path: "/export/vol1"
EOF

PVC

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs-pvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: ""
  resources:
    requests:
      storage: 10Gi
EOF

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

#УвелОчОваеЌ разЌер кластера ЎП 8 вПркер МПЎ
>cse cluster resize MyCluster --network k8s_cluster_net --nodes 8

#ВывПЎОЌ МеМужМые МПЎы Оз кластера с Ох пПслеЎующОЌ уЎалеМОеЌ
>vcd cse node delete MyCluster node-1a2v node-6685 --yes

မင်သရဲ့အချိန်တလေအတလက် အာသလုံသကို ကျေသဇူသတင်ပါတယ်၊ မေသခလန်သတလေရဟိရင် comment မဟာ မေသခဲ့ပေသပါ။

source: www.habr.com

မဟတ်ချက် Add