20 главных вопросов и ответов из интервью Kubernetes, которые вам нужно знать в 2022 году

Опубликовано: 2021-01-04

Kubernetes — один из самых востребованных инструментов оркестровки контейнеров на современном рынке. Эта система, открытая Google в 2014 году, стала фаворитом среди таких компаний, как SoundCloud, SAP, The New York Times, eBay, Huawei и многих других.

Но есть только несколько квалифицированных специалистов, чтобы удовлетворить огромный спрос на сертифицированных специалистов Kubernetes. Более того, современные процедуры отбора рабочих мест придают огромное значение техническим концепциям. Поэтому всегда желательно заранее подготовить ответы на вопросы интервью в Kubernetes .

Основная идея Kubernetes заключается в абстрагировании базовых ресурсов компьютера. Это уводит машины, системы хранения и сети от их физической реализации. Без сомнения, импульс платформы растет. Kubernetes называют облачной операционной системой. Узнайте больше о Kubernetes и его сетях.

Если вы думаете о карьере в этой области, ответьте на вопросы интервью Kubernetes , приведенные ниже. Сделайте первый шаг и ознакомьтесь с основами!

Kubernetes Интервью Вопросы и ответы 2022

1. Дайте определение Kubernetes.

Kubernetes — это гораздо больше, чем платформа контейнеризации. Он автоматизирует задачи развертывания, масштабирования и балансировки нагрузки приложений. Кроме того, этот многоконтейнерный инструмент управления хорошо работает с большинством облачных провайдеров и выигрывает от вклада опытного сообщества открытого исходного кода. Kubernetes написан на языках программирования Go.

2. Перечислите некоторые ключевые функции Kubernetes.

    1. Автоматическое планирование — расширенный планировщик для запуска контейнеров на узлах кластера.
    2. Самовосстановление — можно перепланировать, заменить и перезапустить контейнеры, которые умерли.
    3. Автоматическое развертывание и откат — поддерживает развертывание и откат.
    4. Горизонтальное масштабирование — возможности масштабирования приложений вверх или вниз в соответствии с требованиями.
  1. Перечислите различия между Kubernetes и Docker Swarms.

Docker Swarm — это инструмент для создания контейнеров для управления их жизненным циклом. Kubernetes более обширен, чем Docker Swarm, поскольку он предназначен для организации кластеров и координации кластеров узлов в масштабе. Несмотря на то, что Kubernetes хорошо масштабируется, Docker Swarm масштабируется примерно в пять раз быстрее, чем Kubernetes. Также Docker Swarm выполняет автоматическую балансировку трафика между разными контейнерами, для чего в Kubernetes требуется ручное вмешательство.

Но у Kubernetes есть и другие возможности. Он имеет встроенные инструменты ведения журнала и мониторинга, а также механизм автоматического отката. Docker Swarm не может выполнять автоматический откат и автоматическое масштабирование, как Kubernetes.

4. Чем развертывание приложений на хостах отличается от развертывания в контейнерах?

Когда вы развертываете приложение на хостах, ядро ​​операционной системы позволяет установить на него множество библиотек. Все приложения совместно используют различные библиотеки, присутствующие в этой операционной системе. Однако архитектура развертывания приложений в контейнерах немного отличается.

В контейнерной архитектуре ядро ​​— это единственное общее между приложениями. Другие приложения не могут посягать на библиотеки и двоичные файлы, необходимые одному приложению. Таким образом, они существуют изолированно от остальной системы. Например, если конкретному приложению требуется Python, то только это приложение получит к нему доступ.

5. Что вы понимаете под оркестровкой контейнеров? Зачем тебе это?

Предположим, что у приложения есть 4-5 микросервисов. Теперь эти микросервисы будут в отдельных контейнерах. Таким образом, потребуется оркестрация контейнеров, чтобы службы могли взаимодействовать друг с другом и работать вместе для удовлетворения потребностей сервера. Процесс подобен музыкальному оркестру, где разные инструменты играют в гармонии, чтобы составить композицию.

6. Что такое Кубелет?

Kubelet — это служба агента, которая запускает модули. Под — это не что иное, как группа контейнеров, развернутых на одном хосте или имеющих некоторые общие ресурсы, такие как один IP-адрес, тома и т. д. Кублет работает с описаниями этих контейнеров, представленными в PodSpec. Его основная цель — запустить на каждом узле, убедиться, что контейнеры работоспособны и работают, а также обеспечить связь между главным и рабочим узлами.

Читайте: Full Stack Interview Вопросы и ответы

7. Какова роль кластеров в Kubernetes?

Kubernetes позволяет обеспечить необходимое управление состоянием, предоставляя кластерные службы определенной конфигурации. Затем эти кластерные службы запускают эту конфигурацию в инфраструктуре. В процессе задействованы следующие этапы:

  • Файл развертывания содержит все конфигурации, которые необходимо передать службам кластера.
  • Файл развертывания передается в API.
  • Теперь службы кластера планируют модули в среде.
  • Службы кластеров также гарантируют, что работает нужное количество модулей.

Таким образом, кластер Kubernetes по существу состоит из API, рабочих узлов и процесса Kubelet узлов.

8. Для чего используется Kubectl?

Kubectl — это инструмент для управления кластерами Kubernetes. На самом деле «ctl» означает контроль. Это интерфейс командной строки, который позволяет передавать команды в кластер и управлять компонентом Kubernetes.

9. Определите Google Container Engine.

