Ansible

from Wikipedia, the free encyclopedia
Ansible

Ansible logo.svg
Basic data

Maintainer Michael DeHaan
developer AnsibleWorks, Inc.
Publishing year 2012
Current  version 2.10.0
( August 13, 2020 )
operating system Windows , GNU / Linux , Unix-like
programming language python
category Orchestration
License GNU General Public License (free software)
German speaking No
www.ansible.com

Ansible is an open source automation tool for orchestration and general configuration and administration of computers. It combines software distribution , ad hoc command execution and configuration management . Network computers are managed , among other things, via SSH and do not require any additional software on the system to be managed. Modules use JSON for output and can be written in any programming language. The system uses YAML to formulate reusable descriptions of systems.

Emergence

The Ansible project started in February 2012 and the platform was created by Michael DeHaan, the author of the server provisioning application Cobbler and co-author of the Func framework for remote administration. Ansible users are, for example, the Fedora project , Hewlett-Packard Germany, the German web host Hetzner and the University of Thessaloniki . Ansible is included in the Fedora Linux distribution from Red Hat Inc. and is also available for Red Hat Enterprise Linux , CentOS , openSUSE , SUSE Linux Enterprise , Debian , MacOS , Scientific Linux and Cygwin . In principle, Ansible can be used with all Unix-like operating systems. As of version 1.7, various modules also support Windows via Powershell 3.0 commands.

Version 2.0 was released in January 2016.

AnsibleWorks

AnsibleWorks was founded on March 4, 2013 . She is heavily involved in the development of Ansible and offers various products related to Ansible, including support and a browser-based user interface .

On October 16, 2015 it was announced that Ansible Inc. (originally AnsibleWorks Inc. ) will be acquired by Red Hat Inc. and integrated into its own portfolio.

architecture

Like most other configuration management systems , Ansible distinguishes between configuration monitoring and nodes on which the configuration change is being made. These nodes are managed by Ansible via SSH, with the location of the nodes being managed in the configuration monitoring inventory.

Design goals

minimalistic
Management systems should not require any additional dependencies on the environment.
for sure
Ansible does not use agents on nodes. Only OpenSSH and Python (or WinRM or OpenSSH and Powershell on Windows) are required on the managed nodes.
reliable
When written carefully, Ansible playbooks can be idempotent , avoiding unexpected side effects on the systems being managed.
easy to learn
Playbooks use simple descriptive language based on YAML and Jinja templates.

Modules

Each Ansible module can be written on its own and in any programming language. The modules should be idempotent , which means that even if a process is repeated several times - e.g. B. When recovering from a failure - the system is always put into the same state.

inventory

The inventory is a description of the nodes that can be accessed from Ansible. By default, the inventory is described by an initialization file. The configuration file lists either the IP address or the host name of each node accessible from Ansible. In addition, nodes can be grouped.

Ansible can also dynamically obtain data from other systems.

Playbooks

Playbooks describe configurations, deployment and orchestration in Ansible. The playbook format is YAML, with each playbook assigning a group of hosts to a number of roles.

AWX

AWX is a REST API , web service, and web-based console. This allows the IT infrastructure managed with Ansible to be centralized with a visual dashboard including management of all inventories, role-based access control, job scheduling and messages.

See also

Web links

Individual evidence

  1. Michael DeHaan: The Origins of Ansible. In: The Inside Playbook. Red Hat, Inc., December 8, 2013, accessed June 7, 2017 : "So Ansible began as a project, sometime in February of 2012."
  2. Ansible Community: Installation - Ansible Documentation. In: docs.ansible.com. Red Hat Inc., accessed November 2, 2016 .
  3. Yaakov Selkowitz: ANNOUNCEMENT ansible 2.8.2-1. In: Cygwin Project mailing list. cygwin.com, accessed August 20, 2019 .
  4. Editor: Ansible 2.0 is ready. In: ADMIN magazine . January 12, 2016, p. 1 , accessed November 12, 2016 .
  5. Michael DeHaan: Introducing AnsibleWorks! In: The Inside Playbook. AnsibleWorks Inc., March 4, 2013, p. 1 , accessed November 12, 2016 .
  6. PR Department: Red Hat to Acquire IT Automation and DevOps Leader Ansible. In: press releases. Red Hat Inc., October 16, 2015, p. 1 , accessed November 13, 2015 .
  7. Oliver Frommel: Red Hat buys Ansible. In: ADMIN magazine . October 16, 2015, p. 1 , accessed November 12, 2016 .
  8. Installing Ansible - Ansible Documentation. Retrieved May 6, 2020 .
  9. Setting up a Windows Host - Ansible Documentation. Retrieved May 6, 2020 .