Kubernetes — самое популярное программное обеспечение с открытым исходным кодом, которое автоматизирует процессы разработки контейнеров. Согласно ежегодному исследованию Cloud Native Computing Foundation (CNCF), 96% организаций либо используют K8, либо рассматривают возможность их использования. Если внимательно следить, 5,8 миллиона разработчиков по всему миру используют Kubernetes, а это 31% разработчиков серверной части по всему миру.
Его предпочитают из-за его способности использовать технологии за счет улучшенной масштабируемости, доступности и короткого времени развертывания. В то время как многие разработчики начинают свой путь создания контейнеров с помощью Docker (комплексного инструмента, использующего CLI для взаимодействия с контейнерами по одному), K8s предоставляет вам абстракции высокого уровня, позволяющие определять приложения и их инфраструктуру с помощью схем, которые вы можете сотрудничать.
Если вы новичок в Kubernetes, эта статья специально разработана, чтобы помочь вам пройти вводную часть и поделиться идеями, которые помогут вам начать работу. Вы узнаете, как K8s может помочь вам как разработчику в улучшении ваших цифровых продуктов.
Содержание
ToggleKubernetes — это механизм координации (фреймворк) с открытым исходным кодом, используемый для автоматизации развертывания, масштабирования и управления контейнерными приложениями; это включает в себя обеспечение предсказуемости и доступности.
Проще говоря, давайте подумаем о приложении, которое вы поместили в контейнер. Чтобы обслуживать пользователей вашего приложения, вам необходимо запустить несколько контейнеров. Беспокойство возникает, когда вам нужно управлять этими контейнерами. Контейнеры не обязательно могут находиться на одной машине, что усложняет задачу. Итак, каково решение этой проблемы?
Kubernetes приходит вам на помощь, предоставляя эффективный способ беспрепятственного управления всеми этими процессами. Хотя вы можете сравнить K8 с контейнерным движком, таким как Docker, на самом деле это оркестратор контейнеров. Как начинающему разработчику, вам не нужно беспокоиться о том, как K8s осуществляет оркестровку. Скорее всего, вы не будете настраивать кластер K8s для своего приложения; подробнее об этом в ближайшее время.
Однако вы будете взаимодействовать с кластерами, созданными вашей инфраструктурной командой. Очень важно ознакомиться с объектами, с которыми вы будете взаимодействовать. Но прежде чем сделать это, вам потребуется глубокое понимание его архитектуры, чтобы понять, что происходит под ним.
Kubernetes имеет несколько функций с широким спектром возможностей для запуска контейнеров и другой связанной инфраструктуры. Вот список:
По своей сути архитектура Kubernetes состоит из одного главного узла и двух рабочих узлов. Главный узел вызывает выстрелы в кластере, а рабочие (подчиненные) узлы запускают приложения по решению главного узла.
Вот дальнейшая разбивка.
Главный узел диктует состояния кластера и определяет действия каждого конкретного узла. Для настройки главного узла требуется несколько процессов.
На каждом подчиненном узле установлены три узловых процесса, которые позволяют K8 взаимодействовать с ним и отдельно запускать модули внутри каждого узла. Необходимые процессы:
Хотя контроль доступа API может отклонять модули или добавлять дополнительные ограничения, окончательным утверждением того, какие модули выполняются на конкретном узле, является kubelet, а не планировщики или наборы демонов. Подводя итог, кубелецы взаимодействуют с узлом и контейнером. Он также принимает файлы конфигурации и запускает модули с использованием среды выполнения контейнера.
Контейнеризация предполагает виртуализацию всех необходимых частей программного приложения в одно целое. Под контейнерами находится коллекция библиотек, двоичных файлов и всех необходимых конфигураций приложений. Но они не включают ресурсы ядра или виртуализированное оборудование.
В конечном счете, запускайте среду выполнения контейнера «поверх», описывающую ресурсы. Поскольку контейнеры включают в себя только базовые компоненты и зависимости приложений, они легкие и, следовательно, быстрее, в отличие от других виртуальных машин.
Я потратил так много времени на теоретические исследования; раздел каскадирования будет тактическим и потребует некоторого практического опыта работы с контейнерами. В этом руководстве особенно рассматривается установка в операционной системе Windows.
Существует несколько способов установки при использовании Windows; вы можете выбрать командную строку или графический интерфейс пользователя. Тем не менее, вы должны убедиться, что вы соответствуете следующим обязательным спецификациям.
Вашему оборудованию необходим главный узел с объемом памяти не менее 2 ГБ и 700 МБ для рабочего узла. Что касается требований к программному обеспечению, Hype-v, Docker для настольных компьютеров, уникальный Mac-адрес и уникальный UUID продукта для каждого узла. Вот пошаговый подход.
Hyper-V — это программное обеспечение для виртуализации Windows по умолчанию. По сути, это VirtalBox на стероидах. Он позволяет вам управлять виртуальными машинами через графический интерфейс Microsoft или командную строку. Чтобы включить Hyper-V, выполните следующие действия.
Иногда ваш компьютер может перезагружаться несколько раз, чтобы убедиться, что все настроено правильно. Вы можете проверить успешность установки, введя следующую команду в Power Shell.
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V
Убедитесь, что ваш экран заполнен состоянием 'enabled
‘.
Как вы узнали, K8s — это инструмент оркестровки контейнеров, построенный на базе контейнеров; в этом случае Docker — хороший выбор. K8s взаимодействует с Docker и управляет всем на уровне предприятия. Начните двигаться вперед, загрузив Docker для Windows. Если вам интересно, почему необходимо использовать Docker Desktop, он предпочтителен для упрощения разработки, доставки и запуска докеризованных (контейнерных) приложений.
Это также самый быстрый способ создания приложений Docker в Windows с использованием Hyper-V и сети. После успешной установки Docker всегда доступен на любом работающем терминале. Подробное руководство по установке можно найти в официальной документации Docker. Если после установки у вас возникнут какие-либо проблемы, например скрытые значки, проблему можно решить, перезагрузив компьютер.
Графический интерфейс Docker позволяет настраивать параметры, устанавливать и включать Kubernetes. Чтобы установить K8s, выполните следующие действия.
Затем Docker установит некоторые дополнительные пакеты и зависимости. Процесс занимает около пяти-десяти минут, в зависимости от скорости вашего интернета. Вы можете использовать приложение Docker, чтобы убедиться, что все работает правильно.
Поскольку приложения Kubernetes можно развертывать с помощью CLI, вам может потребоваться установить панель управления K8s, поскольку она не установлена по умолчанию. Установите панель мониторинга, выполнив следующие действия.
. Kubectl apply -f .\recommended.yaml
.kubectl.exe get -f .\recommended.yaml.txt
.Чтобы получить доступ к панели мониторинга, выполните следующую команду в Power Shell (не CMD)
((kubectl -n kube-system describe secret default | select-string “token:”) – split “+”)[1]
kubectl proxy
.http://localhost:8001/api/v1/namspaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
.Если вы это сделали, браво, на вашем экране должна появиться панель управления K8s. Теперь вы можете управлять своими приложениями, не выполняя тяжелую работу с помощью CLI.
Также читайте: Как установить Kubernetes на Ubuntu 18.
Если вы выполнили эти действия, вы должны были успешно установить Kubernetes на свой хост. Затем выполните следующие действия, чтобы создать и выполнить простое управление в своем кластере:
Хотя это всего лишь обзор процесса создания кластера, он включает в себя множество шагов, включающих несколько команд. Вот официальное руководство по документации о том, как создавать кластеры перед развертыванием. Это должна быть ваша направляющая рука.
Наиболее распространенной командой при использовании K8s является kubectl action resource
, которая позволяет выполнять определенные действия, например создание или удаление указанного ресурса.
Если вы застряли, вы можете использовать --help
после определенной подкоманды, чтобы получить дополнительную информацию.
Например, Kubernetes get nodes --help
. Разверните свое первое приложение K8s с помощью этой kubectl create deployment Kubernetes-bootcamp –image=gcr.io/google-samples/Kubernetes-bootcamp:v1
команды.
Это руководство стало отправной точкой в технологию Kubernetes. Вы узнали о преимуществах, функциях и архитектуре Kubernetes. К счастью, вам, возможно, пришлось обратиться к нескольким указателям (внешним ресурсам), чтобы начать работу; он объяснил, как все работает под капотом.
Хотя новичку может показаться сложным освоить весь стек технологий, этот пост стал для вас простым руководством, которое поможет вам начать работу с K8s. Вам понадобится немного практики, чтобы уверенно использовать эту технологию, поэтому я отсылаю вас к официальной документации Kubernetes в качестве параллельного справочника. Чем больше у вас практики, тем быстрее вы станете экспертом по K8.