CSE: Kubernetes د هغو کسانو لپاره چې په vCloud کې دي

CSE: Kubernetes د هغو کسانو لپاره چې په vCloud کې دي
سلام هر!

دا داسې پیښ شوي چې زموږ کوچنۍ ټیم ، نه ویل کیږي چې پدې وروستیو کې ، او یقینا ناڅاپه نه ، وده کړې ترڅو ځینې (او په راتلونکي کې ټول) محصولات کبرنیټس ته واړوي.

د دې لپاره ډیری دلیلونه وو، مګر زموږ کیسه د هولیور په اړه نه ده.

موږ د زیربنا اساس په اړه لږ انتخاب درلود. د vCloud رییس او د vCloud رییس. موږ نوی غوره کړ او پریکړه یې وکړه چې پیل وکړو.

یوځل بیا ، د "سختې لارې" په لټه کې ، زه ډیر ژر دې پایلې ته ورسیدم چې د لږترلږه لومړني پروسو اتومات کولو لپاره یوه وسیله ، لکه ځای پرځای کول او اندازه کول ، پرون اړتیا وه. په ګوګل کې ژور ډوب داسې محصول روښانه کړ لکه د VMware کانټینر خدماتو توسیع (CSE) - د خلاصې سرچینې محصول چې تاسو ته اجازه درکوي د k8s کلسترونو رامینځته کول او اندازه کول د هغو کسانو لپاره چې په vCloud کې دي.

اعلامیه: CSE خپل محدودیتونه لري، مګر زموږ د موخو لپاره دا بشپړ و. همچنان ، حل باید د کلاوډ چمتو کونکي لخوا ملاتړ شي ، مګر ځکه چې د سرور برخه هم خلاص سرچینه ده ، له خپل نږدې مدیر څخه وغواړئ چې دا شتون ولري :)

د دې کارولو پیل کولو لپاره ، تاسو د vCloud تنظیم کې د مدیر حساب او د کلسټر لپاره دمخه رامینځته شوی روټ شبکه ته اړتیا لرئ (د ګمارنې پروسې په جریان کې ، تاسو د دې شبکې څخه انټرنیټ لاسرسي ته اړتیا لرئ ، د فایروال/NAT تنظیم کول مه هیروئ). خطاب کول مهم نه دي. په دې مثال کې، راځئ چې 10.0.240.0/24 واخلو

CSE: Kubernetes د هغو کسانو لپاره چې په vCloud کې دي

له جوړیدو وروسته ، کلستر به په یو ډول اداره کولو ته اړتیا ولري ، نو سپارښتنه کیږي چې رامینځته شوي شبکې ته د روټینګ سره VPN ولرئ. موږ یو معیاري SSL VPN کاروو چې زموږ د سازمان ایج ګیټ وے کې ترتیب شوی.

بیا، تاسو اړتیا لرئ د CSE پیرودونکي نصب کړئ چیرې چې د k8s کلسترونه به اداره شي. زما په قضیه کې، دا یو کاري لپ ټاپ او یو څو ښه پټ کانټینرونه دي چې اتومات چلوي.

پیرودونکي د Python نسخه 3.7.3 او لوړ نصب او نصب شوي ماډل ته اړتیا لري vcd-cliنو راځئ چې دواړه نصب کړو.

pip3 install vcd-cli

pip3 install container-service-extension

د نصبولو وروسته، موږ د CSE نسخه ګورو او لاندې ترلاسه کوو:

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

غیر متوقع، مګر د حل وړ. لکه څنګه چې دا معلومه شوه، CSE باید د vcd-cli سره د ماډل په توګه وصل شي.
د دې کولو لپاره، تاسو باید لومړی زموږ سازمان ته vcd-cli ته ننوځئ:

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

له دې وروسته ، vcd-cli به د تشکیلاتو فایل رامینځته کړي ~/.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 د کارونې پیرامیټونو ډیری سیټونه لري، ټول یې لیدل کیدی شي دلته.

