Voltar ao ranking

turkenh/ansible-interactive-tutorial

Shell

Interactive Ansible tutorials with dead simple setup via Docker

ansibletutorialdevopsinteractivedockeransible-playbookansible-galaxy
Crescimento de estrelas
Estrelas
1.5k
Forks
205
Crescimento semanal
Issues
9
5001k1.5k
set. de 2017ago. de 2020ago. de 2023jul. de 2026
README

ansible-interactive-tutorial

Build Status

Interactive tutorials for Ansible

Prerequisite

Only prerequisite is docker

Requires docker version 1.9+ and tested with 1.12+

If you don't have docker installed, you can also run on http://play-with-docker.com (just click "+ ADD NEW INSTANCE" button and clone this repo there)

How to Run

./tutorial.sh

demo

Clean up

./tutorial.sh --remove

More Details

Tutorials

Almost all of the tutorials are adapted from the great leucos/ansible-tuto repository:

1. Getting Started
2. Basic inventory
3. First modules and facts
4. Groups and variables
5. Playbooks
6. Playbooks, pushing files on nodes
7. Playbooks and failures
8. Playbook conditionals
9. Git module
10. Extending to several hosts
11. Templates
12. Variables again
13. Migrating to roles!
14. Using roles from Ansible Galaxy - Install a Jenkins server
15. Free play

You can run each lesson individually but it is highly encouraged to follow the order as most of them are built on top of the previous one!

Containers

tutorial.sh starts 4 docker containers behind the scenes. 1 for running the tutorial itself and 3 as ansible nodes which behave exactly same as (virtual or physical) machines throughout the tutorial.

ansible.tutorial is an alpine based tutorial container in which ansible and nutsh (a framework for creating interactive command line tutorials) are available.

host0.example.org, host1.example.org and host2.example.org are the Ubuntu 16.04 based containers that act as ansible nodes. These nodes were already provisioned with the ssh key of ansible.tutorial container. So that you don't have to deal with setting up keys.

Port Mapping

There are some checkpoints in the tutorials where you can check and verify your deployments. For this purpose some ports of the containers are exposed as host ports as follows:

Container Container Port Host Port
host0.example.org 80 $HOSTPORT_BASE
host1.example.org 80 $HOSTPORT_BASE+1
host2.example.org 80 $HOSTPORT_BASE+2
host0.example.org 8080 $HOSTPORT_BASE+3
host1.example.org 30000 $HOSTPORT_BASE+4
host2.example.org 443 $HOSTPORT_BASE+5

HOSTPORT_BASE is set to 42726 by default and can be changed while starting the tutorial (in case any of the consecutive 6 ports is not available) as follows:

./tutorial.sh --remove # Make sure you shut down the previous ones
HOSTPORT_BASE=<some_other_value> ./tutorial.sh

Workspace Directory

ansible-interactive-tutorial/workspace directory on your local machine is mounted as /root/workspace inside the ansible.tutorial container. So, you can use your favorite editor on your local machine to edit files. Editing files is not necessary to follow the lessons though.

Repositórios relacionados
bregman-arie/devops-exercises

Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. DevOps Interview Questions

PythonPyPIOtherdevopsaws
83.3k19.8k
ansible/ansible

Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com.

PythonPyPIGNU General Public License v3.0pythonansible
ansible.com
69.7k24.2k
trailofbits/algo

Set up a personal VPN in the cloud

PythonPyPIGNU Affero General Public License v3.0vpn-serverstrongswan
blog.trailofbits.com/2016/12/12/meet-algo-the-vpn-that-works/
30.3k2.4k
MichaelCade/90DaysOfDevOps

This repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.

ShellOtherdevopskubernetes
90daysofdevops.com
29.6k6.8k
StreisandEffect/streisand

Streisand sets up a new server running your choice of WireGuard, OpenConnect, OpenSSH, OpenVPN, Shadowsocks, sslh, Stunnel, or a Tor bridge. It also generates custom instructions for all of these services. At the end of the run you are given an HTML file with instructions that can be shared with friends, family members, and fellow activists.

ShellOthervpnansible
twitter.com/streisandvpn
23.5k2k
kubernetes-sigs/kubespray

Deploy a Production Ready Kubernetes Cluster

JinjaApache License 2.0kubernetes-clusteransible
18.6k6.9k
ansible/awx

AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is one of the upstream projects for Red Hat Ansible Automation Platform.

PythonPyPIOtherpythonansible
15.5k3.7k
semaphoreui/semaphore

Modern UI and powerful API for Ansible, Terraform/OpenTofu/Terragrunt, PowerShell and other DevOps tools.

GoGo ModulesMIT Licenseansibledevops
semaphoreui.com
13.9k1.3k
netbootxyz/netboot.xyz

Your favorite operating systems in one place. A network-based bootable operating system installer based on iPXE.

JinjaApache License 2.0ipxenetboot
netboot.xyz
12k832
easzlab/kubeasz

使用Ansible脚本安装K8S集群,介绍组件交互原理,方便直接,不受国内网络环境影响

Jinjakubernetesansible
github.com/easzlab/kubeasz
11.4k3.7k
geerlingguy/ansible-for-devops

Ansible for DevOps examples.

PythonPyPIMIT Licenseansibledevops
ansiblefordevops.com
9.8k3.8k
khuedoan/homelab

Fully automated homelab from empty disk to running services with a single command.

PythonPyPIGNU General Public License v3.0kubernetespxe
homelab.khuedoan.com
9.5k881