Google Container Engine (GKE) — это платформа управления, которая поддерживает контейнеры и кластеры Docker, работающие в общедоступных облачных службах Google. Это движок с открытым исходным кодом, основанный на Kubernetes.

10. Объясните использование узлов в Kubernetes.

Узел предоставляет необходимые службы для запуска модулей. Узлы, также известные как миньоны, могут работать на физической или виртуальной машине в зависимости от кластера. В Kubernetes узел является основной рабочей машиной, а главные компоненты управляют каждым узлом в системе.

Теперь, когда вы знакомы с основами, давайте рассмотрим еще несколько вопросов и ответов на интервью с Kubernetes , чтобы внести ясность.

11. Каковы два основных компонента архитектуры Kubernetes?

Главный узел и рабочий узел составляют архитектуру Kubernetes. Оба компонента имеют несколько встроенных сервисов. Например, главный компонент имеет kube-controller-manager, kube-scheduler, etcd и kube-apiserver. На рабочем узле есть такие службы, как среда выполнения контейнера, kubelet и kube-proxy, работающие на каждом узле.

Читайте: Реагируйте вопросы и ответы интервью

12. Определите kube-apiserver и kube-scheduler.

Kube-apiserver — это внешний интерфейс панели управления узла мазера, который предоставляет все API-интерфейсы компонентов. Он устанавливает связь между узлами Kubernetes и главными компонентами. kube-scheduler управляет рабочей нагрузкой рабочих узлов. Он отслеживает использование ресурсов, чтобы гарантировать, что планирование выполняется на подходящих узлах.

13. Кратко объясните роль диспетчера контроллеров Kubernetes.

В Kubernetes на главном узле выполняются различные процессы, и они компилируются вместе в виде диспетчера контроллеров Kubernetes. Это демон, который встраивает контроллеры, в том числе следующие:

  • Контроллер узлов: управляет состоянием, т. е. создает, обновляет и удаляет узлы.
  • Контроллер репликации: поддерживает модули для каждого объекта репликации.
  • Учетная запись службы и контроллер токенов: касается учетных записей по умолчанию и токенов доступа API для новых пространств имен.
  • Контроллер конечной точки: следит за объектами конечной точки (модулями и службами).
  1. Что делает менеджер облачного контроллера?

Cloud Controller Manager (CCM) — это демон, который позволяет внедрять специфические для облака циклы управления. Он абстрагирует облачный код поставщика от основного кода Kubernetes. Он также помогает управлять связью с базовыми облачными службами. Его дизайн основан на механизме плагинов, что означает, что поставщики облачных услуг интегрируют свой код с CCM с помощью плагинов.

15. Какова роль балансировщика нагрузки?

Балансировщик нагрузки обеспечивает стандартный способ распределения сетевого трафика между различными внутренними службами, что обеспечивает максимальную масштабируемость. В зависимости от рабочей среды может быть два типа балансировщика нагрузки — внутренний или внешний.

Внутренний балансировщик нагрузки может автоматически балансировать нагрузку и выделять требуемую конфигурацию модулям. С другой стороны, внешний балансировщик нагрузки направляет внешний трафик нагрузки на внутренние модули. В Kubernetes два метода балансировки нагрузки работают через функцию kube-proxy.

16. Как запустить Kubernetes локально?

Вы можете запускать Kubernetes локально с помощью инструмента Minikube. Он запускает одноузловой кластер внутри виртуальной машины на вашем ноутбуке. Таким образом, это эффективный способ для пользователей, которые только начинают работать и хотят опробовать Kubernetes.

17. Что такое Хипстер?

Heapster — это инструмент для мониторинга производительности и сбора метрик, изначально поддерживаемый кластером Kubernetes. Он работает как любой другой модуль в кластере, обнаруживая все узлы и запрашивая информацию с узлов Kubernetes. Этот инструмент управления контейнерами работает через агента на компьютере.

18. Что такое ETCD в Kubernetes?

Etcd — это хранилище конфигурации, состояния и метаданных кластеров Kubernetes. Он написан на языке программирования Go и представляет состояние кластера в заданный момент времени. Это хранилище данных служит основой распределенных систем.

19. Что вы понимаете под мониторингом ресурсов контейнера?

С точки зрения пользователя жизненно важно понимать использование ресурсов на разных уровнях и уровнях абстракции, таких как контейнерные модули, службы и кластер в целом. Каждый уровень можно контролировать с помощью различных инструментов, а именно:

  • Графана
  • Хипстер
  • InfluxDB
  • CAdvisor
  • Прометей
  1. Как вы можете обеспечить безопасность своей среды при использовании Kubernetes?

Вы можете соблюдать и реализовывать следующие меры безопасности при использовании Kubernetes:

  • Ограничить доступ к ETCD
  • Ограничить прямой доступ к узлам
  • Определить квоту ресурсов
  • Все должно быть зарегистрировано в производственной среде
  • Используйте изображения из авторизованного репозитория
  • Создайте строгие правила и политики для ресурсов
  • Проводите непрерывное сканирование безопасности и уязвимостей
  • Регулярно применяйте обновления безопасности

Получите курс по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Подведение итогов

В этой статье мы рассмотрели основные вопросы интервью в Kubernetes , которые помогут вам реализовать свои карьерные цели. Итак, примите вызов обучения и не забудьте пересмотреть!

Если вы хотите изучить и освоить Kubernetes, DevOps и многое другое, ознакомьтесь с программой Executive PG IIIT-B и upGrad в программе разработки программного обеспечения Full Stack.

Подготовьтесь к карьере будущего

Подать заявку на получение степени магистра в области разработки программного обеспечения