CSE: Kubernetes mo i latou i vCloud

CSE: Kubernetes mo i latou i vCloud
Всем привет!

Na tupu o le matou 'au toʻaitiiti, e le o le taʻua talu ai nei, ma e mautinoa lava e leʻo faʻafuaseʻi, ua tupu aʻe e siitia nisi (ma i le lumanaʻi uma) oloa i Kubernetes.

E tele mafuaaga mo lenei mea, ae o la tatou tala e le o le holivar.

E itiiti lava a matou filifiliga e uiga i le fa'avae o atina'e. vCloud Faatonu ma vCloud Faatonu. Na matou filifilia le mea fou ma filifili e amata.

O le isi foʻi, vaʻavaʻai i le "The Hard Way," na vave ona ou oʻo mai i le faaiuga o se meafaigaluega mo le faʻaaogaina o faiga faʻavae, e pei o le faʻapipiʻiina ma le sizing, na manaʻomia ananafi. O le loloto o le maulu i totonu o Google na faʻaalia ai se oloa e pei o le VMware Container Service Extension (CSE) - o se oloa faʻapipiʻi matala e mafai ai e oe ona faʻaogaina le fausiaina ma le tele o k8s fuifui mo i latou i vCloud.

Fa'asalaga: E iai ona tapula'a a le CSE, ae mo o tatou fa'amoemoe sa atoatoa. E le gata i lea, o le fofo e tatau ona lagolagoina e le kamupani ao, ae talu ai o le vaega o le server o loʻo tatala-punaoa, fesili i lau pule sili ona lata ane ina ia maua :)

Ina ia amata faʻaaogaina, e te manaʻomia se faʻamatalaga faʻatonu i le vCloud faʻalapotopotoga ma se fesoʻotaʻiga faʻasalalau muamua mo le fuifui (i le taimi o le faʻaogaina, e te manaʻomia le Initaneti mai lenei fesoʻotaiga, aua neʻi galo e faʻapipiʻi Firewall / NAT). E le afaina le tautala. I lenei faʻataʻitaʻiga, seʻi o tatou ave le 10.0.240.0/24

CSE: Kubernetes mo i latou i vCloud

Talu ai a maeʻa le fausiaina, o le fuifui e manaʻomia le puleaina i se isi itu, e fautuaina le i ai o se VPN faʻatasi ai ma le taʻavale i le fesoʻotaʻiga na faia. Matou te faʻaogaina se SSL VPN faʻatulagaina i luga o le Edge Gateway a le matou faalapotopotoga.

O le isi, e tatau ona e faʻapipiʻi le CSE client lea o le a pulea ai le k8s clusters. I loʻu tulaga, o se komepiuta galue ma ni nai pusa natia lelei e ave ai le masini.

E mana'omia e le kalani le Python version 3.7.3 ma maualuga fa'apipi'i ma fa'apipi'i le module vcd-cli, o lea tatou faʻapipiʻi uma.

pip3 install vcd-cli

pip3 install container-service-extension

A maeʻa faʻapipiʻi, matou siaki le CSE version ma maua mea nei:

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

E leʻi faʻamoemoeina, ae mafai ona faʻaleleia. E pei ona aliali mai, e manaʻomia ona faʻapipiʻi le CSE o se module i vcd-cli.
Ina ia faia lenei mea, e tatau ona e ulufale muamua i le vcd-cli i la matou faʻalapotopotoga:

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

A maeʻa lenei, vcd-cli o le a fatuina se faila faʻatulagaina ~/.vcd-cli/profiles.yaml
I le faaiuga e tatau ona e faʻaopoopo mea nei:

extensions:
  - container_service_extension.client.cse

Ona matou toe siaki lea:

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

Ua mae'a le vaega fa'apipi'i o tagata o tausia. Sei o tatou taumafai e fa'apipi'i le fuifui muamua.
E tele seti ole fa'aoga ole CSE, e mafai ona va'aia uma iinei.

