Jump to content

User:SorenIsANerd/cloud-init

From Wikipedia, the free encyclopedia
cloud-init
Other namesec2-init
Original author(s)Soren Hansen
Developer(s)Canonical
Initial release15 September 2008; 16 years ago (2008-09-15)
Stable release
22.4.2 / 23 November 2022; 2 years ago (2022-11-23)
Repositoryhttps://github.com/canonical/cloud-init
Written inPython
Operating systemLinux
LicenseApache 2.0 or GPL-3
Websitehttps://cloud-init.io/

cloud-init is the de facto industry standard for the initial set up, or bootstrapping, of Linux based virtual machines across every major cloud computing provider. Originally created as ec2-init for Ubuntu Server and designed to work with AWS EC2[1], as of 2023 it supports dozens of cloud providers and operating systems.

History

[edit]

List of supported operating systems:

[edit]

List of supported cloud providers

[edit]

Most of cloud providers supported by cloud-init include it in their official documentation.

Cloud Provider Official documentation
Alibaba Cloud Yes[26]
Amazon Web Services EC2 Yes[27]
Bigstep No
DigitalOcean Yes[28]
Exoscale Yes[29]
Google Cloud Platform Yes[30]
Hetzner Yes[31]
Huawei Cloud Yes[32]
IBM Cloud Yes[33]
Joyent No
Microsoft Azure Yes[34]
OVH Yes[35]
Oracle Cloud Infrastructure Yes[36]
Scaleway Yes[37]
SmartOS Yes[38]

Use outside of public clouds

[edit]

cloud-init also works outside of public clouds. It is well integrated with OpenStack, OpenNebula, and Apache CloudStack.

cloud-config

[edit]

In addition to supporting configuration scripts passed through EC2's "user-data", or its equivalents on other clouds, in 2010 cloud-init introduced[4] a declarative mechanism called cloud-config for configuring virtual machines. This allows users to specify e.g. SSH keys to install, Chef recipes to run, certificate authorities to add[39], etc., and supported operating systems will use that configuration to make the requested changes. This way the same configuration can be used across different operating systems.

References