لومړی، راځئ چې راتلونکي کلستر ته د پټنوم پرته لاسرسي لپاره کیلي جوړې کړو. دا ټکی مهم دی، ځکه چې د ډیفالټ په واسطه، نوډونو ته د پټنوم ننوتل به غیر فعال وي، او که تاسو کیلي تنظیم نه کړئ، تاسو کولی شئ د مجازی ماشینونو کنسولونو له لارې ډیر کار ترلاسه کړئ، کوم چې مناسب نه دی.

# 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

که موږ تېروتنه ترلاسه کړو تېروتنه: ناسته پای ته رسېدلې یا کاروونکي لاګ ان شوی نه دی. مهرباني وکړئ بیا ننوتل. - بیا vcd-cli ته vCloud ته ننوتل لکه څنګه چې پورته بیان شوي او بیا هڅه وکړئ.

دا وخت هرڅه سم دي او د کلستر د جوړولو کار پیل شوی دی.

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 دقیقې وخت ونیسي؛ په ورته وخت کې ، راځئ چې د لانچ لومړني پیرامیټونه وګورو.

شبکه - هغه شبکه چې موږ مخکې جوړه کړې.
—ssh-key — هغه کیلي چې موږ یې جوړې کړې، کوم چې به کلستر نوډونو ته ولیکل شي
نوډونه n — په کلستر کې د کارګر نوډونو شمیر. دلته به تل یو ماسټر وي، دا د CSE محدودیت دی
—enable-nfs — د دوامداره حجمونو لاندې د NFS ونډو لپاره اضافي نوډ رامینځته کړئ. دا یو څه د پیډل اختیار دی؛ موږ به بیرته ټیون کولو ته ورشو چې دا یو څه وروسته کوي.

په ورته وخت کې ، په vCloud کې تاسو کولی شئ په لید کې د کلستر رامینځته کولو څارنه وکړئ
CSE: Kubernetes د هغو کسانو لپاره چې په vCloud کې دي

یوځل چې د کلستر جوړولو کار بشپړ شي ، دا د کارولو لپاره چمتو دی.

راځئ چې د کمانډ سره د ګمارنې درستیت وګورو vcd cse کلستر معلومات MyCluster

CSE: Kubernetes د هغو کسانو لپاره چې په vCloud کې دي

بیا موږ اړتیا لرو د کارولو لپاره د کلستر ترتیب ترلاسه کړو kubectl

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

او تاسو کولی شئ د دې په کارولو سره د کلستر حالت وګورئ:

CSE: Kubernetes د هغو کسانو لپاره چې په vCloud کې دي

په دې وخت کې، کلستر په مشروط ډول کار کول ګڼل کیدی شي، که نه د کیسې لپاره د دوامداره حجمونو سره. له هغه ځایه چې موږ په vCloud کې یو، موږ به ونه توانیږو چې د vSphere چمتو کونکي وکاروو. اختیار --enable-nfs د دې ناورین د اسانه کولو لپاره ډیزاین شوی، مګر دا په بشپړه توګه کار نه کوي. لاسي سمون ته اړتیا ده.

د پیل کولو لپاره، زموږ نوډ باید په vCloud کې یو جلا خپلواک ډیسک جوړ کړي. دا تضمین کوي ​​​​چې زموږ معلومات به د کلستر سره له مینځه ولاړ نشي که چیرې دا حذف شي. همدارنګه، ډیسک د NFS سره وصل کړئ

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

له هغې وروسته، موږ د ssh له لارې ځو (تاسو واقعیا کیلي جوړې کړې؟) زموږ NFS نوډ ته او په پای کې ډیسک وصل کړئ:

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 جوړ کړو:
پی وی:

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

پیویسی:

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

ستاسو د وخت څخه مننه، که تاسو کومه پوښتنه لرئ، په نظرونو کې یې وپوښتئ.

سرچینه: www.habr.com

Add a comment