Kubernetes intro Flashcards
Што е kubernetes?
Оркестратор на апликации (cloud-native microservices).
За што се користи kubernetes?
За deployment на апликации, скалирање и намалување на апликации по потреба, self-heal кога има проблем, updates и rollbacks без исклучување на апликацијата, итн.
Што е контејнизирана апликација?
Апликација која работи во контејнер.
Кои се барањата на апликација за облак?
Автоматско скалирање, самопоправка, брзи наградби и враќање во време.
Кои се барањата на микросервисна апликација?
Многу мали, специјализирани и независни делови кои работат зедно.
Како се користел kubernetes во своите почетоци, а како денес?
Docker се користел за пакување на апликациите во контејнери, а kubernetes за нивно распоредување и оркестрација. Секој worker има инсталирано docker.
Денес kubernetes во кластери пакува различни јазли.
Какви јазли постојат?
Control plane и worker јазли.
Какви јазли работат на контролната рамнина?
Колекција од сервиси задолжена да го котролира текот на работата.
Кои јазли работат на контролната рамнина?
HA (3, 5, + nodes), Сервиси (API Server, The cluster store), Менаџер на контролери, распоредувач
Што претставуваат работните јазли?
Место каде што работат корисничките апликации.
Како се одвива логиката на работните јазли?
- Го слушаат АПИ серерот за нови задачи.
- Ги извршуваат задачите.
- Праќаат одговор (извештај) назад кон серверот.
Кои се главните компоненти на работните јазли?
Kubelet, container runtime, kube proxy.
Што е kubelet?
Основен агент на k8s кој работи на секој работен јазел.
1. Задолжен е да го слуша АПИ серверот за нови задачи.
2. Извршува задачи и го известува серверот за извршувањето.
3. Не распоредува, не размислува - само извршува и дава извештај.
Што е container runtime?
Влечи слики, контролира контејнери, се заснова на плагинс (Container Runtime Interface - CRI), containerd - stipped down docker
Kube proxy?
Локално вмрежување на кластери: ip адреси, табели, рутирање и контрола на товар.
Кои се основните чекори за постигнување на static pod deployment?
- Се пишува апликацијата.
- Се контејнизира.
- Се прикачува на некој регистар.
- Се дефинира k8s pod на кој ќе работи контејнерот.
- Се прави deployment.
Во реална примена во што се врапува подот?
Подот се врапува во контролер од повисоко ниво (како на пример Deployment)
Во каква датотека се наведува посакуваната состојба на еден кластер?
Декларативно во manifest . yaml
Кој дел од k8s архитектурата е задолжен да внимава моменталната состојба да не е поразлична од посакуваната?
Контролерот (оној од контролната рамнина).
Што е Pod?
Во k8s под е атомична единица за распоредување. Наједноставна употреба е на секој под да работи по еден од контејнерите, но може да работат и повеќе.
Што се врапува во еден под?
Во подовите се врапуваат апликации.
Дали доколку во еден под работат повеќе контејнери тие ќе споделуваат истa ip адреса?
Да.
Кога сакаме да скалираме еден сервис го зголемуваме бројот на контејнери во еден под. (Т/Г)
Грешно. Се зголемува бројот на подови.
Дали деплојментот на еден под (капсула) е атомична операција?
Да.
На колку јазли се распоредува една капсула?
На еден јазол.
Што се случува кога еден една капсула умира?
Контролерот ќе ја забележи промената и доколку е потребно ќе распореди нова капсула.
Што се случува со капсулите кога сакаме да направиме промена врз нив.
Умираат и на нивно место се прави нова.
Enter Services?
Фасадата до апликациите. Тие ги врапуваат подовите и се во тек со тоа кои подови работат и нивните адреси. Носат стабилност во нестабилниот сввет на капсулите.
k3d cluster create -a 3 -s 4 ime. Колку работни, а колку мастер јазли прави оваа команда?
3 работни и 4 мастер јазли.