CSE: Kubernetes kanggo sing ana ing vCloud

CSE: Kubernetes kanggo sing ana ing vCloud
ВсСм ΠŸΡ€ΠΈΠ²Π΅Ρ‚!

Kedaden sing tim cilik kita, ora ngomong sing bubar, lan mesthi ora dumadakan, wis thukul kanggo mindhah sawetara (lan ing mangsa kabeh) produk kanggo Kubernetes.

Ana akeh alasan kanggo iki, nanging crita kita ora babagan holivar.

Kita ora duwe pilihan babagan basis infrastruktur. Direktur vCloud lan Direktur vCloud. Kita milih sing luwih anyar lan mutusake kanggo miwiti.

Sawise maneh, nggoleki "The Hard Way," Aku cepet banget nyimpulake yen alat kanggo ngotomatisasi paling ora proses dhasar, kayata penyebaran lan ukuran, dibutuhake wingi. Nyilem jero menyang Google nggawa produk kaya VMware Container Service Extension (CSE) - produk open source sing ngidini sampeyan ngotomatisasi nggawe lan ukuran kluster k8s kanggo sing ana ing vCloud.

Penafian: CSE duwe watesan, nanging kanggo tujuan kita pancen sampurna. Uga, solusi kasebut kudu didhukung dening panyedhiya maya, nanging amarga bagean server uga mbukak-sumber, takon manajer sing paling cedhak supaya kasedhiya :)

Kanggo miwiti nggunakake, sampeyan butuh akun administrator ing organisasi vCloud lan jaringan rute sing wis digawe sadurunge kanggo kluster (sajrone proses penyebaran, sampeyan butuh akses Internet saka jaringan iki, aja lali ngatur Firewall / NAT). Ngalamat ora masalah. Ing conto iki, ayo njupuk 10.0.240.0/24

CSE: Kubernetes kanggo sing ana ing vCloud

Wiwit sawise nggawe, kluster kudu dikelola piye wae, disaranake duwe VPN kanthi nuntun menyang jaringan sing digawe. Kita nggunakake SSL VPN standar sing dikonfigurasi ing Edge Gateway organisasi kita.

Sabanjure, sampeyan kudu nginstal klien CSE ing ngendi kluster k8s bakal dikelola. Ing kasusku, iki minangka laptop sing bisa digunakake lan sawetara kontaner sing didhelikake kanthi otomatis.

Klien mbutuhake versi Python 3.7.3 lan luwih diinstal lan modul diinstal vcd-cli, dadi ayo padha nginstal loro.

pip3 install vcd-cli

pip3 install container-service-extension

Sawise instalasi, kita mriksa versi CSE lan entuk ing ngisor iki:

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

Ora dikarepke, nanging bisa didandani. Dadi metu, CSE kudu ditempelake minangka modul kanggo vcd-cli.
Kanggo nindakake iki, sampeyan kudu mlebu vcd-cli menyang organisasi kita:

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

Sawise iki, vcd-cli bakal nggawe file konfigurasi ~/.vcd-cli/profiles.yaml
Ing pungkasan sampeyan kudu nambah ing ngisor iki:

extensions:
  - container_service_extension.client.cse

Banjur kita mriksa maneh:

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

Tahap instalasi klien wis rampung. Ayo nyoba masang kluster pisanan.
CSE duwe sawetara set paramèter panggunaan, kabeh bisa dideleng kene.

Pisanan, ayo nggawe kunci kanggo akses tanpa sandi menyang kluster sing bakal teka. Titik iki penting, amarga kanthi gawan, login sandi menyang simpul bakal dipateni, lan yen sampeyan ora nyetel tombol, sampeyan bisa entuk akeh karya liwat konsol mesin virtual, sing ora trep.

# 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

Yen kita entuk kesalahan Error: Sesi wis kadaluwarsa utawa pangguna ora mlebu. Mangga mlebu maneh. - mlebu maneh vcd-cli menyang vCloud kaya sing kasebut ing ndhuwur lan coba maneh.

Wektu iki kabeh apik lan tugas nggawe kluster wis diwiwiti.

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

Butuh udakara 20 menit kanggo ngrampungake tugas; sauntara iku, ayo goleki paramèter peluncuran dhasar.

β€”jaringan β€” jaringan sing digawe sadurunge.
-ssh-key - tombol sing digawe, sing bakal ditulis ing simpul kluster
-node n - Jumlah kelenjar Worker ing kluster. Bakal mesthi ana siji master, iki minangka watesan CSE
-enable-nfs - nggawe simpul tambahan kanggo saham NFS ing volume sing terus-terusan. Iki minangka pilihan pedal; kita bakal bali menyang nyetel apa sing ditindakake mengko.

Kangge, ing vCloud sampeyan bisa ngawasi kanthi visual nggawe kluster
CSE: Kubernetes kanggo sing ana ing vCloud

Sawise tugas nggawe kluster rampung, siap digunakake.

Ayo priksa manawa panyebaran kanthi prentah vcd cse cluster info MyCluster

CSE: Kubernetes kanggo sing ana ing vCloud

Sabanjure kita kudu njaluk konfigurasi kluster kanggo nggunakake kubectl

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

Lan sampeyan bisa mriksa status kluster nggunakake:

CSE: Kubernetes kanggo sing ana ing vCloud

Ing titik iki, kluster bisa dianggep kanthi kondisional, yen ora kanggo crita kanthi volume sing terus-terusan. Amarga kita ana ing vCloud, kita ora bakal bisa nggunakake Provider vSphere. Pilihan --aktif-nfs dirancang kanggo Gamelan metu gangguan iki, nanging ora bisa rampung. Pangaturan manual dibutuhake.

Kanggo miwiti, simpul kita kudu nggawe disk Independen sing kapisah ing vCloud. Iki njamin yen data kita ora bakal ilang bebarengan karo kluster yen wis dibusak. Uga, sambungake disk menyang NFS

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

Sawise iku, kita pindhah liwat ssh (sampeyan pancene nggawe tombol?) menyang simpul NFS lan pungkasane nyambungake 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

Gawe direktori kanggo data lan pasang partisi anyar ing kana:

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

Ayo nggawe limang partisi tes lan dibagi kanggo kluster:

>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

Sawise kabeh sihir iki, kita bisa nggawe PV lan PVC ing kluster kaya iki:
Wartawan:

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

Ing kene pungkasane crita nggawe siji kluster lan crita siklus uripe diwiwiti. Minangka bonus, ana rong perintah CSE sing luwih migunani sing ngidini sampeyan nyimpen sumber daya utawa ora:

#Π£Π²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ кластСра Π΄ΠΎ 8 Π²ΠΎΡ€ΠΊΠ΅Ρ€ Π½ΠΎΠ΄
>cse cluster resize MyCluster --network k8s_cluster_net --nodes 8

#Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Π½ΠΎΠ΄Ρ‹ ΠΈΠ· кластСра с ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ
>vcd cse node delete MyCluster node-1a2v node-6685 --yes

Matur nuwun kabeh kanggo wektu sampeyan, yen sampeyan duwe pitakon, takon ing komentar.

Source: www.habr.com

Add a comment