Рубрики
Uncategorized

Docker, Kubernetes и Helm

Фото Ammiel Jr на Unsplash Вы когда -нибудь развернули код из одной среды в другую только для H … Tagged with Docker, DevOps, новички.

Фотография Аммиэль Jr на Неспособный

Вы когда-нибудь развернули код из одной среды в другую только для того, чтобы тратить время на реконфигурирование файлов, повторную загрузку библиотек и перераспределение работы, потому что операционная система или общая среда немного отличались от среды разработки?

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

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

Многое из этого изменилось с популяризацией контейнеров.

Что такое контейнер и контейнеризация?

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

Преимущества контейнеризации

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

  1. Эффективность ресурсов: Основным преимуществом является эффективность ресурсов. Контейнеры не требуют отдельной ОС, поэтому они занимают меньше ресурсов. Некоторые могут утверждать, что контейнер предлагает аналогичные преимущества с виртуальными машинами. Тем не менее, виртуальные машины часто принимают гигабайты с точки зрения размера. Сравните это с контейнером, который обычно находится в диапазоне мегабайтов.
  2. Независимость платформы: Портативность контейнеров также является еще одним огромным преимуществом, поскольку оно завершает все зависимости приложения, поэтому он позволяет легко запускать приложения в разных средах как для общественных, так и для виртуальных серверов. Эта переносимость также позволяет организациям работать с большой гибкостью, поскольку она ускоряет процесс разработки, а также позволяет разработчикам легко переключаться на другие облачные среды.
  3. Эффективный обмен ресурсами: Хотя контейнеры работают на одном и том же сервере и делятся одними и теми же ресурсами, они не общаются друг с другом. Следовательно, если одно приложение сработает, другое будет продолжать безупречно работать. Это эффективное распределение ресурсов, но изоляция при работе между приложениями приводит к снижению рисков безопасности, поскольку любые негативные последствия одного приложения не распространяются на другие работающие контейнеры.
  4. Предсказуемая среда: Контейнеры позволяют разработчикам создавать прогнозируемые среды, которые изолированы из других приложений. Следовательно, контейнеризация позволяет программистам выполнять согласованность в работе, независимо от того, где приложение развернуто.
  5. Гладкое масштабирование: Еще одним важным преимуществом контейнеров является горизонтальное масштабирование. При работе с кластерной средой вы можете добавить идентичные контейнеры для масштабирования всего процесса. С помощью процедур Smart Scale вы можете запускать контейнеры в режиме реального времени и резко снизить затраты на ресурсы. Это также ускоряет вашу доходность инвестиций при работе с контейнерами. До сих пор эта функция используется крупными поставщиками, такими как Twitter Netflix и Google.

Эволюция управления контейнерами от Docker до Шлем

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

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

Докер

Вы не можете говорить о контейнерах, не поднимая Docker.

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

Теперь на докер.

Docker-это проект с открытым исходным кодом, основанный на контейнерах Linux. Этот контейнерный двигатель разработан на DotCloud. Docker позволяет разработчикам возможность больше сосредоточиться на написании кода, не беспокоясь о системе, в которой будет запущена приложение.

Docker имеет клиентскую сервер-архитектуру. Это означает, что сервер Docker отвечает за все действия, связанные с контейнерами. Этот сервер получает команды через Docker Client, используя REST API или CLI.

Команды, такие как » Docker Run » или » Docker Build «.

Есть дальнейшие нюансы, которые стоит посмотреть. Мы бы порекомендовали прочитать изображение Docker от Stackify против контейнера, так как оно очень хорошо охватывает некоторые из них.

Изображение Docker против контейнера: все, что вам нужно знать

Kubernetes

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

Система Kubernetes встроена в форме слоев — с каждым абстрагированием слоя, обнаруженной на более низких уровнях. Начнем с того, что базовый слой привносит виртуальные и физические машины в кластер через общую сеть. Здесь один из серверов функционирует как Master Server и выступает в качестве шлюза, чтобы выявить API для клиентов и пользователей.

Отсюда есть и другие машины, которые действуют как узлы, которые получают инструкции от Мастера о том, как выполнять различные рабочие нагрузки. Каждый узел должен иметь какую -то форму программного обеспечения для контейнеров, работающих на нем, чтобы убедиться, что он может должным образом следовать инструкциям, предоставленным из главного узла. Чтобы получить действительно хорошее понимание по этой теме Digital Ocean еще более подробно рассказывает о теме Анкет Вы также можете пройти бесплатный курс от Google Cloud на Coursera.

Шлем

Хелм, сам по себе является диспетчера пакетов приложений, который можно использовать для запуска на Kubernetes. Эта программа позволяет описать структуру приложения через Helm-диаграммы, поскольку ее можно управлять простыми командами. Helms-это радикальный сдвиг, поскольку он переопределяет, как серверные приложения управляются, хранятся или даже определены. Этот менеджер упрощает массовое внедрение микро -сервисов, чтобы вы могли использовать несколько мини -сервисов вместо монолитного приложения. Кроме того, вы можете составить новые приложения из существующих слабо связанных микро служб.

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

Как это работает?

Группы руководителей логические компоненты приложения в «диаграмму», чтобы вы могли развернуть и поддерживать их удобно в течение длительного периода времени. Каждый раз, когда диаграмма развертывается в кластере, компонент на стороне сервера создает свой выпуск. Этот релиз отслеживает развертывание приложений с течением времени. С Helm вы можете развернуть практически все практически-от Redis Cache до сложных веб-приложений.

Вывод:

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

Дайте мне знать свои мысли ниже.

10 отличных курсов для AWS, Azure и GCP

5 технологий AWS, которые облегчат вашу жизнь

Воздушный поток Airbnb Vs. Spotify’s Luigi

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

10 лучших советов по внедрению бизнес -аналитики (BI)

5 отличных инструментов больших данных для будущего-от Hadoop до Cassandra

Изучение науки о данных: наши любимые ресурсы бесплатно или нет

Оригинал: «https://dev.to/seattledataguy/docker-kubernetes-and-helm-3ioa»