Provisionamento Orquestrado nas Nuvens com Juju
description
Transcript of Provisionamento Orquestrado nas Nuvens com Juju
provisionamento orquestrado nas nuvens
com JuJuThiago Rondon, b-datum.com
7masters, cloud computing,30 de outubro de 2013
Wednesday, October 30, 13
o que é ?
• Ubuntu, Go, OpenSource
• Escale com deploy e integração.
• Monitoramento e Diagnóstico
• AWS, Azure, HP Cloud, OpenStack, MAAS
• Provisionamento orquestrado
Wednesday, October 30, 13
charms
Wednesday, October 30, 13
metadata.yamlname: vanillasummary: Vanilla is an open-source, pluggable, themeable, multi-lingual forum.maintainer: Your Name <[email protected]>description: | Vanilla is designed to deploy and grow small communities to scale. This charm deploys Vanilla Forums as outlined by the Vanilla Forums installation guide.categories: - applicationsprovides: website: interface: httprequires: database: interface: mysql
Wednesday, October 30, 13
Hooks
• install, start, stop
• config-changed, upgrade-charm
• relation-joined, relation-changed
• relation-departed, relation-broken
Wednesday, October 30, 13
cenário clássico
jenkins jenkins-slave
nagios
Wednesday, October 30, 13
bootstrap
$ juju bootstrap
jenkins
jenkins-slave
nagios
state machine
$ juju deploy jenkins
$ juju deploy jenkins-‐slave
$ juju deploy nagios
Wednesday, October 30, 13
relacionamento
$ juju add-‐relation jenkins jenkins-‐slave
jenkins jenkins-slave
Wednesday, October 30, 13
para o mundo
$ juju set jenkins password=imasters
$ juju expose jenkins
Wednesday, October 30, 13
para o mundo➜ ~ juju status jenkinsenvironment: amazonmachines: "1": agent-‐state: started agent-‐version: 1.16.0 dns-‐name: ec2-‐54-‐205-‐44-‐5.compute-‐1.amazonaws.com instance-‐id: i-‐0db6ad75 instance-‐state: running series: precise hardware: arch=amd64 cpu-‐cores=1 cpu-‐power=100 mem=1740M root-‐disk=8192Mservices: jenkins: charm: cs:precise/jenkins-‐8 exposed: true relations: master: -‐ jenkins-‐slave units: jenkins/0: agent-‐state: error agent-‐state-‐info: 'hook failed: "master-‐relation-‐changed"' agent-‐version: 1.16.0 machine: "1" open-‐ports: -‐ 8080/tcp public-‐address: ec2-‐54-‐205-‐44-‐5.compute-‐1.amazonaws.com
Wednesday, October 30, 13
escalando
$ juju add-‐unit jenkins-‐slave
jenkins
jenkins-slave
jenkins-slave
Wednesday, October 30, 13
relacionando
jenkins jenkins-slave
jenkins-slave
nagios
$ juju add-‐relation nagios jenkins$ juju add-‐relation nagios jenkins-‐slave
Wednesday, October 30, 13
configurando
nagios
$ juju expose nagios$ juju ssh nagios/0 sudo cat /var/lib/juju/nagios.passwd
Wednesday, October 30, 13
serviço subordinado
$ juju deploy nrpe$ juju add-‐relation nrpe jenkins$ juju add-‐relation nrpe jenkins-‐slave$ juju add-‐relation nrpe:monitors nagios:monitors
nrpe
Wednesday, October 30, 13
jenkins
nagiosjenkins-slave
jenkins-slave
nrpe
state machine
Wednesday, October 30, 13
resumindo...➜ ~ juju bootstrap➜ ~ juju deploy jenkins➜ ~ juju deploy jenkins-‐slave➜ ~ juju add-‐relation jenkins jenkins-‐slave➜ ~ juju deploy nagios➜ ~ juju set jenkins password=imasters➜ ~ juju expose jenkins➜ ~ juju add-‐unit jenkins-‐slave➜ ~ juju add-‐relation nagios jenkins➜ ~ juju expose nagios➜ ~ juju add-‐relation nagios jenkins-‐slave➜ ~ juju deploy nrpe➜ ~ juju add-‐relation nrpe jenkins➜ ~ juju add-‐relation nrpe jenkins-‐slave➜ ~ juju add-‐relation nrpe:monitors nagios:monitors
Wednesday, October 30, 13
juju GUI
juju-gui
$ juju deploy juju-‐gui$ juju expose juju-‐gui
Wednesday, October 30, 13
juju GUI
Wednesday, October 30, 13
juju GUI
Wednesday, October 30, 13
como esta ?$ juju status$ juju status service*$ juju status -‐e local$ juju status -‐-‐format=json$ juju ssh wordpress/1$ juju debug-‐log
Wednesday, October 30, 13
escalando
$ juju add-‐unit -‐n 5 mysql$ juju add-‐machine$ juju deploy -‐-‐constraints=”mem=4G”
Wednesday, October 30, 13
destroy/remove
$ juju remove-‐unit mysql/6$ juju destroy-‐environment -‐e amazon$ juju detroy-‐relation service mysql
Wednesday, October 30, 13
http://juju.ubuntu.comhttps://code.launchpad.net/~juju
Wednesday, October 30, 13