index.rst 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. .. _salt-cloud:
  2. ==========
  3. Salt Cloud
  4. ==========
  5. .. raw:: html
  6. :file: index.html
  7. Configuration
  8. =============
  9. Salt Cloud provides a powerful interface to interact with cloud hosts. This
  10. interface is tightly integrated with Salt, and new virtual machines
  11. are automatically connected to your Salt master after creation.
  12. Since Salt Cloud is designed to be an automated system, most configuration
  13. is done using the following YAML configuration files:
  14. - ``/etc/salt/cloud``: The main configuration file, contains global settings
  15. that apply to all cloud hosts. See :ref:`Salt Cloud Configuration
  16. <salt-cloud-config>`.
  17. - ``/etc/salt/cloud.providers.d/*.conf``: Contains settings that configure
  18. a specific cloud host, such as credentials, region settings, and so on. Since
  19. configuration varies significantly between each cloud host, a separate file
  20. should be created for each cloud host. In Salt Cloud, a provider is
  21. synonymous with a cloud host (Amazon EC2, Google Compute Engine, Rackspace,
  22. and so on). See :ref:`Provider Specifics <cloud-provider-specifics>`.
  23. - ``/etc/salt/cloud.profiles.d/*.conf``: Contains settings that define
  24. a specific VM type. A profile defines the systems specs and image, and any
  25. other settings that are specific to this VM type. Each specific VM type is
  26. called a profile, and multiple profiles can be defined in a profile file.
  27. Each profile references a parent provider that defines the cloud host in
  28. which the VM is created (the provider settings are in the provider
  29. configuration explained above). Based on your needs, you might define
  30. different profiles for web servers, database servers, and so on. See :ref:`VM
  31. Profiles <salt-cloud-profiles>`.
  32. Configuration Inheritance
  33. =========================
  34. Configuration settings are inherited in order from the cloud config =>
  35. providers => profile.
  36. .. image:: /_static/cloud-settings-inheritance.png
  37. :align: center
  38. :width: 40%
  39. For example, if you wanted to use the same image for
  40. all virtual machines for a specific provider, the image name could be placed in
  41. the provider file. This value is inherited by all profiles that use that
  42. provider, but is overridden if a image name is defined in the profile.
  43. Most configuration settings can be defined in any file, the main difference
  44. being how that setting is inherited.
  45. QuickStart
  46. ==========
  47. The :ref:`Salt Cloud Quickstart <salt-cloud-qs>` walks you through defining
  48. a provider, a VM profile, and shows you how to create virtual machines using Salt Cloud.
  49. Note that if you installed Salt via `Salt Bootstrap`_, it may not have
  50. automatically installed salt-cloud for you. Use your distribution's package
  51. manager to install the ``salt-cloud`` package from the same repo that you
  52. used to install Salt. These repos will automatically be setup by Salt Bootstrap.
  53. Alternatively, the ``-L`` option can be passed to the `Salt Bootstrap`_ script when
  54. installing Salt. The ``-L`` option will install ``salt-cloud`` and the required
  55. ``libcloud`` package.
  56. .. _`Salt Bootstrap`: https://github.com/saltstack/salt-bootstrap
  57. Using Salt Cloud
  58. ================
  59. .. toctree::
  60. :maxdepth: 3
  61. Command Line Reference <../../ref/cli/salt-cloud>
  62. Basic <basic>
  63. Profiles <profiles>
  64. Maps <map>
  65. Actions <action>
  66. Functions <function>
  67. Core Configuration
  68. ==================
  69. .. toctree::
  70. :maxdepth: 3
  71. Installing salt cloud <install/index>
  72. Core Configuration <config>
  73. Windows Configuration
  74. =====================
  75. .. toctree::
  76. :maxdepth: 3
  77. Windows Configuration <windows>
  78. .. _cloud-provider-specifics:
  79. Cloud Provider Specifics
  80. ========================
  81. .. toctree::
  82. :maxdepth: 3
  83. Getting Started With Aliyun <aliyun>
  84. Getting Started With Azure <azure>
  85. Getting Started With Azure Arm <azurearm>
  86. Getting Started With CloudStack <cloudstack>
  87. Getting Started With DigitalOcean <digitalocean>
  88. Getting Started With Dimension Data <dimensiondata>
  89. Getting Started With EC2 <aws>
  90. Getting Started With GoGrid <gogrid>
  91. Getting Started With Google Compute Engine <gce>
  92. Getting Started With HP Cloud <hpcloud>
  93. Getting Started With Joyent <joyent>
  94. Getting Started With Libvirt <libvirt>
  95. Getting Started With Linode <linode>
  96. Getting Started With LXC <lxc>
  97. Getting Started With OneAndOne <oneandone>
  98. Getting Started With OpenNebula <opennebula>
  99. Getting Started With OpenStack <openstack>
  100. Getting Started With Parallels <parallels>
  101. Getting Started With ProfitBricks <profitbricks>
  102. Getting Started With Proxmox <proxmox>
  103. Getting Started With Scaleway <scaleway>
  104. Getting Started With Saltify <saltify>
  105. Getting Started With SoftLayer <softlayer>
  106. Getting Started With Tencent Cloud <tencentcloud>
  107. Getting Started With Vagrant <vagrant>
  108. Getting Started With Vexxhost <vexxhost>
  109. Getting Started With Virtualbox <virtualbox>
  110. Getting Started With VMware <vmware>
  111. Getting Started With Xen <xen>
  112. Miscellaneous Options
  113. =====================
  114. .. toctree::
  115. :maxdepth: 3
  116. Miscellaneous <misc>
  117. Troubleshooting Steps
  118. =====================
  119. .. toctree::
  120. :maxdepth: 3
  121. Troubleshooting <troubleshooting>
  122. Extending Salt Cloud
  123. ====================
  124. .. toctree::
  125. :maxdepth: 3
  126. Adding Cloud Providers <cloud>
  127. Adding OS Support <deploy>
  128. Using Salt Cloud from Salt
  129. ==========================
  130. .. toctree::
  131. :maxdepth: 3
  132. Using Salt Cloud from Salt <salt>
  133. Feature Comparison
  134. ==================
  135. .. toctree::
  136. :maxdepth: 3
  137. Features <features>
  138. Tutorials
  139. =========
  140. .. toctree::
  141. :maxdepth: 3
  142. QuickStart <qs>
  143. Using Salt Cloud with the Event Reactor <reactor>