Виртуализация Π½Π° OpenShift: ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, KVM ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини

Виртуализация Π½Π° OpenShift (ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π°Π³ΠΎΡ€Π΅ - Kubernetes: KubeVirt, Π²ΠΈΠΆΡ‚Π΅. Ρ‚ΡƒΠΊ ΠΈ Ρ‚ΡƒΠΊ), Ρ€ΠΎΠ΄Π΅Π½Π° ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Π° виртуализация, бСшС въвСдСна ΠΊΠ°Ρ‚ΠΎ функционалност Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° OpenShift, която Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π·Π° внСдряванС ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини (VM) ΠΊΠ°Ρ‚ΠΎ основни ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π½Π° Kubernetes. Π’ΠΎΠ·ΠΈ Π²ΠΈΠ΄ Π·Π°Π΄Π°Ρ‡Π° Π΅ тСхничСски ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Ρ‚Π΅Π»Π½Π° ΠΏΠΎΡ€Π°Π΄ΠΈ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΈΡ‚Π΅ различия Π² Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡ‚Π΅. Π—Π° постиганСто Π½Π° Ρ‚Π°Π·ΠΈ Ρ†Π΅Π» ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Red Hat Enterprise Linux ΠΈ KVM, ΠΊΠΎΠΈΡ‚ΠΎ са с нас ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ са Π΄ΠΎΠΊΠ°Π·Π°Π»ΠΈ своята СфСктивност.

Виртуализация Π½Π° OpenShift: ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, KVM ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини

Π’ Ρ‚Π°Π·ΠΈ статия Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ тСхничСскитС аспСкти Π½Π° виртуализацията Π½Π° OpenShift, ΠΊΠΎΠΈΡ‚ΠΎ правят възмоТно ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½ΠΎΡ‚ΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Π½Π΅ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, която Π³ΠΈ управлява ΠΊΠ°Ρ‚ΠΎ Π΅Π΄ΠΈΠ½ ΠΎΠ±Π΅ΠΊΡ‚.

Π˜Π·Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π½Π° ядрото Π½Π° Linux ΠΊΠ°Ρ‚ΠΎ пространства ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° ΠΈ cgroups, Π·Π° Π΄Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Ρ‚ процСси ΠΈ Π΄Π° управляват рСсурси. ОбикновСно процСситС сС Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ Python, Java прилоТСния ΠΈΠ»ΠΈ изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Π½ΠΎ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ всякакви процСси, ΠΊΠ°Ρ‚ΠΎ bash, Emacs ΠΈΠ»ΠΈ vim.

Какво Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина? ΠžΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€Π° Ρ‚ΠΎΠ²Π° ΡΡŠΡ‰ΠΎ Π΅ процСс. Но Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° KVM ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚, ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° VM.

Виртуализация Π½Π° OpenShift: ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, KVM ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° всички инструмСнти, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° KVM Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина. Ако инспСктирамС pod Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π° VM, Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΠΌ Ρ‚Π°ΠΌ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΡ†ΠΈ ΠΈ qemu-kvm процСси. ОсвСн Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ°ΠΌΠ΅ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ KVM инструмСнти Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини ΠΊΠ°Ρ‚ΠΎ qemu-img, qemu-nbd ΠΈ virsh.

Виртуализация Π½Π° OpenShift: ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, KVM ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини

