
This lecture gives an overview of the contents of the course and the knowledge, skill and computer requirements.
Get to know the instructor, Samuli Seppänen.
Get to know the instructor, Ricky Cousins.
This lecture discusses the impact of Hashicorp's switch to the non-open source BSL v1.1 license for Packer and their other software. We also briefly touch upon the potential impact of the IBM acquisition of Hashicorp and what that might mean for Packer.
In this lecture we explain cloud-init in detail. This includes concepts of data sources, cloud metadata, user data formats, module, boot stages and execution phases. We also give an overview of what cloud-init modules are available and what they can be used for.
In this lecture we show how to make configuration changes to a Linux system with cloud-init. We do this by modifying cloud-init configuration files and applying the changes with the cloud-init command-line tool.
In this lecture we give an overview of Ubuntu autoinstall. We show how it works, what configurations can and should be done with it. We explain the difference between autoinstall and cloud-init and how the latter complents the former. We also show where you can get an autoinstall file to use as a starting point for your own installation automation.
In this lecture we introduce Kickstart, Red Hat's installation automation technology. We describe the basic structure of a kickstart file. We go through the most important kickstart commands and sections that you can use to automate installation of Red Hat-based operating systems.
In this lecture we give a high-level overview of Packer, QEMU and machine images. We talk about when and why you might want to create VM images. We also explain why Packer is a good choice for automating the VM image creation process in a sustainable way.
In this lecture we give an overview of how the Packer QEMU plugin works.
In this lecture we have a look at the autoinstall file that gets generated when you install Ubuntu 24.04 manually. We review its contents and give advise as to which parts you can keep as-is and which you should change.
In this demo we build a Ubuntu 24.04 virtual machine image. First we review the Packer code and then run the operating system installation and see Packer, QEMU and Ubuntu autoinstall in action.
In this lecture we hake a look at the kickstart file that the Red Hat anaconda installer creates at the end of the installation. We look at it looks like and what changes might be needed to make it useful for general-purpose installation automation.
In this lecture we go through a customized kickstart file that can be used to automate Rocky Linux 9 installations. We explain what each section does and what selections you might want to make in each section.
In this lecture we review a Packerfile that automates the installation of a Rocky Linux 9 system.
In this demo we build a Rocky Linux 9 virtual machine image and see Packer, QEMU and kickstart in action.
In this lecture we demonstrate the use of guestmount, a tool that can be used to mount virtual machine disk images. The main benefit of using guestmount is image development speed: you don't need to wait for the image to upload to a Cloud to be able verify it contents. Instead, you mount the disk image locally, have a look and can spot most issues very quickly.
In this lecture we show a so-called second stage Packerfile that takes a previously created Ubuntu 24.04 disk image as its input and runs AWS-specific provisioning scripts on it. We also have a look at what changes the provisioning scripts make on the system. As the last step we run Packer to generate a VM image suitable for import into AWS EC2.
In this lecture we show a so-called second stage Packerfile that takes a previously created Rocky Linux 9 disk image as its input and runs AWS-specific provisioning scripts on it. We also have a look at what changes the provisioning scripts make on the system. As the last step we run Packer to generate a VM image suitable for import into AWS EC2.
In this demo we show how to install AWS CLI on Linux. It is needed for creating an IAM role for VM Import Export and for importing your disk images into AWS EC2.
In this lecture we show how to create an IAM role for AWS VM Import Export service using AWS CLI. The IAM role is then granted permission to upload disk images into AWS S3 buckets.
In this lecture we show how to use AWS CLI to upload your disk image to AWS S3 and then convert it to an AMI.
In this lecture we show how to use the AWS Console to create a new virtual machine from your custom AMI image.
In this lecture we show a so-called second stage Packerfile that takes a previously created Ubuntu 24.04 disk image as its input and runs a bunch of Azure-specific provisioning scripts on it. We have a look at what changes the provisioning scripts make on the system. As the last step we run Packer to generate a VM image suitable for import into Microsoft Azure.
In this lecture we show a so-called second stage Packerfile that takes a previously created Rocky Linux 9 disk image as its input and runs a bunch of Azure-specific provisioning scripts on it. We have a look at what changes the provisioning scripts make on the system. As the last step we run Packer to generate a VM image suitable for import into Microsoft Azure.
In this lecture we show how to install the cross-platform Powershell on Linux. It is needed later when we upload VM disk images into Microsoft Azure.
In this lecture we go through the shell script we use to resize our disk image so that it matches Microsoft Azure's expectations. We also convert the disk image into a format that can be used on Azure.
In this lecture we show how the disk image upload script for Microsoft Azure works. It also creates a Managed Disk out of the disk image - this is required to create virtual machines. The script depends on Powershell which we installed in an earlier lecture.
In this demo we upload a VM image into Microsoft Azure using the upload script we reviewed earlier.
In this demo we use Azure Portal to create an Azure virtual machine image from a managed disk we created earlier.
In this course you will learn how to create virtual machine disk images automatically with Packer, QEMU, autoinstall, kickstart and cloud-init. You will also learn how what changes you need to make to the vanilla operating system installations to make the images suitable for use AWS and Azure. Finally you will be able to convert, upload and import your disk images to AWS and Azure and to create virtual machines out of them.
This course includes a comprehensive review of the technologies used in addition to practical demos. The whole deployment chain from "automatically install an operating system" to "create a VM from a custom VM image in a Cloud" is very complex. This is particularly true for Microsoft Azure and using a Red Hat or a clone such as Rocky Linux 9 makes things even more complex. But fear not - this course provides an integrated suite of tested automation code that we have developed and provide for free for you, the student.
NOTE: this course does not cover the basics of Packer. Instead, we assume the student already has a fair amount Packer experience. This is intentional: there are other courses about Packer on Udemy which fill that gap well.
This is our first video course so we appreciate if you can provide constructive feedback - this way we can improve the course for you and all future students. We would like to, for example, cover Debian along with its preseed technology, but are not sure if there's much demand for it. So your voice matters!