[edit]
  1. ^ Hansen, Soren (2023-01-23). "The history of cloud-init and virtualization in Ubuntu". Medium. Retrieved 2023-01-23.
  2. ^ "Import current code. · canonical/cloud-init@88236e3". GitHub. Retrieved 2023-01-22.
  3. ^ "add cloud-init-run-module and ec2init/execute.py · canonical/cloud-init@ca3cafb". GitHub. Retrieved 2023-01-22.
  4. ^ a b "functional state now in kvm tests · canonical/cloud-init@49d3df4". GitHub. Retrieved 2023-01-30.
  5. ^ "cloud-init-0.6.2-0.7.bzr457.fc16 | Build Info | koji". koji.fedoraproject.org. Retrieved 2023-01-22.
  6. ^ "Added a new rhel distro that does the following. · canonical/cloud-init@4e5e0da". GitHub. Retrieved 2023-01-24.
  7. ^ "1. Add a ubuntu and fedora subclass of the RH/debian root classes · canonical/cloud-init@c55aa55". GitHub. Retrieved 2023-01-24.
  8. ^ "Add a SLES distro handler · canonical/cloud-init@e05e747". GitHub. Retrieved 2023-01-24.
  9. ^ "new: FreeBSD module to support cloud-init on the FBSD10 platform. In its · canonical/cloud-init@53f1938". GitHub. Retrieved 2023-01-24.
  10. ^ "Initial add Gentoo distro · canonical/cloud-init@7e2d084". GitHub. Retrieved 2023-01-24.
  11. ^ "Initial arch distro add. · canonical/cloud-init@79741c9". GitHub. Retrieved 2023-01-24.
  12. ^ "suse: Add support for openSUSE and return SLES to a working state. · canonical/cloud-init@cbda576". GitHub. Retrieved 2023-01-24.
  13. ^ "add Openbsd support (#147) · canonical/cloud-init@4403962". GitHub. Retrieved 2023-01-24.
  14. ^ "Add Netbsd support (#62) · canonical/cloud-init@94838de". GitHub. Retrieved 2023-01-24.
  15. ^ "Add Alpine Linux support. (#535) · canonical/cloud-init@79a8ce7". GitHub. Retrieved 2023-01-23.
  16. ^ "Add support for VMware PhotonOS (#909) · canonical/cloud-init@35aa9db". GitHub. Retrieved 2023-01-24.
  17. ^ "Support openEuler OS (#1012) · canonical/cloud-init@f4c47e3". GitHub. Retrieved 2023-01-24.
  18. ^ "Add miraclelinux support (#1128) · canonical/cloud-init@0ed00ad". GitHub. Retrieved 2023-01-24.
  19. ^ "Add support for EuroLinux 7 && EuroLinux 8 (#957) · canonical/cloud-init@3d9c862". GitHub. Retrieved 2023-01-24.
  20. ^ "add DragonFlyBSD support (#904) · canonical/cloud-init@59a848c". GitHub. Retrieved 2023-01-24.
  21. ^ "Add CloudLinux OS support (#1003) · canonical/cloud-init@f6c71fd". GitHub. Retrieved 2023-01-24.
  22. ^ "Add support for OpenMandriva (https://openmandriva.org/) (#1520) · canonical/cloud-init@f60149d". GitHub. Retrieved 2023-01-24. {{cite web}}: External link in |title= (help)
  23. ^ "add mariner support (#1780) · canonical/cloud-init@699b6a0". GitHub. Retrieved 2023-01-24.
  24. ^ "add support for Container-Optimized OS (#1748) · canonical/cloud-init@cea875a". GitHub. Retrieved 2023-01-24.
  25. ^ "FreeBSD as a Tier I cloud-init Platform | FreeBSD Foundation". freebsdfoundation.org. 2022-09-30. Retrieved 2023-01-23.
  26. ^ "Install cloud-init - Elastic Compute Service - Alibaba Cloud Documentation Center". www.alibabacloud.com. Retrieved 2023-01-23.
  27. ^ "Run commands on your Linux instance at launch - Amazon Elastic Compute Cloud". docs.aws.amazon.com. Retrieved 2023-01-23.
  28. ^ "How To Use Cloud-Init on Ubuntu 18.04". www.digitalocean.com. Retrieved 2023-01-23.
  29. ^ "Cloud-Init and User-Data". community.exoscale.com. Retrieved 2023-01-23.
  30. ^ "Using cloud-init to customize a Linux VM instance". cloud.google.com. Retrieved 2023-01-23.
  31. ^ "FAQ - Hetzner Docs". docs.hetzner.com. Retrieved 2023-01-23.
  32. ^ "Installing Cloud-Init_Image Management Service_User Guide_Linux Operations_Huawei Cloud". support.huaweicloud.com. Retrieved 2023-01-23.
  33. ^ "IBM Cloud Docs". cloud.ibm.com. Retrieved 2023-01-23.
  34. ^ srijang. "Overview of cloud-init support for Linux VMs in Azure - Azure Virtual Machines". learn.microsoft.com. Retrieved 2023-01-23.
  35. ^ "Launching a script when an instance is created". docs.ovh.com. Retrieved 2023-01-23.
  36. ^ "Using Custom Cloud-init Initialization Scripts". docs.oracle.com. Retrieved 2023-01-23.
  37. ^ "Introducing Scaleway Cloud-Init Support". Scaleway Blog - European cloud provider. 2018-07-05. Retrieved 2023-01-23.
  38. ^ "How to create a HVM VM - SmartOS Docs". wiki.smartos.org. Retrieved 2023-01-23.
  39. ^ "Cloud config examples - cloud-init 22.4.2 documentation". cloudinit.readthedocs.io. Retrieved 2023-01-30.