You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/docs/docsite/rst/getting_started/index.rst

98 lines
2.8 KiB
ReStructuredText

.. _getting_started_index:
############################
Getting started with Ansible
############################
Ansible automates the management of remote systems and controls their desired state.
A basic Ansible environment has three main components:
Control node
A system on which Ansible is installed.
You run Ansible commands such as ``ansible`` or ``ansible-inventory`` on a control node.
Managed node
A remote system, or host, that Ansible controls.
Inventory
A list of managed nodes that are logically organized.
You create an inventory on the control node to describe host deployments to Ansible.
.. image:: ../images/ansible_basic.svg
:width: 400px
:align: center
:height: 200px
:alt: Basic components of an Ansible environment include a control node, an inventory of managed nodes, and a module copied to each managed node.
Ready to start using Ansible?
Complete the following steps to get up and running:
#. Install Ansible. Visit the :ref:`installation guide<installation_guide>` for complete details.
.. code-block:: bash
python3 -m pip install --user ansible
#. Create an inventory by adding the IP address or fully qualified domain name (FQDN) of one or more remote systems to ``/etc/ansible/hosts``.
The following example adds the IP addresses of three virtual machines in KVM:
.. code-block:: ini
[myvirtualmachines]
192.0.2.50
192.0.2.51
192.0.2.52
#. Verify the hosts in your inventory.
.. code-block:: bash
ansible all --list-hosts
.. code-block:: ansible-output
hosts (1):
192.0.2.50
192.0.2.51
192.0.2.52
#. Set up SSH connections so Ansible can connect to the managed nodes.
a. Add your public SSH key to the ``authorized_keys`` file on each remote system.
b. Test the SSH connections, for example:
.. code-block:: bash
ssh username@192.0.2.50
If the username on the control node is different on the host, you need to pass the ``-u`` option with the ``ansible`` command.
#. Ping the managed nodes.
.. code-block:: bash
ansible all -m ping
.. literalinclude:: ansible_output/ping_output.txt
:language: text
Congratulations! You are now using Ansible.
Continue by :ref:`learning how to build an inventory<get_started_inventory>`.
.. seealso::
`Ansible Demos <https://github.com/ansible/product-demos>`_
Demonstrations of different Ansible usecases
`RHEL Labs <https://katacoda.com/rhel-labs>`_
Labs to provide further knowledge on different topics
`Mailing List <https://groups.google.com/group/ansible-project>`_
Questions? Help? Ideas? Stop by the list on Google Groups
:ref:`communication_irc`
How to join Ansible chat channels
.. toctree::
:maxdepth: 1
get_started_inventory
get_started_playbook