Учебник по Kubernetes - полное руководство по Kubernetes



Этот блог на Kubernetes Tutorial познакомит вас со всеми концепциями системы оркестровки контейнеров на практике.

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

В этом руководстве будут рассмотрены следующие темы:





Теперь, прежде чем двигаться дальше в этом блоге, позвольте мне кратко рассказать вам о контейнеризации.

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



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

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



Учебное пособие по Kubernetes: проблемы без оркестрации контейнеров

Проблемы без оркестрации контейнеров - Учебник по Kubernetes - Edureka

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

Теперь, чтобы не настраивать сервисы вручную и не преодолевать трудности, нужно было что-то большое. Здесь на сцену выходит Container Orchestration Engine..

как сканировать символ в Java

Этот механизм позволяет нам организовать несколько контейнеров таким образом, чтобы все базовые машины были запущены, контейнеры были исправны и распределены в кластерной среде. В современном мире таких двигателей в основном два: Губернаторы & Докер Рой .

Учебник Kubernetes: Kubernetes против Docker Swarm

Губернаторы и Докер Рой являются ведущими инструментами оркестровки контейнеров на современном рынке. Поэтому, прежде чем использовать их в продукте, вы должны знать, что именно они и как работают.

Далее в блоге я собираюсь глубоко погрузиться в Kubernetes, но чтобы узнать о Docker, вы можете нажать .

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

Что ж, ребята, это не единственные различия между этими лучшими инструментами. Если вы хотите узнать подробные различия между обоими этими инструментами оркестровки контейнеров, вы можете нажать

Хотите узнать больше о Kubernetes?

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

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

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

Учебник Kubernetes: Что такое Kubernetes?

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

Учебник Kubernetes: Возможности Kubernetes

Особенности Kubernetes следующие:

  • Автоматизированное планирование: Kubernetes предоставляет расширенный планировщик для запуска контейнера на узлах кластера в зависимости от требований к ресурсам и других ограничений, не жертвуя при этом доступностью.
  • Возможности самовосстановления: Kubernetes позволяет заменять и перенастраивать контейнеры, когда узлы умирают. Он также уничтожает контейнеры, которые не реагируют на пользовательскую проверку работоспособности, и не рекламирует их клиентам, пока они не будут готовы к работе.
  • Автоматическое развертывание и откат: Kubernetes вносит изменения в приложение или его конфигурацию, отслеживая работоспособность приложения, чтобы гарантировать, что оно не уничтожит все ваши экземпляры одновременно. Если что-то пойдет не так, с Kubernetes вы можете откатить изменение.
  • Горизонтальное масштабирование и балансировка нагрузки: Kubernetes может увеличивать и уменьшать масштаб приложения в соответствии с требованиями с помощью простой команды, с использованием пользовательского интерфейса или автоматически в зависимости от использования ЦП.

Учебник Kubernetes: Архитектура Kubernetes

Архитектура Kubernetes состоит из следующих основных компонентов:

  • Мастер-узлы
  • Рабочие / ведомые узлы

Я собираюсь обсудить каждую из них по очереди. Итак, сначала давайте начнем с понимания Главный узел .

Главный узел

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

Как вы можете видеть на приведенной выше диаграмме, главный узел имеет различные компоненты, такие как сервер API, диспетчер контроллеров, планировщик и ETCD.

  • Сервер API: Сервер API - это точка входа для всех команд REST, используемых для управления кластером.
  • Менеджер контроллера: Демон, который регулирует кластер Kubernetes и управляет различными непрерывными циклами управления.
  • Планировщик: Планировщик планирует задачи подчиненным узлам. Он хранит информацию об использовании ресурсов для каждого подчиненного узла.
  • ETCD: ETCD - это простое, распределенное и последовательное хранилище ключей и значений. В основном он используется для общей конфигурации и обнаружения служб.

Рабочие / ведомые узлы

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

Как вы можете видеть на приведенной выше диаграмме, рабочий узел имеет различные компоненты, такие как Docker Container, Kubelet, Kube-proxy и Pods.

  • Контейнер Docker: Docker работает на каждом из рабочих узлов и запускает настроенные модули.
  • Кубелет: Kubelet получает конфигурацию Pod-модуля с сервера API и гарантирует, что описанные контейнеры запущены и работают.
  • Прокси Кубы: Kube-proxy действует как сетевой прокси и балансировщик нагрузки для службы на одном рабочем узле.
  • Стручки: Pod - это один или несколько контейнеров, которые логически работают вместе на узлах.

Если вам нужно подробное объяснение всех компонентов архитектуры Kubernetes, вы можете обратиться к нашему блог на

Хотите пройти сертификацию в Kubernetes?

Учебник Kubernetes: Пример использования Kubernetes

