ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ!
Accidit ut nostra parva manipulus, non nuper, et certe non repente, increvit ut aliquos (et in futuro omnes) productos ad Kubernetes moveret.
Multae rationes huius rei fuerunt, sed fabula nostra de holivar non est.
Habuimus parvam electionem circa basim infrastructuram. vCloud Director and vCloud Director. Noviorem unum elegimus et initium constituimus.
Iterum perspectans "Viam duram" celerrime conclusum est instrumentum ad automandum saltem processuum fundamentalium, ut instruere et explorare, heri opus esse. Altum dive in Google in lucem produxit talem productum ut VMware Continens servitii Extensio (CSE) - fons apertus uber, qui permittit te ut automate creationem et inspectionem uvarum k8s pro illis in vCloud.
Disclaimer: CSE limitationes suas habet, sed ad propositum nostrum perfectum erat. Solutio etiam provisor nubilo sustentari debet, sed cum pars servientis etiam fons apertus sit, petit procuratorem proximum tuum ut praesto sit :)
Ut utendo incipias, administratorem rationem debes in vCloud organizatione et retiaculum ante creatum pro botro fusum (in processu instruere, accessum interretialem ab hac retis debes, Firewall/NAT configurare noli). Addressing non refert. In hoc exemplo sumamus 10.0.240.0/24
Cum post creationem, botrus aliquo modo tractari opus erit, commendatur habere VPN cum excitandis ad network creatum. Vexillo SSL VPN figuratus utimur in porta nostra Edge Edge.
Deinde, debes clientem CSE instituere ubi racemi k8s tractabuntur. In casu meo, hoc laptop opus est et in duobus vasis bene occultis qui automationem pellunt.
Cliens Python versionem 3.7.3 requirit et altius inauguratus et modulus installed
pip3 install vcd-cli
pip3 install container-service-extension
Post institutionem CSE versionem coarguimus et sequentia obtinemus:
# vcd cse version
Error: No such command "cse".
Inopinatus, sed punctualis. Cum evenit, CSE adnectitur moduli vcd-cli.
Ad hoc faciendum, prius aperi in vcd-cli ad nostram ordinationem;
# vcd login MyCloud.provider.com org-dev admin
Password:
admin logged in, org: 'org-dev', vdc: 'org-dev_vDC01'
Post hoc, vcd-cli figurationem creabit ~/.vcd-cli/profiles.yaml
In fine addere debes sequentia:
extensions:
- container_service_extension.client.cse
Deinde iterum reprehendo:
# vcd cse version
CSE, Container Service Extension for VMware vCloud Director, version 2.5.0
Cliens periodus institutionis perfecta est. Experiamur primum botrum explicandi.
CSE varios usus parametri habet, omnes aspici possunt
Primum, claves faciamus pro ignobili accessu ad botrum futurum. Hoc punctum magni momenti est, quia per defaltam, tesseram rationis ad nodi debilis erit, et si claves non posueris, multum laboris per machinae virtualis solatur, quod non convenit.
# 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.
Conemur initium creans botrum
vcd cse cluster create MyCluster --network k8s_cluster_net --ssh-key ~/.ssh/id_rsa.pub --nodes 3 --enable-nfs
Si errorem accipere Error: Sessio expiratus vel user non initium. Quaeso re-login. β iterum ini in vcd-cli ad vCloud ut supra dictum est et iterum tenta.
Hoc tempore omnia bona sunt et opus botri creandi incepit.
cluster operation: Creating cluster vApp 'MyCluster' (38959587-54f4-4a49-8f2e-61c3a3e879e0) from template 'photon-v2_k8-1.12_weave-2.3.0' (revision 1)
Opus circiter XX minuta perficiendum erit, interim parametros fundamentales inspiciamus.
- network - retis prius creavimus.
-ssh-key - claves creavimus, quae scribentur ad nodos botri
-nodes n - Nodi operariorum in botro. Unus dominus semper erit, haec limitatio est CSE
βenable-nfs β nodi additum creare pro NFS participat sub assiduis voluminibus. Aliquantulus optionis pedali est, nos ad tuning recipiemus quod paulo post facit.
Interim in vCloud creaturam botri uisum monere potes
Finito negotio botri conficiendi, ad usum paratum est.
Sit scriptor reprehendo cum imperio rectitudo elit vcd cse botrum portassent info MyCluster
Deinde opus est ut configuratione botri utendi kubectl
# vcd cse cluster config MyCluster > ./.kube/config
Et sisti potes statum botri utens eo;
Hic botrus sub condicione laborans considerari potest, nisi pro libris assiduis historia. Cum in vCloud sumus, vSphere Providentem uti non poterimus. Option --enable-nfs hoc nocumentum extendere voluit, sed omnino non elaboravit. Commendatio manualis requiritur.
Nodus noster imprimis debet orbium separatum independens in vCloud creare. Haec cautiones nostrae notitiae cum botro si deletae non erunt. Etiam, ad NFS orbem coniungere
# vcd disk create nfs-shares-1 100g --description 'Kubernetes NFS shares'
# vcd vapp attach mycluster nfsd-9604 nfs-shares-1
Post hoc, imus per ssh (vere creavisti claves?) ad nodi nostri NFS ac tandem coniungunt orbem:
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
Facere directorium pro notitia et partitionem novam conscende ibi:
mkdir /export
echo '/dev/sdb1 /export ext4 defaults 0 0' >> /etc/fstab
mount -a
Quinque partitiones examinis faciamus et pro botro communicamus;
>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
Post hanc magicam universam, possumus PV et PVC creare in botro nostro aliquid huius modi:
Notario:
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
Hic est ubi incipit narratio de creatione uvae et incipit narratio vitae cycli. Sicut bonus, duo sunt utilia mandata CSE quae te aliquando conservare permittunt vel non;
#Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π΄ΠΎ 8 Π²ΠΎΡΠΊΠ΅Ρ Π½ΠΎΠ΄
>cse cluster resize MyCluster --network k8s_cluster_net --nodes 8
#ΠΡΠ²ΠΎΠ΄ΠΈΠΌ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ Π½ΠΎΠ΄Ρ ΠΈΠ· ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Ρ ΠΈΡ
ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ
>vcd cse node delete MyCluster node-1a2v node-6685 --yes
Gratias tibi omnes pro tempore tuo, si quaestiones habes, in commentarios require.
Source: www.habr.com