Соңғы жылдары контейнеризация қосымшаларды әзірлеу және орналастырудың маңызды элементіне айналды, бұл әзірлеушілер мен әкімшілерге оқшауланған және қайта өндірілетін орталарда қосымшаларды құру, тестілеу және орналастыру мүмкіндігін береді. Kubernetes экожүйесінде контейнерлерді басқарудың негізгі компоненттерінің бірі CRI-O болып табылады. Бірақ контейнерлік рантаймды таңдаумен қатар, контейнерлердің сенімді және өнімді жұмысын қамтамасыз ету үшін дұрыс гипервизорды таңдау маңызды.
Бұл мақалада біз CRI-O дегеніміз не, оның гипервизорлармен қалай жұмыс істейтіні және CRI-O пайдалану үшін қандай гипервизор ең жақсы екенін қарастырамыз.
CRI-O деген не?
CRI-O — бұл Kubernetes-пен CRI (Container Runtime Interface) арқылы интеграциялануға арналған жеңіл және тұрақты контейнерлік орындалу ортасы. CRI-O-ның негізгі мақсаты — тек Open Container Initiative (OCI) стандарттарына сәйкес контейнерлерді орындауға бағытталған минималистік және оңтайландырылған орындалу ортасын қамтамасыз ету.
Гипервизорлар және олардың контейнеризациядағы рөлі
Гипервизорлар немесе виртуалды машиналардың мониторы виртуализация мен контейнеризацияда маңызды рөл атқарады, бір физикалық хостта бірнеше операциялық жүйені іске қосуға мүмкіндік береді. Контейнеризация контекстінде гипервизорлар қосымша оқшаулау және қауіпсіздік деңгейін қамтамасыз ету үшін қолданылады. Гипервизорлар екі түрге бөлінеді:
- Тип 1 (bare-metal): Аппараттық деңгейде тікелей жұмыс істейтін гипервизорлар (мысалы, VMware ESXi, Microsoft Hyper-V).
- Тип 2 (hosted): Операциялық жүйеде жұмыс істейтін гипервизорлар (мысалы, VirtualBox, VMware Workstation).
Контейнеризация үшін жиі Тип 1 гипервизорлары пайдаланылады, себебі олардың өнімділігі жоғары және үстеме шығындары төмен.
CRI-O үшін гипервизорды таңдау
KVM (Kernel-based Virtual Machine)
KVM — бұл Linux ядросына кіріктірілген ең танымал Тип 1 гипервизорларының бірі. Ол жоғары өнімділік пен Linux-пен тығыз интеграцияны қамтамасыз етеді, бұл оны CRI-O пайдалану үшін тамаша таңдау етеді.
KVM артықшылықтары:
- Linux ядросымен интеграциясының арқасында жоғары өнімділік.
- Кең қолдау және белсенді әзірлеушілер қауымдастығы.
- Әр түрлі операциялық жүйелерді қонақ ретінде қолдау.
KVM кемшіліктері:
- Бастапқы пайдаланушылар үшін күрделі болуы мүмкін командалық жол арқылы конфигурация мен басқаруды талап етеді.
- Графикалық басқару интерфейсінің шектеулі мүмкіндіктері.
QEMU (Quick Emulator)
QEMU — бұл көбінесе KVM-мен бірге қолданылатын эмулятор және виртуализатор. QEMU икемділік пен қуатты виртуализация мүмкіндіктерін ұсынады.
QEMU артықшылықтары:
- Процессорлардың көптеген архитектураларын қолдау.
- Даму және тестілеу үшін пайдалы толық эмуляция мүмкіндігі.
QEMU кемшіліктері:
- Таза Тип 1 гипервизорларымен салыстырғанда төмен өнімділік.
- Орнату және басқару күрделілігі.
Firecracker
Firecracker — бұл Amazon Web Services (AWS) арнайы микровиртуалдық машиналарды (microVM) іске қосуға арналған жеңіл гипервизоры. Firecracker жоғары өнімділік пен минималды үстеме шығындарды қамтамасыз ету үшін жасалған.
Firecracker артықшылықтары:
- Микровиртуалдық машиналардың жылдам іске қосылуы.
- Жоғары өнімділік және төмен үстеме шығындар.
- Kubernetes сияқты контейнерлік оркестраторлармен тамаша интеграция.
Firecracker кемшіліктері:
- Дәстүрлі гипервизорлармен салыстырғанда шектеулі функционалдылық.
- Салыстырмалы түрде жаңа технология, бұл қол жетімді ресурстар мен тәжірибенің аздығын білдіруі мүмкін.
Kata Containers
Kata Containers — бұл гипервизор деңгейінде оқшаулауды қамтамасыз ететін жеңіл виртуалды машиналарды ұсына отырып, контейнерлер мен виртуалды машиналардың артықшылықтарын біріктіретін жоба.
Kata Containers артықшылықтары:
- Виртуалды машиналарды қолдану арқылы жоғары деңгейдегі оқшаулау.
- CRI-O және Kubernetes-пен интеграция.
- QEMU және Firecracker сияқты әртүрлі гипервизорларды қолдау.
Kata Containers кемшіліктері:
- Орнату және басқару күрделілігі.
- Виртуалды машиналарды пайдалану салдарынан потенциалды үстеме шығындар.
CLI командаларының мысалдары және олардың түсіндірмесі
CRI-O контейнерлерді басқаруға арналған бірнеше командаларды ұсынады. Негізгі командалар мен олардың пайдаланылуын қарастырайық.
CRI-O орнату
Ubuntu-ға CRI-O орнату үшін келесі командаларды орындаңыз:
sudo apt update
sudo apt install cri-o cri-o-runc
sudo systemctl enable crio --now
Бұл командалар пакет тізімін жаңартады, CRI-O және оның тәуелділігі runc
орнатады және CRI-O қызметін іске қосып, жүйе іске қосылған кезде автоматты түрде іске қосылуын қамтамасыз етеді.
Контейнерді іске қосу
CRI-O-ны пайдалана отырып контейнерді іске қосу үшін келесі команданы орындаңыз:
sudo crictl pull docker.io/library/nginx:latest
sudo crictl runp my-pod-config.json
sudo crictl create my-pod-config.json my-container-config.json
sudo crictl start <container-id>
Мұнда:
crictl pull
— контейнер бейнесін жүктеу.crictl runp
—my-pod-config.json
конфигурациялық файлы негізінде под жасау.crictl create
— под ішіндегі контейнер жасау.crictl start
— контейнерді іске қосу.
my-pod-config.json
конфигурациялық файлының мысалы келесідей болуы мүмкін:
{
"metadata": {
"name": "nginx-pod",
"namespace": "default",
"attempt": 1,
"uid": "unique-pod-id"
},
"log_directory": "/var/log/pods",
"dns_config": {
"servers": ["8.8.8.8"],
"searches": ["default.svc.cluster.local"],
"options": ["ndots:5"]
}
}
Жұмыс істеп тұрған контейнерлер тізімі
Іске қосылған контейнерлер тізімін алу үшін келесі команданы пайдаланыңыз:
sudo crictl ps
Бұл команда барлық іске қосылған контейнерлердің идентификаторларын, бейне атауларын, күйлерін және іске қосылу уақытын көрсетеді.
Контейнерді тоқтату және жою
Контейнерді тоқтату және жою үшін келесі командаларды орындаңыз:
sudo crictl stop <container-id>
sudo crictl rm <container-id>
Мұнда crictl stop
контейнерді тоқтатады, ал crictl rm
оны жояды.
Ең жақсы тәжірибелер
Минималды бейнелерді пайдаланыңыз
alpine
сияқты минималды контейнерлік бейнелерді пайдалану шабуыл беттерін азайтады және контейнердің іске қосылу уақытын жылдамдатады.
Қауіпсіздікті қамтамасыз етіңіз
Контейнерлерді қорғау үшін CRI-O-ның seccomp, SELinux және AppArmor сияқты кіріктірілген қауіпсіздік механизмдерін пайдаланыңыз.
CRI-O-ны үнемі жаңартыңыз
CRI-O-ны үнемі жаңартып отыру соңғы қауіпсіздік түзетулерін және өнімділікті жақсартуларды алуды қамтамасыз етеді.
Журнал жүргізу және мониторинг
Проблемаларды уақытында анықтау және шешу үшін Prometheus және Grafana сияқты құралдарды қолданып контейнерлерді журнал жүргізу және мониторинг жасаңыз.
Ресурстарды шектеу
Хост жүйесінің ресурстарының таусылуын болдырмау үшін контейнерлер үшін CPU, жад сияқты ресурс шектеулерін пайдаланыңыз.
Автоматизация
Автоматизация құралдарын пайдаланыңыз, мысалы, Ansible немесе Terraform, инфрақұрылымды орналастыру және басқаруды жеңілдету үшін.
Қорытынды
CRI-O пайдалану үшін гипервизорды таңдау өнімділікке, оқшаулауға, басқару жеңілдігіне және бар инфрақұрылыммен интеграцияға байланысты көптеген факторларға тәуелді. KVM және QEMU жоғары өнімділік пен икемділік ұсынады, ал Firecracker және Kata Containers жоғары оқшаулау деңгейімен жеңіл шешімдерді ұсынады. Ұйымдар өз талаптарын мұқият бағалап, өз қажеттіліктеріне ең жақсы сәйкес келетін гипервизорды таңдауы керек.
Таңдаудан тәуелсіз, CRI-O-мен интеграция Kubernetes ортасында контейнерлерді сенімді және тиімді басқаруды қамтамасыз етеді.
Реклама Google |
![]() |
Назар аударыңыз! Бұл мақала ресми құжат емес.Ақпаратты сақтықпен және сынақ ортасында пайдалану керек.
Заманауи сақтық көшірме жасау, репликациялау, деректерді синхрондау және төлемдік бағдарламадан қорғау жүйелерін құру туралы сұрақтарыңыз болса, қазіргі заманғы деректердің сақтық көшірмесін жасау және қалпына келтіру технологиялары бойынша кеңес алу үшін біздің компанияға хабарласыңыз . Біздің компанияның осы салада 20 жылдан астам тәжірибесі бар. |
Қазақстандағы резервтік көшірудің ең жақсы он тәжірибесі
- oVirt гипервизорын қорғау — терең талдау
- oVirt жүйесінен Proxmox жүйесіне виртуалды машинаны көшіру
- Proxmox-тан oVirt-ке виртуалды машинаны көшіру
- Kubernetes контейнерлерін қорғау — терең талдау
- Proxmox гипервизорын бұзудан қалай қорғауға болады - Терең талдау
- Fail2Ban-ды oVirt жүйесін қорғауда қолдану - Терең талдау
- oVirt гипервизорын сақтандыруды ұйымдастыру — Терең талдау
- Виртуалды машинаны гипервизорлар арасында Proxmox арқылы көшіру
- Proxmox гипервизорын виртуалды машиналардың оңтайлы жұмысын қамтамасыз ету үшін конфигурациялау
- Proxmox-те SSH арқылы root құқықтарының бұзылуынан қорғау: терең талдау