CSE: vCloud இல் இருப்பவர்களுக்கான குபெர்னெட்ஸ்

CSE: vCloud இல் இருப்பவர்களுக்கான குபெர்னெட்ஸ்
அனைவருக்கும் வணக்கம்!

எங்கள் சிறிய குழு, சமீபத்தில், நிச்சயமாக திடீரென்று அல்ல, சில (மற்றும் எதிர்காலத்தில் அனைத்து) தயாரிப்புகளையும் குபெர்னெட்டஸுக்கு நகர்த்துவதற்கு வளர்ந்துள்ளது என்று சொல்ல முடியாது.

இதற்கு பல காரணங்கள் இருந்தன, ஆனால் எங்கள் கதை ஹோலிவரைப் பற்றியது அல்ல.

உள்கட்டமைப்புத் தளத்தைப் பற்றி எங்களுக்கு வேறு தெரிவு இல்லை. vCloud இயக்குனர் மற்றும் vCloud இயக்குனர். நாங்கள் புதியதைத் தேர்ந்தெடுத்து தொடங்க முடிவு செய்தோம்.

மீண்டும், "தி ஹார்ட் வே" மூலம் பார்க்கும்போது, ​​வரிசைப்படுத்தல் மற்றும் அளவுப்படுத்துதல் போன்ற குறைந்தபட்ச அடிப்படை செயல்முறைகளை தானியக்கமாக்குவதற்கான ஒரு கருவி நேற்று தேவை என்ற முடிவுக்கு மிக விரைவாக வந்தேன். VMware கன்டெய்னர் சர்வீஸ் எக்ஸ்டென்ஷன் (CSE) போன்ற ஒரு தயாரிப்பை கூகுளில் ஆழமாகச் செலுத்தியது வெளிச்சத்திற்குக் கொண்டுவந்தது - இது vCloud இல் உள்ளவர்களுக்கான k8s கிளஸ்டர்களின் உருவாக்கம் மற்றும் அளவை தானியக்கமாக்க உங்களை அனுமதிக்கும் ஒரு திறந்த மூல தயாரிப்பு.

மறுப்பு: CSE க்கு அதன் வரம்புகள் உள்ளன, ஆனால் எங்கள் நோக்கங்களுக்காக அது சரியானது. மேலும், தீர்வு கிளவுட் வழங்குநரால் ஆதரிக்கப்பட வேண்டும், ஆனால் சேவையகப் பகுதியும் திறந்த மூலமாக இருப்பதால், அது கிடைக்குமாறு உங்கள் அருகிலுள்ள மேலாளரிடம் கேளுங்கள் :)

இதைப் பயன்படுத்தத் தொடங்க, உங்களுக்கு vCloud அமைப்பில் ஒரு நிர்வாகி கணக்கு மற்றும் கிளஸ்டருக்காக முன்னர் உருவாக்கப்பட்ட ரூட் செய்யப்பட்ட நெட்வொர்க் தேவை (வரிசைப்படுத்தல் செயல்பாட்டின் போது, ​​உங்களுக்கு இந்த நெட்வொர்க்கிலிருந்து இணைய அணுகல் தேவை, Firewall/NAT ஐ உள்ளமைக்க மறக்காதீர்கள்). உரையாற்றுவது முக்கியமில்லை. இந்த எடுத்துக்காட்டில், 10.0.240.0/24 ஐ எடுத்துக்கொள்வோம்

CSE: vCloud இல் இருப்பவர்களுக்கான குபெர்னெட்ஸ்

உருவாக்கிய பிறகு, கிளஸ்டரை எப்படியாவது நிர்வகிக்க வேண்டும் என்பதால், உருவாக்கப்பட்ட நெட்வொர்க்கிற்கு ரூட்டிங் கொண்ட VPN ஐ வைத்திருக்க பரிந்துரைக்கப்படுகிறது. எங்கள் நிறுவனத்தின் எட்ஜ் கேட்வேயில் உள்ளமைக்கப்பட்ட நிலையான SSL VPNஐப் பயன்படுத்துகிறோம்.

அடுத்து, k8s கிளஸ்டர்கள் நிர்வகிக்கப்படும் CSE கிளையண்டை நிறுவ வேண்டும். என் விஷயத்தில், இது வேலை செய்யும் மடிக்கணினி மற்றும் ஆட்டோமேஷனை இயக்கும் நன்கு மறைக்கப்பட்ட இரண்டு கொள்கலன்கள்.

கிளையண்டிற்கு பைதான் பதிப்பு 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 நிமிடங்கள் ஆகும்; இதற்கிடையில், அடிப்படை வெளியீட்டு அளவுருக்களைப் பார்ப்போம்.

—network — நாம் முன்பு உருவாக்கிய பிணையம்.
—ssh-key — நாம் உருவாக்கிய விசைகள், அவை கிளஸ்டர் முனைகளில் எழுதப்படும்
—nodes n — கிளஸ்டரில் உள்ள தொழிலாளர் முனைகளின் எண்ணிக்கை. எப்போதும் ஒரு மாஸ்டர் இருப்பார், இது ஒரு CSE வரம்பு
—enable-nfs — நிலையான தொகுதிகளின் கீழ் NFS பங்குகளுக்கு கூடுதல் முனையை உருவாக்கவும். இது ஒரு பெடல் விருப்பம்; சிறிது நேரம் கழித்து அது என்ன செய்கிறது என்பதை நாங்கள் சரிசெய்வோம்.

இதற்கிடையில், vCloud இல் நீங்கள் ஒரு கிளஸ்டரின் உருவாக்கத்தை பார்வைக்கு கண்காணிக்க முடியும்
CSE: vCloud இல் இருப்பவர்களுக்கான குபெர்னெட்ஸ்

ஒரு கிளஸ்டரை உருவாக்கும் பணி முடிந்ததும், அது பயன்பாட்டிற்கு தயாராக உள்ளது.

கட்டளையுடன் வரிசைப்படுத்தலின் சரியான தன்மையை சரிபார்க்கலாம் vcd cse கிளஸ்டர் தகவல் MyCluster

CSE: vCloud இல் இருப்பவர்களுக்கான குபெர்னெட்ஸ்

அடுத்து நாம் பயன்படுத்த கிளஸ்டர் உள்ளமைவைப் பெற வேண்டும் kubectl

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

இதைப் பயன்படுத்தி கிளஸ்டரின் நிலையை நீங்கள் சரிபார்க்கலாம்:

CSE: 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

கருத்தைச் சேர்