Code Monkey home page Code Monkey logo

ansiblefest2018's Introduction

Ansiblefest2018

Content for Ansible Fest 2018

Demo Steps

  • Service principal description - generate
  • Populate credentials file
  • Deploy two VMs from playbooks for Mattermost - azure_rm_virtualmachine Deploy Ansible Role to configure first server as MySQL
  • Deploy Mattermost application to second server
  • Deploy VM from ARM template
  • Install Tomcat (or othe application) on VM
  • Store VM image deployed from ARM template
  • Create 2 node Scale Set from stored ARM template image
  • Scale Out VMSS to 3 nodes
  • Application Gateway?

vars.yml

This file contains all the variables shared by demo tasks:

Variable Description
resource_group This is the resource group name used by demos
location Region where resources should be created
vm_name Virtual machine name that contains application
vm_image_name Name of target image used in the demo
admin_username VMSS admin user name
admin_password VMSS admin password
vmss_name VMSS name
mysql_username MySQL user name
mysql_password MySQL password
mysql_server_name MySQL server name
mysql_database_name MySQL database name (should be: mattermost)
appgateway_name Application Gateway name
vnet_name Virtual network name
subnet_name Application Gateway subnet name
vm_publicip_name Virtual Machine public IP name
vmss_publicip_name Load balancer public IP name
appgateway_public_ip_name App Gateway public IP name

Playbooks

How to run?

ansible-playbook 0x-xxxxxx.yml -e @vars.yml

00-prerequisites.yml

Should be run before the event.

It will create all required prerequisites:

  • create empty resource group

TODO: decide what prerequisites we actually need

01-mm-vm-deploy.yml

  • deploys VM for Mattermost Application

02-mm-vm-deploy.yml

  • creates MySQL Server
  • creates mattermost database
  • creates appropriate firewall rule for Mattermost VM

03-mm-setup.yml

  • sets up Mattermost on VM server

04-create-vm-image.yml

  • stops VM with Mattermost
  • generalizes it (using REST API)
  • creates image

TODO: remove Mattermost VM??

05-vmss-create.yml

This task creates:

  • load balancer
  • virtual machine scaleset

and currently also a few prerequisites:

  • virtual network
  • subnet
  • public ip address
  • network security group

TODO: Reuse networking infrastructure from previous tasks

06-appgateway-create.yml

This task creates application gateway, but us still not connected to the scaleset.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.