От изображения Docker до облака за секунды
Инфраструктура стала безумно сложной. Традиционные решения для развертывания контейнеров, такие как Kubernetes и ECS, по сути, оставляют вас с контейнерами, требующими их собственного обеспечения, масштабирования и сети при запуске в пуле виртуальных машин, также имеющих свое собственное отдельное обеспечение, масштабирование и общение. Этот устаревший слой кодекса вырос из того факта, что виртуальные машины исторически были гораздо сложнее обеспечить, чем контейнеры.
Больше не надо. С помощью VMIFY изображения виртуальных машин создаются в считанные секунды с одной командой, что позволяет вам покончить с этим устаревшим кодексом, в то же время делает вашу инфраструктуру проще, более надежной и безопасной.
Vmify берет ваши изображения Docker и собирает их в минимальные, безопасные и полностью запеченные AWS AMIS за считанные секунды.
Все, что нужно, это одна простая команда:
$ vmify hello-world

Затем вы можете интегрировать этот AMI в существующую инфраструктуру в качестве процессов развертывания кода с использованием облачной информации и терраформ. Или вы можете просто запустить экземпляры, основываясь на нем, используя AWS Autoscaling Groups, API EC2 RunInSstances или консоль AWS.
Vmify компилирует ваше изображение Docker в машинном изображении, объединив его с Vmify Nanoos, ультра-минимальной в Memory Linux OS. Это позволяет образу Docker загружаться непосредственно на виртуальном оборудовании EC2.
Vmify Nanoos состоит только из ядра Linux и ультра-минимальной системы Init в памяти весом всего 1 МБ. Все, что он делает, это загружает необходимые драйверы для текущей машины, настройте демон ACPI, чтобы отреагировать на события перезагрузки и мощности и включить синхронизацию часов на основе NTP для предотвращения дрейфа тактовой частоты. После этого он передает элемент управления в ваш контейнерный изображение, загружая его из раздела диска только для чтения и запуская свою точку входа и CMD в ограниченной среде Chroot.
Нет никакого обеспечения времени выполнения, и на борту нет Docker Daemon, поскольку изображение уже полностью поддерживается. Экземпляры загружаются мгновенно и гарантированно будут на 100% идентичны каждый раз.
Вся система имеет гораздо меньше движущихся частей. Весь доступ к диску только для чтения, гарантируя, что объем никогда не изменяется. Записи обрабатываются наложением TMPFS с настраиваемым количеством пространства свопа, живущим в отдельном эфемерном томе, стерпевшем при каждом багажнике.
Чтобы начать, все, что вам нужно, - это пользователь IAM со следующей политикой:
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Sid" : " vmify " ,
"Effect" : " Allow " ,
"Action" : [
" ebs:StartSnapshot " ,
" ebs:PutSnapshotBlock " ,
" ebs:CompleteSnapshot " ,
" ec2:DescribeSnapshots " ,
" ec2:RegisterImage "
],
"Resource" : " * "
}
]
} Добавьте учетные данные пользователей в новый раздел [vmify] в ~/.aws/credentials (тот же файл, который используется CLI AWS):
[vmify]
aws_access_key_id = AKIAXXXXXXXXXXXXXXXX
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxНаконец, убедитесь, что у вас есть
VMify 0.0.2 Pre-release
From Docker Image to Cloud in Seconds
Usage:
vmify [args] image
AWS credentials are retrieved from the [vmify] profile in ~/.aws/credentials
Examples:
vmify nginx
vmify -d -r=us-east-1 -s:dev.hpet.max-user-freq=64 -s:vm.panic_on_oom=0 nginx:latest
Params:
image The Docker image to compile into an AMI
Args:
-q Quiet mode: only print AWS AMI id upon completion
-t Timings displayed in output
-d Debug output turned on during boot
-b reBoot instead of terminating upon entrypoint exit
-a=arch Arch for the image (x64 or arm64, default: current cpu arch)
-r=region Region in AWS to use (default: us-east-1)
-w=number sWap size (in GiB) to use, 0 to disable swap (default: 1)
-k=args Kernel arguments
-s:key=val Sysctl to set with this value
-h or -? Show this help message
Vmify работает со следующими регионами AWS:
af-south-1 , AP ap-east-1 , ap-northeast-1 , ap-northeast-2 , ap-northeast-3 , AP ap-south-1 ,
ap-southeast-1 , ap-southeast-2 , ap-southeast-3 , ca-central-1 , eu-central-1 ,
eu-north-1 , eu-south-1 , eu-west-1 , eu-west-2 , eu-west-3 , me-south-1 , sa-east-1 ,
us-east-1 , us-east-2 , us-west-1 , us-west-2
AMIS, созданная VMIFY, совместимы со следующими типами экземпляров:
t3 , t3a , m6i , m5 , m5a , m5n , m5zn , c6i , c6a , c5 , c5a , c5n , r5 , r5b , r5a , r5n
t4g , m6g , c6g , c6gn , r6g