Въй ΠΊΠ°Ρ‚ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина Π΅ pod, тя Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ наслСдява цялата функционалност Π½Π° pod Π² Kubernetes. VM pods, Ρ‚ΠΎΡ‡Π½ΠΎ ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ‚Π΅ pods, са ΠΎΠ±Π΅ΠΊΡ‚ Π½Π° схСми ΠΈ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π·Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ ΠΊΠ°Ρ‚ΠΎ ΠΏΠ΅Ρ‚Π½Π°, толСрантности, Π°Ρ„ΠΈΠ½ΠΈΡ‚Π΅Ρ‚ ΠΈ Π°Π½Ρ‚ΠΈΠ°Ρ„ΠΈΠ½ΠΈΡ‚Π΅Ρ‚. Π’ΠΈΠ΅ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ прСдимствата Π½Π° висока наличност ΠΈ Ρ‚.Π½. Има ΠΎΠ±Π°Ρ‡Π΅ Π΅Π΄Π½Π° Π²Π°ΠΆΠ½Π° Ρ€Π°Π·Π»ΠΈΠΊΠ°: ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅ Π½Π΅ ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Ρ‚ ΠΎΡ‚ хост Π½Π° хост Π² обичайния смисъл. Ако Π΄Π°Π΄Π΅Π½ възСл ΠΈΠ·Π»Π΅Π·Π΅ ΠΎΡ„Π»Π°ΠΉΠ½, Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° Π² Π½Π΅Π³ΠΎ сС прСкратява ΠΈ сС прСнасочва към Π΄Ρ€ΡƒΠ³ възСл Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°. А Π² случай Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина, ΠΎΡ‡Π°ΠΊΠ²Π°ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ миграция Π½Π° ΠΆΠΈΠ²ΠΎ.

Π—Π° Π΄Π° сС ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π΅ Ρ‚Π°Π·ΠΈ ΠΏΡ€Π°Π·Π½ΠΈΠ½Π°, бСшС създадСна пСрсонализирана дСфиниция Π½Π° рСсурс (CDR), Π·Π° Π΄Π° сС опишС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π·Π° миграция Π½Π° ΠΆΠΈΠ²ΠΎ, ΠΊΠΎΠΉΡ‚ΠΎ отговаря Π·Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅, наблюдСниС ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° ΠΆΠΈΠ²ΠΎ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ възли.

apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachineInstanceMigration
metadata:
  name: migration-job
spec:
  vmiName: fedora

ΠšΠΎΠ³Π°Ρ‚ΠΎ Π΄Π°Π΄Π΅Π½ възСл Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½, Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π·Π° миграция сС ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π·Π° ΠΎΠ½Π΅Π·ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΆΠΈΠ²ΠΎ, Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ ΠΊΠ°Ρ‚ΠΎ стратСгия Π·Π° ΠΈΠ·Π³ΠΎΠ½Π²Π°Π½Π΅. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Ρ‚Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ машини ΠΏΡ€ΠΈ прСмСстванС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π½ΠΈ възли. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠ°ΠΊΡ‚ΠΎ Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ Live Migration, Ρ‚Π°ΠΊΠ° ΠΈ Π΄Π° управляватС VM, ΠΊΠ°ΠΊΡ‚ΠΎ всички Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅.

Π‘Π΅Ρ‚ΡŒ

Всяка систСма Π½Π° Kubernetes осигурява комуникация ΠΌΠ΅ΠΆΠ΄Ρƒ възли ΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ софтуСрни SDN ΠΌΡ€Π΅ΠΆΠΈ. OpenShift Π½Π΅ Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ, Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ ΠΎΡ‚ вСрсия 3, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° OpenShiftSDN ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° Ρ‚ΠΎΠ²Π°. Π’ допълнСниС, OpenShift 4 ΠΈΠΌΠ° Π΄Ρ€ΡƒΠ³Π° Π½ΠΎΠ²Π° функция, Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° Multus, която Π²ΠΈ позволява Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ мноТСство ΠΌΡ€Π΅ΠΆΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ ΠΈ Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅ към тях Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

Виртуализация Π½Π° OpenShift: ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, KVM ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини

