So, I’ve been on a ‘how can I make my life easier’ kick and started looking into different system management software. Ansible bubbled up to the top because it’s agent-less. This makes a lot of sense for the types of things I’m doing. It might make things slower in a huge setup/infrastructure since there’s some latency doing things through SSH.
Goal
Initial Goal - Automate the entire server baseline setup via Ansible.
Pre-requisites
Ok, I still haven’t gotten around to automating the actual install of the OS and loading of the initial keys on the system. Here are the initial requirements.
Install the system with a username of choice.
Make sure the SSH is running and accessible.
Make sure that the system install username is accessible from
Set vm.max_map_count to no less than 262144 (must run each time host is booted)
1
sudo sysctl -w vm.max_map_count=262144
Set vm.max_map_count to no less than 262144 (one time configuration)
Ansible LogoAnsible
is an open source, command-line IT automation software application written in Python. It can configure systems, deploy software, and orchestrate advanced workflows to support application deployment, system updates, and more.
Ansible’s main strengths are simplicity and ease of use. It also has a strong focus on security and reliability, featuring minimal moving parts. It uses OpenSSH for transport (with other transports and pull modes as alternatives), and uses a human-readable language that is designed for getting started quickly without a lot of training.
Here’s my home ansible playbook, it’s pretty basic and I run everything else through docker.