diff --git a/docs/best-practices/computing/image-management-service/creating-a-linux-Image-using-virtualBox-and-an-iso-file.mdx b/docs/best-practices/computing/image-management-service/creating-a-linux-Image-using-virtualBox-and-an-iso-file.mdx new file mode 100644 index 000000000..44d7fb29b --- /dev/null +++ b/docs/best-practices/computing/image-management-service/creating-a-linux-Image-using-virtualBox-and-an-iso-file.mdx @@ -0,0 +1,560 @@ +--- +id: creating-a-linux-Image-using-virtualBox-and-an-iso-file +title: Creating a Linux Image Using VirtualBox and an ISO File +tags: [ims, virtualbox] +--- + +# Creating a Linux Image Using VirtualBox and an ISO File + +[VirtualBox](https://www.virtualbox.org/) is free, open-source virtualization software. It was first offered by InnoTek GmbH from Germany and re-branded as Oracle VM VirtualBox when InnoTek was acquired by Oracle Corporation. + +For more information about VirtualBox, visit the Oracle official website. Click [here](https://www.virtualbox.org/wiki/Guest_OSes) to see the guest OSs that can work with VirtualBox. + +You can use a 32-bit or 64-bit Linux guest OS provided by VirtualBox to create an image file in VHD format. +The following figure shows how to use VirtualBox to create an image from an ISO file. + +![**Figure 1** Image creation process](/img/docs/best-practices/computing/image-management-service/en-us_image_0200645302.png) + +## Installing VirtualBox + +### Prerequisites + +The host where VirtualBox is to be installed must meet the following requirements: + +* A 64-bit Windows OS (recommended). +* At least 4 GB of memory and a dual-core processor. For example, the host specifications can be 8U16G. +* At least 20 GB of available disk space. +* Hardware virtualization (Intel VT-x or AMD-V). For how to enable this, see [Configuring Host BIOS CPU Settings](#configuring-host-bios-cpu-settings). + +:::note +For details about how to install VirtualBox, see the VirtualBox user guide at +[https://www.virtualbox.org/manual/UserManual.html](https://www.virtualbox.org/manual/UserManual.html). +::: + +### Configuring Host BIOS CPU Settings + +For an **Intel host**, perform the following operations to enable hardware virtualization: + +:::warning +The operations **may differ depending on the CPU type**. You can do it as prompted. +::: + +1. During the host startup, press *the BIOS key set by the manufacturer to access the BIOS*. +2. Choose *Configuration* -> *Intel Virtual Technology*, and press *Enter*. +3. Select *Enabled* and press *Enter*. The value of *Intel Virtual Technology* will become *Enabled*. +4. Press *F10* to save the settings and exit. + + **Figure 1** Enabling hardware virtualization + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0107215471.png) + +### Installing VirtualBox Binaries + +1. Download the VirtualBox installation package. VirtualBox-5.2.0 is used as an example. + + Download it from [https://www.virtualbox.org/wiki/Downloads](https://www.virtualbox.org/wiki/Downloads). + +2. Decompress the package. Right-click **VirtualBox-5.2.0-118431-Win.exe**, choose *Run as administrator*, and click *Next*. + + **Figure 2** Installing VirtualBox + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0107215473.png) + +3. Select the VirtualBox installation path and click *Next*. + + **Figure 3** Selecting an installation path + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0107215475.png) + +4. Personalize the settings and click *Next*. + + **Figure 4** Personalized settings + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0107215477.png) + +5. Click *Finish*. + +## Creating a VM and Installing an OS + +### Creating an Empty VM + +1. Open VirtualBox and click *New*. In the displayed *Create Virtual Machine* dialog box, enter a VM name, select an OS type and version, and click *Next*. + + Take Ubuntu as an example. The type must be **Linux**. Ensure that the selected version is the same as that of the OS you want to install on the VM. + + **Figure 1** Creating a VM + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0268280658.png) + +2. In the *Memory size* dialog box, set a value and click *Next*. + + You can reference the VM specifications or official OS requirements. The minimum value is 256 MB. You can set the memory size to 512 MB as an example. + + **Figure 2** Setting the memory size + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0268284967.png) + +3. In the *Hard disk* dialog box, select *Create a virtual hard disk now* and click *Create*. + + **Figure 3** Creating a virtual hard disk + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0268287010.png) + +4. In the *Hard disk file type* dialog box, select *VHD* and click *Next*. + + **Figure 4** Setting the hard disk file type + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0268287244.png) + +5. In the *Storage on physical hard disk* dialog box, select *Dynamically allocated* and click *Next*. + + **Figure 5** Selecting the disk allocation mode + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0268288436.png) + +6. In the *File location and size* dialog box, set the disk size and storage location. + + For example, you can set the disk size to 20 GB. + + **Figure 6** Setting the disk location and size + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0268290676.png) + +7. Click *Create*. + +### Installing a Linux OS on the VM + +The procedure varies depending on the image file you use. This section uses Ubuntu 20.04 as an example to describe how to install a Linux OS on the VM. + +:::note +Make sure you have obtained the ISO image file of your target OS, for example, **Ubuntu-20.04-server.iso**. +::: + +Use the ISO file to install Linux for the empty VM. + +1. In VirtualBox Manager, select the new VM and click *Settings*. + + **Figure 1** Setting the VM + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0268393798.png) + +2. Choose *Storage* -> *Empty*, click ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0268393752.png) in the *Attributes* area, and select the ISO image file **Ubuntu-20.04-server.iso**. + + **Figure 2** Selecting the ISO file to be mounted + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0268393846.png) + + **Figure 3** Mounted ISO file + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001457709502.png) + +3. Click *OK*. +4. In VirtualBox Manager, select the new VM and click *Start*. + + **Figure 4** Starting the VM + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0268337032.png) + +5. Install the OS. + 1. Select *English* and press *Enter*. + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514305585.png) + + 2. Select *Continue without updating*. + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464149800.png) + + 3. Retain the default settings for the keyboard. Select *Done* + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514311097.png) + + 4. Retain the default settings for the installation base. Select *Done*. + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514670405.png) + + 5. Retain the default settings for the network. Select *Done*. + + The installation program will automatically identify the IP address. If the network cannot be found, the installation program can still continue and you can configure the network again after the installation is complete. + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001463836772.png) + + 6. Retain the default settings for the proxy. Select *Done*. + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514558429.png) + + 7. Retain the default settings for the software source. Select *Done*. + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001463840256.png) + + 8. Retain the default settings for disk partitioning (use an entire disk and set up this disk as an LVM group). Select *Done*. + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514561077.png) + + The file system information will be displayed. Check it and select *Done*. + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001463841764.png) + + Confirm the destructive action and select *Continue*. + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514681605.png) + + 9. Configure the server name, username, and password. Select *Done*. + + **Your name**: It is not a username for logging in to the server. You can consider it as server description. + + **Your Server's name**: It is a unique server name on the same network. The name cannot contain uppercase letters. + + **Pick a username**: It is a username for logging in to the server. If you forget it or its password, you will not be allowed to log in to the server. + + **Choose a password**: It is the password for logging in to the server. + + **Confirm your password**: Enter your password again. + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464161876.png) + + 10. Install SSH so that you can remotely connect to the Linux server. + + Select *Install OpenSSH server*. Then, press *TAB* to select *Done*. + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514587325.png) + + 11. Select *Done* to start the OS installation. + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464002560.png) + + 12. After the installation is complete, select *Reboot* to restart the system. + + ![](/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464031938.png) + +## Configuring the VM + +### Installing Drivers and Changing the Disk Identifiers to the UUID Format + +To ensure that the ECSs created from the image support both Xen and KVM virtualization, install Native Xen and KVM drivers and change the disk identifiers to the UUID format for the VM which is used as the image source. + +This section describes how to perform these operations on a Linux VM that runs Ubuntu 20.04. For other OSs, see [Optimization Process (Linux)](https://docs.otc.t-systems.com/image-management-service/umn/managing_private_images/optimizing_a_linux_private_image/optimization_process.html). + +1. Run the following command to open the **modules** file: + + **vi /etc/initramfs-tools/modules** + +2. Press *i* to enter the editing mode and add the native Xen (xen-pv) and KVM (virtio) drivers to the **/etc/initramfs-tools/modules** file (the format depends on the OS requirements). + + ```shell + [root@CTU10000xxxxx ~]#vi /etc/initramfs-tools/modules + ... + # Examples: + # + # raid1 + # sd_mOd + xen-blkfront + xen-netfront + virtio_blk + virtio_scsi + virtio_net + virtio_pci + virtio_ring + virtio + ``` + +3. Press *ESC*, enter **:wq**, and press *Enter* to save the settings and exit the vi editor. +4. Run the following command to generate initrd again: + + ```shell + update-initramfs -u + ``` + +5. Run the following commands to check whether native Xen and KVM drivers have been installed: + + ```shell + lsinitramfs /boot/initrd.img-\`uname -r\` |grep xen + + lsinitramfs /boot/initrd.img-\`uname -r\` |grep virtio + ``` + + ```shell + [root@ CTU10000xxxxx home]# lsinitramfs /boot/initrd.img-`uname -r` |grep xen + lib/modules/3.5.0-23-generic/kernel/drivers/net/ethernet/qlogic/netxen + lib/modules/3.5.0-23-generic/kernel/drivers/net/ethernet/qlogic/netxen/netxen_nic.ko + lib/modules/3.5.0-23-generic/kernel/drivers/net/xen-netback + lib/modules/3.5.0-23-generic/kernel/drivers/net/xen-netback/xen-netback.ko + lib/modules/3.5.0-23-generic/kernel/drivers/block/xen-blkback + lib/modules/3.5.0-23-generic/kernel/drivers/block/xen-blkback/xen-blkback.ko + + [root@ CTU10000xxxxx home]# lsinitramfs /boot/initrd.img-`uname -r` |grep virtio + lib/modules/3.5.0-23-generic/kernel/drivers/scsi/virtio_scsi.ko + ``` + + :::note + If you add built-in drivers to the initrd or initramfs file, the VM will not be affected. This makes it easy to modify the drivers. However, the drivers cannot be shown by running the lsinitrd command. You can run the following commands to check whether the drivers are built-in ones in the kernel: + + ```shell + [root@ CTU10000xxxxx home]# cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y + CONFIG_VIRTIO_BLK=y + CONFIG_VIRTIO_NET=y + CONFIG_VIRTIO=y + CONFIG_VIRTIO_RING=y + CONFIG_VIRTIO_PCI=y + CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y + [root@ CTU10000xxxxx home]# cat /boot/config-`uname -r` | grep CONFIG_XEN | grep y + CONFIG_XEN_BLKDEV_FRONTEND=y + CONFIG_XEN_NETDEV_FRONTEND=y + ``` + ::: + +### Changing the Disk Identifier in the GRUB Configuration File to the UUID Format + +Take Ubuntu 20.04 as an example. Run **blkid** to obtain the UUID of the root partition. Modify the **/boot/grub/grub.cfg** file and use the UUID of the root partition to configure the boot item. If the root partition already uses UUID, no modification is required. The procedure is as follows: + +1. Log in to the newly created VM as user **root**. +2. Run the following command to query all types of mounted file systems and their device UUIDs: + + ```shell + blkid + ``` + + The following information is displayed: + + ```shell + /dev/xvda1: UUID="ec51d860-34bf-4374-ad46-a0c3e337fd34" TYPE="ext3" + /dev/xvda5: UUID="7a44a9ce-9281-4740-b95f-c8de33ae5c11" TYPE="swap" + ``` + +3. Run the following command to query the **grub.cfg** file: + + ```shell + cat /boot/grub/grub.****cfg + ``` + + The following information is displayed: + + ```shell + ......menuentry 'Ubuntu Linux, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-ec51d860-34bf-4374-ad46-a0c3e337fd34' { + recordfail + load_video + gfxmode $linux_gfx_mode + insmod gzio + insmod part_msdos + insmod ext2 + if [ x$feature_platform_search_hint = xy ]; then + search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 + else + search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 + fi + echo 'Loading Linux 3.13.0-24-generic ...' + linux /boot/vmlinuz-3.13.0-24-generic root=/dev/xvda1 ro + echo 'Loading initial ramdisk ...' + initrd /boot/initrd.img-3.13.0-24-generic + } + ``` + +4. Check whether the **/boot/grub/grub.cfg** configuration file contains **root=/dev/xvda1** or **root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34**. + * If **root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34** is contained, the root partition is in the UUID format and no further action is required. + * If **root=/dev/xvda1** is contained, the root partition is represented by a device name. Go to step 5. + +5. Obtain the UUID of the root partition based on **root=/dev/xvda1** and information obtained by running the **blkid** command. +6. Run the following command to open the **grub.cfg** file: + + ```shell + vi /boot/grub/grub.cfg + ``` + +7. Press *i* to enter the editing mode. Change the identifier of the root partition to the UUID format. For example, change **root=/dev/xvda1** to **root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34**. +8. Press *ESC*, enter **:wq**, and press *Enter* to save the settings and exit the vi editor. +9. Run the following command to verify the change: + + ```shell + cat /boot/grub/grub.cfg + ``` + + The change is successful if information similar to the following is displayed: + + ```shell + ......menuentry 'Ubuntu Linux, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-ec51d860-34bf-4374-ad46-a0c3e337fd34' { + recordfail + load_video + gfxmode $linux_gfx_mode + insmod gzio + insmod part_msdos + insmod ext2 + if [ x$feature_platform_search_hint = xy ]; then + search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 + else + search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 + fi + echo 'Loading Linux 3.13.0-24-generic ...' + linux /boot/vmlinuz-3.13.0-24-generic root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34 ro + echo 'Loading initial ramdisk ...' + initrd /boot/initrd.img-3.13.0-24-generic + } + ``` + +### Changing the Disk Identifiers in the fstab File to the UUID Format + +Take Ubuntu 20.04 as an example. Run **blkid** to obtain the UUIDs of all partitions. Modify the **/etc/fstab** file and use the partition UUIDs to configure automatic partition mounting. + +1. Run the following command to query all types of mounted file systems and their device UUIDs: + + ```shell + blkid + ``` + + The following information is displayed: + + ```shell + /dev/xvda2: UUID="4eb40294-4c6f-4384-bbb6-b8795bbb1130" TYPE="xfs" + /dev/xvda1: UUID="2de37c6b-2648-43b4-a4f5-40162154e135" TYPE="swap" + ``` + +2. Run the following command to query the **fstab** file: + + ```shell + cat /etc/fstab + ``` + + The following information is displayed: + + ```shell + [root@CTU1000028010 ~]# cat /etc/fstab + /dev/xvda2 / xfs defaults 0 0 + /dev/xvda1 swap swap defaults 0 0 + ``` + +3. Check whether the disk identifiers in the **fstab** file are device names or UUIDs. + * If they are UUIDs, no further action is required. + * If they are device names, go to step 4. +4. Run the following command to open the **fstab** file: + + ```shell + vi /etc/fstab + ``` + +5. Press *i* to enter the editing mode and change the disk identifiers to the UUID format. +6. Press *ESC*, enter **:wq**, and press *Enter* to save the settings and exit the vi editor. + +### Installing Cloud-Init + +:::note +For more information on cloud-init check this [link](https://docs.otc.t-systems.com/image-management-service/umn/linux_operations/installing_cloud-init.html). +::: + +### Configuring Cloud-Init + +:::note +For more information on cloud-init check this [link](https://docs.otc.t-systems.com/image-management-service/umn/linux_operations/configuring_cloud-init.html). +::: + +### Configuring NetworkManager + +Linux allows you to use **NetworkManager** to automatically configure the VM network. You are advised to use NetworkManager for new OS versions. + +Alternatively, you can use the native network management service of the OS. + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + 1. Run the following command to install NetworkManager: + + ```shell + yum install NetworkManager + ``` + + 2. Delete **ifcfg-eth1** to **ifcfg-eth11** from the **/etc/sysconfig/network-scripts/** directory and retain only **ifcfg-eth0**. + 3. Run the following command to disable the network: + + ```shell + service network stop + ``` + 4. Run the following command to disable automatic startup of the network: + + ```shell + chkconfig network off + ``` + + 5. Run the following commands to restart messagebus and NetworkManager and enable NetworkManager to start automatically at startup: + + ```shell + service messagebus restart + service NetworkManager restart + chkconfig NetworkManager on + ``` + + + Install NetworkManager and use it for automatic network configuration. + 1. Run the following command to install NetworkManager: + + ```shell + apt-get install network-manager + ``` + + 2. Change the value of **managed** in the **/etc/NetworkManager/NetworkManager.conf** file to **true**. + 3. Modify **/etc/network/interfaces** and retain only **eth0**. + 4. Run the following commands to disable the network, restart messagebus and NetworkManager, and enable NetworkManager to start automatically at startup: + + ```shell + service network-manager restart + chkconfig network-manager on + service networking stop + service messagebus restart + service network-manager restart + ``` + + + + Install NetworkManager and use it for automatic network configuration. + + 1. Run the following command to install NetworkManager: + + ```shell + apt-get install network-manager + ``` + + 2. Change the value of **managed** in the **/etc/NetworkManager/NetworkManager.conf** file to **true**. + 3. Modify **/etc/network/interfaces** and retain only **eth0**. + 4. Run the following command to disable the network: + + ```shell + service networking stop + ``` + 5. Run the following command to disable automatic startup of the network: + + ```shell + chkconfig network off + ``` + 6. Run the following commands to restart D-Bus and NetworkManager: + + ```shell + service dbus restart + service network-manager restart + ``` + + + + Install NetworkManager and use it for automatic network configuration. + + 1. Delete **ifcfg-eth1** to **ifcfg-eth11** from the **/etc/sysconfig/network-scripts/** directory and retain only **ifcfg-eth0**. + 2. Run the following command to install NetworkManager: + + ```shell + zypper install NetworkManager + ``` + 3. Start YaST, choose **Network Devices** in the navigation pane on the left, and select **Network Settings** in the right pane. In the **Network Setup Method** area of the **Global Options** page, change **Traditional Method with ifup** to **User Controlled with NetworkManager**. + + + + +## Obtaining the Image File + +After the VM is configured, perform the following operations to generate and export a Linux image file: + +1. Open VirtualBox, select the VM, choose *Settings* -> *Storage*, and select **Linux.vhd**. +2. On the right pane, view the image file location. +3. Go to the location to obtain the generated **Linux.vhd** image file. + +## Registering the Image File as a Private Image + +Upload the image file to an OBS bucket and register it as a private image. + +:::important +* Only an unencrypted image file or an image file encrypted using SSE-KMS can be uploaded to an OBS bucket. +* When uploading an image file, you must select an OBS bucket with the storage class of Standard. +::: + +1. Use OBS Browser+ to upload the image file. For details, see [OBS Browser+ Best Practices](https://docs.otc.t-systems.com/object-storage-service/tool-guide/best_practices/index.html). + + For how to download OBS Browser+, see [https://docs.otc.t-systems.com/object-storage-service/tool-guide/downloading_obs_browser.html](https://docs.otc.t-systems.com/object-storage-service/tool-guide/downloading_obs_browser.html). + +2. Register the external image file as a private image. For details, see [Registering an Image File as a Private Image (Linux)](https://docs.otc.t-systems.com/image-management-service/umn/creating_a_private_image/creating_a_linux_system_disk_image_from_an_external_image_file/registering_an_external_image_file_as_a_private_image.html). diff --git a/sidebars.ts b/sidebars.ts index 08d6f6c3e..8496faad8 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -243,6 +243,10 @@ const sidebars: SidebarsConfig = { type: 'doc', id: 'best-practices/computing/image-management-service/migrating-service-data-across-accounts-data-disks', }, + { + type: 'doc', + id: 'best-practices/computing/image-management-service/creating-a-linux-Image-using-virtualBox-and-an-iso-file', + }, { type: 'link', label: '📚 Go to Help Center', diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001457709502.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001457709502.png new file mode 100644 index 000000000..69e3ceb60 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001457709502.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001463836772.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001463836772.png new file mode 100644 index 000000000..73e216aff Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001463836772.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001463840256.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001463840256.png new file mode 100644 index 000000000..aa06091aa Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001463840256.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001463841764.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001463841764.png new file mode 100644 index 000000000..247b0e895 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001463841764.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464002560.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464002560.png new file mode 100644 index 000000000..0659dab14 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464002560.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464031938.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464031938.png new file mode 100644 index 000000000..6bfa5a2ec Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464031938.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464149800.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464149800.png new file mode 100644 index 000000000..e18fa76c6 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464149800.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464161876.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464161876.png new file mode 100644 index 000000000..aa27b99d4 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001464161876.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514305585.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514305585.png new file mode 100644 index 000000000..e0128739b Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514305585.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514311097.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514311097.png new file mode 100644 index 000000000..66aede2f3 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514311097.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514558429.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514558429.png new file mode 100644 index 000000000..cfac9f708 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514558429.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514561077.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514561077.png new file mode 100644 index 000000000..1538e64d8 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514561077.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514587325.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514587325.png new file mode 100644 index 000000000..dd7c1bd89 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514587325.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514670405.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514670405.png new file mode 100644 index 000000000..72e493205 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514670405.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514681605.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514681605.png new file mode 100644 index 000000000..30b2bf496 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0000001514681605.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0107215471.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0107215471.png new file mode 100644 index 000000000..1a8c320f2 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0107215471.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0107215473.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0107215473.png new file mode 100644 index 000000000..b3d44158f Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0107215473.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0107215475.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0107215475.png new file mode 100644 index 000000000..abfa2fac0 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0107215475.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0107215477.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0107215477.png new file mode 100644 index 000000000..859e5138d Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0107215477.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0200645302.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0200645302.png new file mode 100644 index 000000000..6a9349928 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0200645302.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268280658.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268280658.png new file mode 100644 index 000000000..50aa580b4 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268280658.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268284967.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268284967.png new file mode 100644 index 000000000..c5b27871d Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268284967.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268287010.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268287010.png new file mode 100644 index 000000000..42c6f4588 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268287010.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268287244.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268287244.png new file mode 100644 index 000000000..84a919aa6 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268287244.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268288436.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268288436.png new file mode 100644 index 000000000..1d8c61aac Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268288436.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268290676.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268290676.png new file mode 100644 index 000000000..c3c3d937b Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268290676.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268337032.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268337032.png new file mode 100644 index 000000000..9e89ac89e Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268337032.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268393752.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268393752.png new file mode 100644 index 000000000..682794e75 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268393752.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268393798.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268393798.png new file mode 100644 index 000000000..70cc2b9fe Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268393798.png differ diff --git a/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268393846.png b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268393846.png new file mode 100644 index 000000000..4c9f796e9 Binary files /dev/null and b/static/img/docs/best-practices/computing/image-management-service/en-us_image_0268393846.png differ