Използвайки Multus, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ CNI ΠΌΡ€Π΅ΠΆΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ слСд Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Ρ€Π°Π·Π³ΡŠΡ€Π½Π°Ρ‚ΠΈ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° ΠΎΡ‚ спСциалСн ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π΅Π½ ΠΌΡ€Π΅ΠΆΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ към Π΅Π΄Π½Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΌΡ€Π΅ΠΆΠΈ, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ стандартния OpenShiftSDN ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ интСрфСйс. SR-IOV устройства, стандартСн Linux Bridge, MACVLAN ΠΈ IPVLAN устройства ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚, Π°ΠΊΠΎ Π²Π°ΡˆΠ°Ρ‚Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина сС Π½ΡƒΠΆΠ΄Π°Π΅ ΠΎΡ‚ Ρ‚ΠΎΠ²Π°. Π€ΠΈΠ³ΡƒΡ€Π°Ρ‚Π° ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Multis CNI Π·Π° мостовата ΠΌΡ€Π΅ΠΆΠ° Π½Π° интСрфСйса eth1:

apiVersion: operator.openshift.io/v1
kind: Network
metadata:
  name: cluster
spec:
  additionalNetworks:
  - name: multus1
rawCNIConfig: '{ "cniVersion": "0.3.1", "type": "bridge", "master": "eth1", "ipam":
   { "type": "static", "addresses": [ { "address": "191.168.1.1/24" } ] } }'
   type: Raw

Π’ΡŠΠ² Π²Ρ€ΡŠΠ·ΠΊΠ° с виртуализацията Π½Π° OpenShift, Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ VM ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΡΠ²ΡŠΡ€Π·Π°Π½ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ към външна ΠΌΡ€Π΅ΠΆΠ°, заобикаляйки SDN. Π’ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини, ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π½ΠΈ към OpenShift ΠΎΡ‚ Red Hat Virtualization ΠΈΠ»ΠΈ VMware vSphere, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ втория OSI слой, няма Π΄Π° ΠΈΠΌΠ° промяна Π² ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ настройки. Π’ΠΎΠ²Π° ΡΡŠΡ‰ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ VM ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΌΡ€Π΅ΠΆΠΎΠ² адрСс, ΠΊΠΎΠΉΡ‚ΠΎ заобикаля SDN. Π’Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ спСциализирани ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΈ ΠΈΠ»ΠΈ Π΄Π° сС ΡΠ²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ към систСмата Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°...

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини Π·Π° виртуализация OpenShift към ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Ρ‚ΡƒΠΊ... ОсвСн Ρ‚ΠΎΠ²Π°, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ nmstate, Π²Π½Π΅Π΄Ρ€Π΅Π½ ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ виртуализацията Π½Π° OpenShift, ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π΄Ρ€ΡƒΠ³ ΠΏΠΎΠ·Π½Π°Ρ‚ Π½Π°Ρ‡ΠΈΠ½ Π·Π° създаванС ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π° физичСски възли, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΠΎΠ΄ Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€ΠΈ.

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅

Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° дисковС Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° виртуализацията Π½Π° OpenShift сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π½Π° Kubernetes ΠΊΠ°Ρ‚ΠΎ StorageClasses, PersistentVolumeClaims (PVC) ΠΈ PersistentVolume (PV), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, стандартни Π·Π° срСдата Π½Π° Kubernetes. Π’ΠΎΠ²Π° Π΄Π°Π²Π° Π½Π° администраторитС ΠΈ Π΅ΠΊΠΈΠΏΠΈΡ‚Π΅ Π½Π° прилоТСния Π½Π° Kubernetes ΠΎΠ±Ρ‰, ΠΏΠΎΠ·Π½Π°Ρ‚ Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΡ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини. И Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ администратори Π½Π° срСди Π·Π° виртуализация Ρ‚Π°Π·ΠΈ концСпция ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π²ΡƒΡ‡ΠΈ ΠΏΠΎΠ·Π½Π°Ρ‚ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡŠΡ‰ΠΈΡ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π½Π° раздСлянС Π½Π° VM ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ дисковС, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² OpenStack ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ.

НС ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π°Ρ‡Π΅ просто Π΄Π° създавамС Π½ΠΎΠ² диск Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина всСки ΠΏΡŠΡ‚, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€Π° към OpenShift трябва Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΠΌ Π΄Π°Π½Π½ΠΈΡ‚Π΅. Π”Π°, Π΄ΠΎΡ€ΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΠΌ Π½ΠΎΠ²Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина, Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΎΡ‚ шаблон, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π΄Π° я създадСм ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ функционалност Π·Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ дисковС.

