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

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

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

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

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

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

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

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

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

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

Въй ΠΊΠ°Ρ‚ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина Π΅ pod, тя Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ наслСдява цялата функционалност Π½Π° pod-a Π² Kubernetes. Към Π’Πœ-pod-ΠΎΠ²Π΅, ΡΡŠΡ‰ΠΎ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ към ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ‚Π΅ pod-ΠΎΠ²Π΅, сС ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ схСми ΠΈ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΠ° ΠΊΠ°Ρ‚ΠΎ taints, tolerations, affinity ΠΈ anti-affinity. ОсвСн Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ прСдимства ΠΊΠ°Ρ‚ΠΎ висока наличност ΠΈ Π΄Ρ€. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΈΠΌΠ° Π΅Π΄Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅: ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ‚Π΅ pod-ΠΎΠ²Π΅ Π½Π΅ ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Ρ‚ ΠΎΡ‚ хост Π½Π° хост Π² познатия Π½ΠΈ смисъл. Ако Π²ΡŠΠ·Π΅Π»ΡŠΡ‚ бъдС ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½, pod-ΡŠΡ‚ Π½Π° Π½Π΅Π³ΠΎ сС ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π° ΠΈ прСразпрСдСля Π½Π° Π΄Ρ€ΡƒΠ³ възСл Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°. А ΠΏΡ€ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина ΠΎΡ‡Π°ΠΊΠ²Π°ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΆΠΈΠ²Π° миграция.

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

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

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

ΠœΡ€Π΅ΠΆΠ°

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

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

Π‘ ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Multus Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° настрои Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ CNI ΠΌΡ€Π΅ΠΆΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ слСд Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° ΠΎΡ‚ спСциалСн ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Cluster Network Operator. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° pod-ΠΎΠ²Π΅Ρ‚Π΅ сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ към Π΅Π΄Π½Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΌΡ€Π΅ΠΆΠΈ, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ към стандартния OpenShiftSDN ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈΡ интСрфСйс. Π‘ устройства SR-IOV, стандартни Linux Bridge, MACVLAN ΠΈ IPVLAN, всичко Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° Π²Π°ΡˆΠ°Ρ‚Π° Π’Πœ. На ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Multus CNI Π·Π° bridge ΠΌΡ€Π΅ΠΆΠ° Π½Π° интСрфСйса 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 виртуализацията, Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π’Πœ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΡΠ²ΡŠΡ€Π·Π°Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ към Π²ΡŠΠ½ΡˆΠ½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ°, заобикаляйки SDN. Π’ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ машини, ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π½ΠΈ Π½Π° OpenShift ΠΎΡ‚ Red Hat Virtualization ΠΈΠ»ΠΈ VMware vSphere, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎ Π½ΠΈΠ²ΠΎ OSI, ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ настройки няма Π΄Π° сС промСнят. Π’ΠΎΠ²Π° ΡΡŠΡ‰ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π’Πœ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΌΡ€Π΅ΠΆΠΎΠ² адрСс, Π·Π° ΠΊΠΎΠΉΡ‚ΠΎ заявкитС Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Ρ‰Π΅ заобикалят SDN. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ спСциализирани ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΈ ΠΈΠ»ΠΈ Π΄Π° сС ΡΠ²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ към Π‘Π₯Π”.

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

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

Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° дисковСтС Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ машини Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° OpenShift виртуализацията сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π½Π° Kubernetes ΠΊΠ°Ρ‚ΠΎ StorageClasses, PersistentVolumeClaims (PVC) ΠΈ PersistentVolume (PV), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ стандартнитС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² срСдата Π½Π° Kubernetes. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ администраторитС Π½Π° Kubernetes ΠΈ Π΅ΠΊΠΈΠΏΠΈΡ‚Π΅, ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° прилоТСния, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ Π΅Π΄ΠΈΠ½Π΅Π½ ΠΈ ΠΏΠΎΠ·Π½Π°Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΡ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини. Π—Π° ΠΌΠ½ΠΎΠ³ΠΎ администратори Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ срСди Ρ‚Π°Π·ΠΈ концСпция ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎΠ·Π½Π°Ρ‚Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡŠΡ‰ΠΈΡ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π½Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° конфигурация Π½Π° Π’Πœ ΠΈ дисковС, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΏΡ€ΠΈΠ»Π°Π³Π° Π² 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 Π·Π° устройства raw block, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° сподСлСн Π±Π»ΠΎΡ‡Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π·Π° прилоТСния с високи изисквания Π·Π° производитСлност. ОсвСн Ρ‚ΠΎΠ²Π°, OCS ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° новия стандарт Π·Π° исканС Π½Π° Π³Ρ€ΡƒΠΏΠ° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Object Bucket Claim, позволяващ Π½Π° прилоТСнията Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π° Π΄Π°Π½Π½ΠΈ.

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

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

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

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster