Съдържание[Крия][Покажи]
- 1. Какво е Kubernetes?
- 2. Какво имате предвид под контейнера в Kubernetes?
- 3. Кои са основните компоненти на Kubernetes?
- 4. Какво имате предвид под оркестрация в kubernetes?
- 5. Какво точно представлява Kubernetes клъстер?
- 6. Как се улеснява внедряването в контейнери от Kubernetes?
- 7. Какви фундаментални разлики съществуват между Kubernetes и Docker Swarm?
- 8. Какво е пространство от имена в Kubernetes?
- 9. Какво точно представлява основният компонент Kubernetes etcd?
- 10. Какви решения има за сигурност на API на Kubernetes?
- 11. Какви са разликите между приложенията, разположени на хостове и контейнери?
- 12. Какво всъщност имате предвид под Minikube?
- 13. Как може да се наблюдава клъстерът Kubernetes?
- 14. Каква функция изпълняват възлите на Kubernetes?
- 15. Опишете подробно хипстъра.
- 16. Опишете работата на главния възел на Kubernetes.
- 17. Какво отличава контейнера от капсулата?
- 18. Какво разбирате под балансиране на натоварването в Kubernetes?
- 19. Каква функция изпълнява Kube-API сървърът?
- 20. Какво означават наборите със състояние на Kubernetes?
- 21. Как изследвате централните трупи на капсулата?
- 22. ClusterIP: Какво е това?
- 23. Разкажете ми за контролерите за репликация?
- 24. Как работи мрежата Ingress и какво представлява?
- 25. Prometheus в Kubernetes: за какво е?
- 26. Какво е услуга без глава?
- 27. Какво ми трябва за локално стартиране на Kubernetes архитектурата?
- 28. Какво разбирате под Stateful set?
- 29. Какво означават миньоните в Kubernetes?
- 30. Какви функции изпълняват услугите в рамките на компонентите на Kubernetes?
- 31. Какво точно е Helm?
- 32. Обяснете PVC
- Заключение
Google първоначално създаде Kubernetes, технология за оркестриране на контейнери с отворен код, през 2014 г. Разполагането, мащабирането и администрирането на контейнеризирани приложения бяха предназначени да бъдат автоматизирани.
Kubernetes се разви с течение на времето, за да се превърне в де факто стандарт в индустрията за оркестрация на контейнери и се използва широко от фирми от всякакъв размер за управление на техните работни натоварвания в контейнери.
Значението на Kubernetes в съвременния свят се основава на способността му да предлага последователен метод за управление на контейнерни приложения в мащаб, обхващащ различни клъстери и облачни среди. Поради това фирмите могат да управляват, разширяват и внедряват своите приложения бързо и ефективно.
Поддръжката на контейнеризирани приложения е допълнително улеснена от обширния набор от функции на Kubernetes, който включва самовъзстановяване, автоматизирано мащабиране и непрекъснати надстройки.
Тъй като все повече фирми използват контейнеризация и микроуслуги, за да ускорят своите процедури за разработка и внедряване на приложения, се очаква обхватът на Kubernetes да продължи да се разширява в бъдеще.
Възприемането на облачни технологии и общото преминаване към мулти-облачни и хибридни облачни системи ще зависят в голяма степен от Kubernetes. Тъй като все повече и повече устройства са свързани с интернет, Kubernetes също ще се използва все повече и повече в контекста на крайни изчисления и IoT.
Предполагам, че вече сте наясно с тези подробности, защото четете тази публикация във Въпроси за интервю на Kubernetes, която ще ви информира за най-често задаваните въпроси за интервю. Нека да започнем.
1. Какво е Kubernetes?
Kubernetes е рамка с отворен код за оркестрация и администриране на приложения в контейнери. Това прави възможно последователното и ефективно внедряване, мащабиране и поддържане на контейнерни приложения.
Kubernetes предлага единен метод за управление на контейнеризирани приложения в мащаб и е създаден да работи в различни клъстери и облачни среди.
Самовъзстановяването, автоматизираното мащабиране и непрекъснатите надстройки са само някои от възможностите, които правят управлението на приложения в контейнери още по-лесно.
2. Какво имате предвид под контейнера в Kubernetes?
Контейнерите са преносим, лек и самодостатъчен подход за опаковане и работещ софтуер. Опаковането и внедряването на приложения се извършват последователно и ефективно в Kubernetes с помощта на контейнери.
За да се държи отделно от другите контейнери и хост машината, всеки контейнер изпълнява само един процес. Зависимостите на приложението, библиотеките и конфигурационните файлове са включени в изображението на контейнера, което служи като дефиниция на контейнер.
Предвиденият брой реплики на контейнер винаги работи благодарение на използването на Kubernetes за оркестрация на контейнери за управление и мащабиране на контейнерите. Това улеснява разработчиците да управляват и внедряват своите приложения в няколко клъстера и облачни среди.
3. Кои са основните компоненти на Kubernetes?
Ето основните компоненти на kubeneters:
- Главният Kubernetes: Този компонент, който също включва мениджъра на контролера и планировчика, etcd (разпределено хранилище на ключ-стойност), API сървъра и други компоненти, отговаря за управлението на клъстера като цяло.
- Възли: Това са работните станции, на които се изпълняват контейнеризираните програми. Kubelet, който взаимодейства с главния, за да поддържа планираното състояние на клъстера, се изпълнява на всеки възел заедно с среда за изпълнение на контейнер (като Docker).
- Подове: Най-малкият и основен елемент на обектния модел на Kubernetes е подът, който служи като хост за един или повече контейнери.
- Услуги: Услугите предлагат последователна крайна точка за подове и позволяват балансиране на натоварването и откриване на услуги.
- Контролери за репликация: Те гарантират, че необходимият брой реплики на pod винаги работят.
- Тайни и ConfigMaps: Тези ресурси се използват за поддържане на конфигурационните данни и тайните за подове и други клъстерни обекти.
4. Какво имате предвид под оркестрация в kubernetes?
В Kubernetes терминът „оркестрация“ се отнася до автоматизираното администриране и координиране на контейнери и ресурсите, към които са свързани. Това включва дейности, включително работа в мрежа, мащабируемост, внедряване и самолечение. Използвайки обекти като подове, услуги и контролери за репликация, Kubernetes организира приложенията.
Капсулите, които могат да държат един или повече контейнери, са най-малките единици за разгръщане. Услугите управляват балансиране на натоварването и откриване на услуги и дават на капсулите солидна крайна точка. Реплика на под винаги работи с необходимия брой копия благодарение на контролерите за репликация.
5. Какво точно представлява Kubernetes клъстер?
Набор от възли, изпълняващи контейнеризирани приложения в различни контексти и машини – базирани на облак, физически, виртуални и локални – съставляват Kubernetes клъстер. Улеснява лесното управление и миграция на приложения, както и тяхното създаване.
6. Как се улеснява внедряването в контейнери от Kubernetes?
Тъй като едно типично приложение ще работи в клъстер от контейнери на много хостове, всички тези контейнери ще трябва да комуникират един с друг.
Така че, за да се постигне това, е необходима широкомащабна система, която може да мащабира, балансира натоварването и да наблюдава контейнерите. Трябва да използвате Kubernetes, за да улесните внедряването в контейнери, тъй като е агностик на облака и може да работи на всеки публичен или частен доставчик.
7. Какви фундаментални разлики съществуват между Kubernetes и Docker Swarm?
Планирайте и групирайте Docker контейнери с Docker Swarm, собствен инструмент за оркестрация на контейнери с отворен код от Docker. Следните характеристики отличават Swarm от Kubernetes:
- Въпреки че Kubernetes и Docker Swarm нямат възможности за автоматично мащабиране, мащабирането на Docker е пет пъти по-бързо от Kubernetes.
- Kubernetes предоставя GUI под формата на табло за управление, но на Docker Swarm липсва такъв.
- В сравнение с Kubernetes, който е по-труден за настройка, но предлага гаранция за силен клъстер, Docker Swarm е по-лесен за инсталиране, но няма стабилен клъстер.
- Докато Kubernetes включва вградени възможности за регистриране и наблюдение, Docker се нуждае от външни инструменти като стека ELK.
- Текущите актуализации могат да бъдат внедрени чрез Docker, но автоматизираните връщания назад не могат; Подвижните актуализации, както и автоматизираните връщания назад могат да бъдат внедрени с помощта на Kubernetes.
8. Какво е пространство от имена в Kubernetes?
Пространството от имена на Kubernetes се използва в среда, в която има няколко потребители, работещи по множество проекти в широка географска област. Пространството от имена разделя ресурсите на клъстера между няколко потребители.
9. Какво точно представлява основният компонент Kubernetes etcd?
Etcd е важна част от главния сървър на Kubernetes. Освен това той служи като център на клъстера Kubernetes, където елементите се съхраняват в разпределено хранилище за ключ-стойност.
Технологията за репликация се използва във връзка с алгоритъм за запазване на данните, записани в etcd между сървърите. При сравняване и размяна на данни между etcd сървъри, оптимистичната валута се използва за минимизиране на ситуациите на заключване и увеличаване на скоростта на сървъра.
10. Какви решения има за сигурност на API на Kubernetes?
Осигуряването на сигурност на API може да се извърши по описания по-долу начин:
- Чрез средства за удостоверяване на API
- Избор на подходящ режим на удостоверяване за режим на удостоверяване на сървъра на API= Възел, RBAC
- Проследяване на RBAC грешки
- Гарантиране, че TLS се използва за защита на трафика
- Използване на authorization-mode=Webhook, за да се гарантира, че Kubeless защитава своя API
- Премахване на разрешенията по подразбиране за акаунт за услуга
- Използване на най-новата версия на kube
- Уверете се, че таблото за управление на kube следва строга политика за RBAC
- Внедряване на политика за сигурност на pod за ограничаване на достъпа до контейнера и защита на възела
11. Какви са разликите между приложенията, разположени на хостове и контейнери?
Операционна система и архитектура съставляват внедрените приложения. Операционната система ще има ядро, което съдържа множество библиотеки, необходими на приложението.
Машина, която изпълнява контейнери за процеси, се нарича хост на контейнер. Тъй като този тип софтуер е различен от другите програми, приложенията трябва да включват необходимите библиотеки. Двоичните файлове не могат да нарушават правата на друг софтуер, тъй като са отделени от останалата част от системата.
12. Какво всъщност имате предвид под Minikube?
С Minikube Kubernetes може лесно да се стартира локално. Това позволява на виртуална машина да хоства Kubernetes клъстер с един възел.
13. Как може да се наблюдава клъстерът Kubernetes?
Работата и състоянието на контейнерите, работещи под Kubernetes, могат да бъдат проследени с помощта на различни методи. Prometheus, един от най-често използваните инструменти, съдържа редица части, които са разбити в разделите по-долу.
- Сървърът Prometheus събира и съхранява данни от времеви серии.
- Той включва клиентски библиотеки, които улесняват инструментирането на кода на приложението.
- Той разполага с push gateway, който може да поддържа временни работни места.
- Има износители със специализирани функции за различни контейнерни услуги, като StatsD, HAProxy, Graphite и др.
- Освен това ще получите мениджър за предупреждения, който да обработва известията на различни системи за поддръжка.
14. Каква функция изпълняват възлите на Kubernetes?
За работата на подовете Node предлага важни функции. Nods, които също са известни като миньони, могат да работят на всеки реален или виртуален компютър в зависимост от клъстера.
В Kubernetes възелът е основният работен компютър, докато главните компоненти наблюдават всеки възел поотделно.
15. Опишете подробно хипстъра.
Heapster комбинира данните в целия клъстер, генериран от Kubelet, който се изпълнява на всеки възел. Този инструмент за управление на контейнери се поддържа първоначално от този клъстер на Kubernetes и функционира като под точно като всеки друг под в клъстера.
По принцип това включва локализиране на всеки възел в клъстера и използване на вграден Kubernetes агент за запитване на данни от Kubernetes възлите на клъстера.
16. Опишете работата на главния възел на Kubernetes.
Главният възел издига управляващите и контролиращите възли на работните възли. Това е подобно на клъстер на Kubernetes. Възлите отговарят за управлението на клъстера, както и за API, използван за конфигуриране и управление на ресурсите на колекцията. Поради предимствата на специалните модули, главните възли на Kubernetes могат да работят заедно със самия Kubernetes.
17. Какво отличава контейнера от капсулата?
Като единица за репликация, Kubernetes използва pod, който е група от контейнери. Контейнерите са колекцията от кодове, които трябва да създаде група за приложение. В рамките на една и съща група контейнерите могат да комуникират помежду си.
18. Какво разбирате под балансиране на натоварването в Kubernetes?
Един от най-разпространените и приети методи за излагане на услугата е балансирането на натоварването. В зависимост от работната среда, балансьорът на натоварването е или вътрешен, или външен балансьор на натоварването.
Докато External Load Balancer насочва трафика от външния товар към backend pods, Internal Load Balancer автоматично балансира натоварването и присвоява на pods необходимата конфигурация.
19. Каква функция изпълнява Kube-API сървърът?
За API обектите този тип проверява и предлага конфигурационна информация. Състои се от контролери за репликация, услуги и подове. Освен това предлага REST операции и интерфейс на клъстера. Всички други компоненти комуникират помежду си чрез това общо състояние на предния клъстер.
20. Какво означават наборите със състояние на Kubernetes?
API обект за работно натоварване, наречен набор със състояние, се използва за управление на приложения със състояние. Използва се за мащабиране на наборите от подове и управление на внедрявания. В дисковото хранилище, което се свързва с набора със състояние, информацията за състоянието и други устойчиви данни на модулите със състояние бяха запазени и поддържани актуални.
21. Как изследвате централните трупи на капсулата?
За извличане на централни регистрационни файлове от модула можете да използвате един от двата стила на регистриране.
- Използвайте регистриращ агент на ниво възел.
- Контейнерът с кош в потока
- Използвайте агента за дърводобив заедно с контейнера на коша.
- Директно експортиране на регистрационните файлове от програмата
22. ClusterIP: Какво е това?
Услугата на Kubernetes по подразбиране, ClusterIP, предлага вътрешна клъстерна услуга (без външен достъп), до която други приложения във вашия клъстер имат достъп.
23. Разкажете ми за контролерите за репликация?
За всички дълго работещи модули контролерите за репликация служат като надзорници. Той гарантира, че необходимият брой подове са активни във всеки един момент и че всеки под или група от подове има последователна структура.
Ако има повече шушулки от планирания брой, излишните шушулки се прекратяват. В допълнение, контролерът незабавно ще замени всички дефектни капсули.
24. Как работи мрежата Ingress и какво представлява?
Потребителите имат достъп до вашите услуги на Kubernetes извън клъстера Kubernetes благодарение на елемент, наречен вход. Чрез установяване на правила, които определят кои входящи връзки достигат до определени услуги, потребителите могат да конфигурират достъпа.
Този API обект предлага правилата за маршрутизиране, необходими за контролиране на начина, по който услугите в клъстера на Kubernetes са достъпни от посетители извън клъстера чрез HTTPS/HTTP. С това потребителите могат да изградят правилата за маршрутизиране на трафика бързо и ефективно, без да се налага да правят няколко балансиращи товара или да излагат всяка услуга на възлите.
25. Prometheus в Kubernetes: за какво е?
Инструментариум с отворен код, наречен Prometheus, се използва за наблюдение и предупреждение на приложението в зависимост от показателите. Той предлага схема за данни и език за заявки и е в състояние да доставя информация за показатели и действия. Той позволява използването на езика за много инструментални цели.
В допълнение към Alertmanager и Grafana, операторът Prometheus предлага лесен мониторинг за внедрявания и услуги на K8s.
26. Какво е услуга без глава?
Услугата без глава е тази, която използва IP адрес, но дава информация за свързани капсули, а не за балансиране на натоварването.
27. Какво ми трябва за локално стартиране на Kubernetes архитектурата?
За интегрирането на Kubernetes няколко локални инфраструктури са претърпели ремоделиране. Експертизата на високо ниво е необходима за интегриране на съхранение, сървъри и мрежи в безпроблемна система.
Изборът на подходящия мрежов и хардуер за съхранение е от съществено значение за Kubernetes, тъй като позволява взаимодействие с ресурси за съхранение, балансьори на натоварването и т.н. Автоматизирането на мрежови компоненти и компоненти за съхранение е ключов компонент на стойностното предложение на Kubernetes.
28. Какво разбирате под Stateful set?
Елементът API за работно натоварване, известен като набор със състояние, се използва за управление на приложения със състояние. Може също да се използва за мащабиране на наборите от подове и управление на внедрявания. Дисковото хранилище, което е свързано към комплекта за състояние, съхранява информацията за състоянието и други данни за модулите за състояние.
29. Какво означават миньоните в Kubernetes?
В Kubernetes възелът се нарича работна машина; преди това беше известно като миньон. Въз основа на клъстер може да бъде виртуален компютър или реална машина.
Всеки възел се управлява от главни компоненти на Kubernetes и съдържа услугите, необходими за работа с подове. Времето за изпълнение на контейнера, kubelet и Kube-прокси са включени в услугите, предлагани от възела.
30. Какви функции изпълняват услугите в рамките на компонентите на Kubernetes?
Чрез предоставянето на виртуалния IP адрес услугата служи като абстракция за подс. Виртуалният IP адрес улеснява потребителските връзки към контейнери, работещи в подове. Това е компонент, който определя как са подредени контейнерите в капсулите.
31. Какво точно е Helm?
Поддържаният от CNF регистър за управление на пакети на приложения Helm е достъпен за Kubernetes. Предварително конфигурираният Хелм диаграми могат да бъдат изтеглени и внедрени във вашата система Kubernetes. Едно от най-популярните решения за управление на пакети за средата Kubernetes е това. Екипите на DevOps могат да внедряват приложения в средите за производство и разработка, да ги правят версии и да проследяват напредъка им, като използват съществуващите диаграми.
32. Обяснете PVC
PVC е акроним за Persistent Volume Claim. Това е хранилище, което Kubernetes поиска за подс. Познаването на потребителя за основното осигуряване не е необходимо. Пространството от имена, където се формира групата и където трябва да се направи това искане, трябва да съвпадат.
Заключение
Въпросите и отговорите на интервюто с Kubernetes са пълни.
Несъмнено има още какво да научите за Kubernetes, авангардната технология, която направи възможно управлението и управлението на хиляди контейнери, но това е солидно място за начало. За помощ при подготовката за интервю вижте Серията интервюта на Hashdork.
Оставете коментар