Π—Π° Π΄Π° опрости Ρ‚Π°Π·ΠΈ Π·Π°Π΄Π°Ρ‡Π°, виртуализацията Π½Π° OpenShift внСдрява ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Containerized Data Importer (CDI), ΠΊΠΎΠΉΡ‚ΠΎ намалява ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° дискови изобраТСния Π½Π° дисковС ΠΎΡ‚ мноТСство ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ Π΄ΠΎ създаванС Π½Π° PVC запис.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: "fedora-disk0"
  labels:
    app: containerized-data-importer
  annotations:
    cdi.kubevirt.io/storage.import.endpoint: "http://10.0.0.1/images/Fedora-Cloud-Base-31-1.9.x86_64.qcow2"
spec:
  storageClassName: ocs-gold
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi

ИмСнно Ρ‚ΠΎΠ·ΠΈ запис Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° CDI, задСйствайки послСдоватСлността ΠΎΡ‚ дСйствия, ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚Π° ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ:

Виртуализация Π½Π° OpenShift: ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, KVM ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ CDI Π·Π°Π²ΡŠΡ€ΡˆΠΈ, PVC Ρ‰Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° диска Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина, Π³ΠΎΡ‚ΠΎΠ² Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½ Π² стандартния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ OpenShift...
ΠšΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с виртуализация Π½Π° OpenShift, OpenShift Container Storage (OCS), Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Red Hat, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Ceph, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»Π°Π³Π° функционалност Π·Π° постоянно ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΡΡŠΡ‰ΠΎ Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. Π’ допълнСниС към стандартнитС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° PVC Π΄ΠΎΡΡ‚ΡŠΠΏ - RWO (Π±Π»ΠΎΠΊ) ΠΈ RWX (Ρ„Π°ΠΉΠ») - OCS прСдоставя RWX Π·Π° Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ устройства, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° сподСлянС Π½Π° Π±Π»ΠΎΠΊΠΎΠ² Π΄ΠΎΡΡ‚ΡŠΠΏ Π·Π° прилоТСния с високи изисквания Π·Π° производитСлност. ОсвСн Ρ‚ΠΎΠ²Π° OCS ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° новия стандарт Object Bucket Claim, ΠΊΠΎΠΉΡ‚ΠΎ позволява Π½Π° прилоТСнията Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ.

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ

Ако сС интСрСсуватС Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° Π·Π½Π°ΠΉΡ‚Π΅, Ρ‡Π΅ виртуализацията Π½Π° OpenShift Π²Π΅Ρ‡Π΅ Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° във вСрсията Tech Preview ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ OpenShift 3.11 ΠΈ ΠΏΠΎ-Π½ΠΎΠ²Π° вСрсия. БобствСницитС Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ‚ Π·Π° OpenShift ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ виртуализацията Π½Π° OpenShift напълно Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ ΠΈ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ. Към ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅ Π½Π° Ρ‚Π°Π·ΠΈ публикация OpenShift 4.4 ΠΈ OpenShift virtualization 2.3 са Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΈ; Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈ вСрсии, Ρ‚ΠΎΠ³Π°Π²Π° трябва Π΄Π° надстроитС, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Напълно ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π° вСрсия Π½Π° виртуализацията OpenShift трябва Π΄Π° бъдС пусната ΠΏΡ€Π΅Π· Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π½Π° 2020 Π³.

Π—Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅ информация моля ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ сС ДокумСнтация Π½Π° OpenShift Π·Π° инструкции Π·Π° ΠΌΠΎΠ½Ρ‚Π°ΠΆ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ БСкция Π·Π° мноТСство настройки, ΠΊΠΎΠΉΡ‚ΠΎ прСдоставя информация Π·Π° настройка Π½Π° външни ΠΌΡ€Π΅ΠΆΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€