Y аху! ЯПОНИЯ является поставщиком веб-услуг со штаб-квартирой в Саннивейл, Калифорния. Поскольку компания стремилась виртуализировать оборудование, компания начала использовать OpenStack в 2012 году. Их внутренняя среда изменилась очень быстро. Однако из-за прогресса облачных и контейнерных технологий компания хотела, чтобывозможность запускать сервисы на различных платформах.

Проблема: Как создать образы для всех необходимых платформ из одного кода приложения и развернуть эти образы на каждой платформе?

Для лучшего понимания см. Изображение ниже. Когда код изменяется в реестре кода, то с помощью инструментов непрерывной интеграции создаются голые образы, контейнеры Docker и образы виртуальных машин, которые помещаются в реестр образов и затем развертываются на каждой платформе инфраструктуры.


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

Экземпляры OpenStack используются с Docker, Kubernetes, Calico и т. Д. Поверх них для выполнения различных операций, таких как создание сети контейнеров, реестр контейнеров и т. Д.

Когда у вас несколько кластеров, становится сложно ими управлять, верно?

Таким образом, они просто хотели создать простой базовый кластер OpenStack, чтобы обеспечить базовую функциональность, необходимую для Kubernetes, и упростить управление средой OpenStack.

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


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

Вот как, ребята, Yahoo! ЯПОНИЯ создали цепочку инструментов автоматизации для развертывания кода «одним щелчком мыши» в Kubernetes, работающем на OpenStack, с помощью Google и Солинея .

Учебное пособие для губернаторов: практическое применение

В этом практическом занятии я покажу вам, как создать развертывание и службу. Я использую экземпляр Amazon EC2, чтобы использовать Kubernetes. Что ж, Amazon придумал Amazon Elastic Container Service для Губернаторы (Amazon EKS) , что позволяет им очень быстро и легко создавать кластеры Kubernetes в облаке. Если вы хотите узнать об этом больше, вы можете обратиться к блогу

сертификат аспиранта против магистра

Шаг 1: Первый создать папку внутри которого вы создадите свое развертывание и сервис. После этого воспользуйтесь редактором и открыть файл развертывания .

mkdir hands на cd hands на vi Deploy.yaml

Шаг 2: Открыв файл развертывания, укажите все спецификации приложения, которое вы хотите развернуть. Здесь я пытаюсь развернуть httpd применение.

apiVersion: apps / v1 # Определяет тип версии API: Deployment # Параметр Kinds определяет, какой это тип файла, здесь это метаданные развертывания: name: dep1 # Сохраняет имя спецификации развертывания: # В разделе Specifications вы указываете все спецификации для реплик развертывания: 3 # Количество реплик будет 3 selector: matchLabels: app: httpd # Имя ярлыка, по которому будет выполняться поиск, - это httpd template: metadata: labels: app: httpd # Имя шаблона будет httpd spec: # Под Спецификации, вы указываете все спецификации контейнеров контейнеров: - name: httpd # Имя контейнеров будет httpd image: httpd: latest # Образ, который необходимо загрузить, это httpd: latest ports: - containerPort: 80 # Приложение будет выставлен на порт 80

Шаг 3: После того, как вы напишете файл развертывания, примените развертывание с помощью следующей команды.

kubectl apply -f Deploy.yaml

Здесь -f - имя флага, используемое длятон файлимя.

Шаг 4: Теперь, после применения развертывания, получите список запущенных модулей.

kubectl get pods -o wide

Здесь -o wide используются, чтобы узнать, на каком узле выполняется развертывание.

Шаг 5: После того, как вы создали развертывание, теперь вам нужно создать службу. Для этого снова воспользуйтесь редактором и откройте пустой оказание услуг. yaml файл .

vi service.yaml

Шаг 6: После открытия служебного файла укажите все спецификации службы.

apiVersion: v1 # Определяет тип версии API: Параметр Service #Kinds определяет, какой это тип файла, здесь это Метаданные службы: name: netsvc # Сохраняет имя спецификации службы: # В разделе Спецификации вы указываете все спецификации для типа службы: NodePort selector: app: httpd ports: -protocol: TCP port: 80 targetPort: 8084 # Target Port number is 8084

Шаг 7: После того, как вы напишете свой служебный файл, примените служебный файл с помощью следующей команды.

kubectl apply -f service.yaml

Шаг 8: Теперь, когда ваша служба применена, чтобы проверить, запущена ли служба или нет, используйте следующую команду.

kubectl получить svc

Шаг 9: Теперь, чтобы увидеть спецификации сервиса и проверить, какая это конечная точка.привязан к, используйте следующую команду.

kubectl описать SVC

Шаг 10: Теперь, поскольку мы используем экземпляр amazon ec2, для получения веб-страницы и проверки вывода используйте следующую команду.

curl ip-адрес

Если вы нашли этот блог учебника Kubernetes релевантным, ознакомьтесь с от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру.

Есть вопрос к нам? Пожалуйста, укажите это в комментариях к ' Учебник Kubernetes »И я вернусь к вам.