Muamua, se'i o tatou faia ni ki mo le avanoa e aunoa ma se upu fa'aoga i le fuifui i le lumana'i. E taua tele lenei manatu, talu ai ona o le le mafai, password login i nodes o le a le atoatoa, ma afai e te le setiina ki, e mafai ona e maua le tele o galuega e ala i masini masini komepiuta, lea e le faigofie.

# 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.

Sei o tatou taumafai e amata faia se fuifui:

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

Afai tatou te maua se mea sese Sese: Ua uma le sauniga po'o le tagata e le'i ulufale i totonu. Faamolemole toe saini. - toe saini i totonu vcd-cli i vCloud e pei ona faamatalaina i luga ma toe taumafai.

O le taimi lenei ua lelei mea uma ma ua amata le galuega o le fatuina o se fuifui.

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

E tusa ma le 20 minute e faʻamaeʻa ai le galuega; i le taimi nei, seʻi o tatou vaʻavaʻai i taʻiala faʻavae autu.

-network - le fesoʻotaʻiga na matou faia muamua.
-ssh-key - o ki na matou faia, lea o le a tusia i nodes fuifui
—nodes n — Numera o nodes a le Aufaigaluega i le fuifui. E tasi lava le matai, ole CSE tapula'a lea
-enable-nfs - fai se node faaopoopo mo sea NFS i lalo o voluma faifai pea. O se vaega o se filifiliga pedal; o le a tatou toe foʻi i le faʻalogoina o mea e fai i se taimi mulimuli ane.

I le taimi nei, i totonu o le vCloud e mafai ona e mataʻituina le fausiaina o se fuifui
CSE: Kubernetes mo i latou i vCloud

A mae'a loa le galuega o le fatuina o se fuifui, ua sauni mo le fa'aoga.

Sei o tatou siaki le sa'o o le fa'apipi'iina ma le fa'atonuga vcd cse fuifui info MyCluster

CSE: Kubernetes mo i latou i vCloud

O le isi e mana'omia ona maua le fa'aputuga fa'aputu e fa'aoga kubectl

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

Ma e mafai ona e siaki le tulaga o le fuifui faʻaaogaina:

CSE: Kubernetes mo i latou i vCloud

I le taimi nei, o le fuifui e mafai ona manatu o loʻo galue faʻapitoa, pe a le o le tala faʻatasi ma voluma faifai pea. Talu ai o matou i totonu o le vCloud, o le a le mafai ona matou faʻaogaina le vSphere Provider. Filifiliga --enable-nfs na fuafuaina e faʻamalieina lenei faʻalavelave, ae e leʻi manuia atoatoa. E mana'omia le fetu'una'iga i le tusi.

Ina ia amata, e manaʻomia e le matou node le fatuina o se tisiki Tutoatasi i vCloud. E fa'amautinoa ai e le mou atu a matou fa'amaumauga fa'atasi ma le fuifui pe a tape. E le gata i lea, faʻafesoʻotaʻi le disk i le NFS

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

A maeʻa lena, matou te alu i luga o le ssh (na e faia moni lava ki?) I la matou NFS node ma faʻafesoʻotaʻi le 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

Fausia se lisi mo faʻamaumauga ma faʻapipiʻi se vaeluaga fou iina:

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

Se'i o tatou faia ni vaega fa'ata'ita'i se lima ma fa'asoa atu mo le fuifui:

>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

A maeʻa uma nei togafiti, e mafai ona tatou fatuina PV ma PVC i totonu o la tatou fuifui se mea e pei o lenei:
Tusitala:

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

O iina e muta ai le tala o le foafoaina o le tasi fuifui ma amata ai le tala o lona taamilosaga o le olaga. I le avea ai o se ponesi, e lua isi tulafono aoga CSE e mafai ai ona e faʻasaoina punaoa i nisi taimi pe leai:

#Увеличиваем размер кластера до 8 воркер нод
>cse cluster resize MyCluster --network k8s_cluster_net --nodes 8

#Выводим ненужные ноды из кластера с их последующим удалением
>vcd cse node delete MyCluster node-1a2v node-6685 --yes

Faafetai uma mo lou taimi, afai ei ai ni au fesili, fesili i faʻamatalaga.

puna: www.habr.com

Faaopoopo i ai se faamatalaga