Изоляция и облако

Изоляция и облако

Виртуализация и контейнеры

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

Аудитория
Новички, разработчики и обучающиеся облачным технологиям
Время чтения
15 мин

Виртуальные машины

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

Виртуальные машины отлично подходят для изучения установки Linux, тестирования настроек сервера, изоляции рискованных экспериментов и запуска различных операционных систем на одной машине.

Containers

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

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

Основы Докера

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

Linux занимает центральное место в Docker, поскольку функции изоляции контейнеров исходят из ядра Linux. Docker Desktop в системах, отличных от Linux, скрыто использует виртуальную машину Linux для контейнеров Linux.

Хост против гостя и облегченная изоляция

Хост против гостя и облегченная изоляция
ConceptВиртуальная машинаContainer
KernelГость имеет собственное ядроРазделяет ядро ​​хоста
StartupСапоги как машинаНачинается как процесс
IsolationБолее строгая граница на аппаратном уровнеУпрощенный процесс и граница пространства имен
UseРазличные ОС, полные тесты системыРазвертывание приложений, услуги, CI

Где Linux вписывается в облачную инфраструктуру

Облачные платформы используют огромное количество Linux: виртуальные машины, хосты контейнеров, узлы Kubernetes, маршрутизаторы, системы хранения, CI-работники, бессерверные среды выполнения и базы данных.

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