Arquivos do Blog

Provisionar maquinas virtuais através de GIT, AzureCLI e Visual Studio.

azurecli

Olá Pessoal

Na ultima WEBCAST que fiz no canal ARQGENTI eu mostrei como está o mercado tanto do lado corporativo como empresa e como anda o lado do profissional.

Muitas mudanças para os 2 lados.

Não é mais uma tendencia, é uma constatação.

O mercado está mudando, as empresas estão mudando com a transformação digital.

Leia o resto deste post

Anúncios

Moodle no Azure (PaaS)

Olá pessoal

Hoje irei demonstrar como provisionar o Moodle no Azure.

A demonstração e a ferramenta que já existe no Marketplace.

O Moodle é um Sistema de Gerenciamento de Aprendizagem (LMS) que fornece aos educadores ferramentas como recursos, fóruns, questionários, tarefas, objetos de aprendizagem, pesquisas, pesquisas, coleções de dados, lições, wikis e projetos para que eles possam construir cursos baseados na web sobre qualquer Tópico e, em seguida, convide estudantes para esses cursos. O Moodle possui muitos recursos de gerenciamento, como grupos, cadernos, relatórios, papéis personalizados, importação / exportação / arquivamento, pagamentos e integração com muitos outros sistemas. O Moodle é um software PHP, mas funciona em quase todas as plataformas e a maioria dos tipos de banco de dados.

LEMBRANDO QUE TODO PROVISIONAMENTO E COMO PLATAFORMA. Webapp e banco de dados Mysql.

O Segundo passo iremos deixar configurado o acesso ao sistema pelo navegador e o banco de dados como serviço PaaS. Coloque a senha e confirme a senha para acesso ao banco de dados ou manutenção posteriormente.

Aguardar o provisionamento.

Aguardaremos a instalação do APP que também sera provisionada, junto com o banco.

Veja que a plataforma foi criada em WEBAPP, Azure database Mysql

O Moodle já vem pre instalado e daqui para frente e seguir com a transformação do Moodle.

Importante verificar se todos os módulos do PHP estão já ativos , se não e preciso via portal realizar as configurações.

Lembrando que estamos realizando tudo como PaaS e para o administrador quanto o desenvolvedor da ferramenta Moodle muda a forma de lhe dar com a ferramenta.

Interessante sempre estar alinhado com documentações do Azure e do Moodle.

Azure Moodle (https://azuremarketplace.microsoft.com/en-us/marketplace/apps/AppDirect.Moodle?tab=Overview)

Pessoal, espero que tenham gostado.

Acessem meus canais para contato comigo.

Obrigado

Aumentar ou diminuir VM no Azure

vm

Ola pessoal

Um recurso bem simples de fazer no Azure e aumentar ou diminuir o tamanho da máquina.

Irei demonstrar com um Ubuntu e com um Windows.

Veja que estou conectado em um console do Ubuntu Server.

Veja que o modelo da Linux A1 eu irei aumentar para D2. Veja vídeo abaixo.

Do Windows e exatamente a mesma coisa.

O Windows demora um pouco mais, mas é bem simples a demonstração do poder e a facilidade de realizar o crescimento de uma máquina no momento em que você quiser.

Hoje em um processo de VPS tem diferença pois voce precisa acionar suporte para o aumento ou diminuição da maquina virtual.

O processo de diminuir e o mesmo.

Veja o vídeo

Espero que gostem.

Ate o próximo post.

Amazon RDS com banco de dados Mysql

Olá pessoal

 

Hoje irei mostrar um passo a passo para Amazon RDS com banco de dados Mysql.

Na busca no console do AWS faça a busca do RDS

Clique em Get Started Now

No console temos PaaS de serviços 5 banco de dados, escolheremos o MySQL.

Na primeira parte da configuração temos o tipo de engine escolhida, depois a versão do MySQL, em questão de laboratório a versão não contempla o MultiAZ como alta disponibilidade do AWS, o tipo de disco que podemos escolher o Magnetico e disco de alta performance SSD, neste caso escolhi o Magnetico. Aloquei só 5GB como laboratório.

A segunda parte é escolher o nome da instancia, usuário e senha do banco de dados.

A terceira parte é escolher a rede onde vai ficar o banco, No AWS você pode manter na sua VPC (REDE) ou se for para um ambiente WEB você pode criar uma VPC isolada.

Esta parte escolhemos o nome do banco de dados, o parâmetro da versão do banco o grupo do parâmetro da versão.
O Backup mantive o padrão de 7 dias.

Vamos apertar o botão launch DB instance para criação.

A criação é bem rápida, Clique em VIEW YOUR DB INSTANCES para acompanharmos a criação.

Após o clique podemos acompanhar vários itens do banco de dados onde ele mostra a maquina que estará por traz como plataforma. Esta maquina é gerenciada pela AWS. Durante a criação automaticamente no Endpoint é criadoo acesso externo através de liberação de porta para string de acesso ao banco de dados.

Veja a string de acesso ao banco de dados.

Através do MYSQL WORKBENCK (antigo mysql administrator) iremos acessar a string e ver se está apto a manipular os dados do MYSQL.

Coloque a string que foi liberada e faça o teste de conexão.

Pronto você está liberado para manusear tabelas, storeprocedures e outros serviços do MYSQL no AWS.

Veja informações oficiais do site da AWS.

Criando sua primeira instância RDS:

Um vídeo de introdução para RDS: https://www.youtube.com/watch?v=Kz1zmyHw9G0

O que é RDS? http://docs.AWS.amazon.com/AmazonRDS/Latest/UserGuide/Welcome.html

Introdução: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.html

Configurando o RDS dentro um VPC: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html

Práticas recomendadas de RDS: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_BestPractices.html

FAQ: https://aws.amazon.com/rds/faqs/

Centro de conhecimento de suporte de AWS: https://aws.amazon.com/premiumsupport/knowledge-center/#Amazon_Relational_Database_Service _(Amazon_RDS)

Algumas coisas importantes a considerar:

Uma rápida introdução sobre classes de instância de DB, status: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.html

Como funciona o Multi-AZ? http://docs.AWS.amazon.com/AmazonRDS/Latest/UserGuide/Concepts.MultiAZ.html

Minha modificação planejada requer tempo de inatividade: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html

Tipos de armazenamento diferentes para diversos fins: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html

Segurança para suas instâncias de RDS: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.html

Limites para RDS: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html

Depois de obter sua instância RDS configurada, confira estes links para usar o RDS para todo o seu potencial:

Monitorar o desempenho da sua instância do RDS: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Monitoring.html

Diferentes Estados de instância de RDS DB: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_CommonTasks.html

Guia de RDS geral solução de problemas: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Troubleshooting.html

Vários registros, você pode habilitar para solução de problemas: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html

Usando o AWS CloudTrail com RDS para fins de conformidade: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Auditing.html

 

Esperamos que esses recursos vão responder suas perguntas e ajudar que você a começar usando Amazon RDS. Se você tiver outras dúvidas ou preocupações, por favor em contacto connosco nos fóruns RDS:https://forums.aws.amazon.com/forum.jspa?forumID=60

Pessoal até a próxima.

Ubuntu Server Azure com disco gerenciado

Olá Pessoal, hoje mostrarei um passo a passo com a construção do novo serviço com discos gerenciados.

Em resumo o disco gerenciado simplifica a forma de criação e manutenção dos discos. É mais escalável, os discos ficam em um local central.

Todo o gerenciamento é feito pelo Azure.

Veja neste link sobre gerenciamento de discos. https://docs.microsoft.com/pt-br/azure/storage/storage-managed-disks-overview

Eu irei demonstrar o Ubuntu neste passo a passo.

Escolha a versão do Ubuntu, neste caso escolhi a versão Ubuntu Server 16.04.

Neste primeiro passo vamos escolher o nome da máquina, resource group, usuário, senha.

Mais um item interessante novo é a escolha mínima se você digitar o tamanho mínimo de cores e memoria ele vai mostrar os modelos mais próximos do que você digitou. Isto facilita a visão e preço de maquina mais adequado para seu negócio. Eu escolherei o modelo DS1 para o LAB.

Neste passo que muda a forma de escolher a parte de discos. Se você manter No segue o caminho normal para você fazer a gestão do storage account e fazer a gestão dos VHDS. Isso depende do administrador e tipo de servidor e performance de disco o administrador vai separar od VHDS por storage account fazendo a gestão do disco. Ou como neste LAB eu escolherei a gestão do disco com YES você verá uma nova forma da criação dos discos como gerenciados.

Veja que quando eu escolhi USE MANAGED DISKS o elemento Storage Account sumiu. Vamos dar OK e dar sequência no passo a passo.

Veja se está tudo ok e vamos dar sequencia.

Vamos aguardar o deploy do Servidor.

Veja neste link de forma detalhada a criação de forma manual com storage account https://fabiosilva.com.br/2017/02/12/criando-maquina-virtual-redhat-em-arm-azure-resource-manager/

Dentro de nossa campanha Azure IT Pro br o nosso amigo Michel Jatoba fala de disco gerenciado e veja nesta matéria http://micheljatoba.com.br/2017/04/microsoft-azure-disco-gerenciado/ e prestigie.

Veja as 2 imagens acima a primeira imagem normal e a segunda mais abaixo com 1 storages account, a segunda com disco gerenciado não aparece, só um storage account, você não tem a visão por que quem está gerenciando é o Azure, você tem a visão bem mais simplificada e claro você pode inserir mais discos gerenciados. Isso permite que um profissional com menos conhecimento posso criar a máquina e deixar que o disco seja gerenciado pela plataforma com mais precisão.

Dando a sequência vamos acessar o servidor.

Vamos acessar através do Public IP Address

Vamos acessar o ambiente via protocolo SSH através do app Putty.

Pronto o Ubuntu com gerenciamento de disco.

Até a próxima.

Maratona Azure Open Source. 

A Microsoft vem em uma campanha muito legal de investimentos em opensource. Para isso está disponibilizando gratuitamente cursos e com certificado. Aproveitem e façam que é por tempo limitado.

Capturar.PNG

http://www.microsoftdiplomados.com/brasil/?WT.mc_id=602165_OLA_11087213057886_11087213057907

WordPress como plataforma WEB no Azure

wordpress-logo

Olá pessoal

Novas matérias em 2017. E vamos mostrar como criar o WordPress na plataforma Azure.

O WordPress é um dos Frameworks mais populares da web por ser fácil de manusear e desenvolver Apps Webs com entrega rápida e rica.

Quer saber mais sobre WordPress: https://pt.wikipedia.org/wiki/WordPress

Além da fornecedora oficial WordPress tem também da fornecedora Bitnami, ou se você também quiser montar sua desenvolvedora pessoal de sites em WordPress tem versões para multi sites bem interessantes como WordPress Multi-Tier.

Abaixo um passo a passo básico de WordPress single.

O foco do passo a passo está voltado totalmente ao WORDPRESS no AZURE. Existe mais um elemento que é o banco de dados do WORDPRESS mas não está no foco.

Falarei em um próximo post sobre MYSQL no AZURE.

Va em Serviços de aplicativos e escolha WEB. Vá na busca e escolha WORDPRESS. Iremos pelo fornecedor WordPress.

O Segundo passo já é criar o ambiente. Clique em CRIAR

Este passo é realizar as configurações de DNS para acesso e banco de dados do WORDPRESS. Eu escolhi o ClearDB. O Banco é Default Mysql. Deixei ativo o Aplications Insights para ter uma melhor visualização dos logs.
Aceite os termos do ClearDB. Clique em CRIAR.

Depois de instalado o WordPress vamos para as configurações do WordPress padrão. Neste passo estou atualizando para língua em Português Brasil.

Estes procedimentos são todos do WordPress com Título do site, usuário e senha para demonstração. Depois de tudo corretamente configurado, vamos clicar em Instalar o WordPress.

Pronto, em poucos minutos você tem um WordPress pronto para usar dentro do Azure como plataforma. Eu vou importar meu tema que tenho no site do WordPress.com para demonstração com todos meus posts e você pode migrar seu site do seu provedor atual para WordPress.

Estou exportando e utilizando todo meu conteúdo dentro do Azure. Você pode tulizar da mesma maneira e também utilizar o DNS do Azure.

Um e-mail foi enviado para que você receba o link de exportação do tema para não perder nada.

Link recebi é só baixar e vamos importar todo conteúdo para o WordPress no Azure.

O arquivo do site WordPress.com vem em formato .zip, eu descompactei o arquivo XML, são arquivos padrão WordPress.

O Arquivo vem neste formato tudosobretecnologia.wordpress.2017-01-02.002.xml

Vamos fazer o Upload do arquivo em xml. Escolher o Arquie e fazer o Upload.

Veja no rodapé a porcentagem e aguarde terminar.

Veja o comparativo na esquerda no Azure e na direita no WordPress.com, que tudo foi importado, mas é preciso fazer alguns ajustes do tema como cores e botões e etc.

Há diferenças entre WordPress.com e o WordPress implantado no Azure. O Wordress.com você assina níveis de administração e o instalado no Azure você tem toda a liberdade de uso sobre a administração pois não é compartilhado.

No Azure também tem os ajustes do WordPress que usa PHP e Mysql na plataforma. Eu usei o Mysql como plataforma em preview.

Neste menu abaixo de visão geral tem todos os parâmetros para configurações adicionais ou ajustes para PHP e MYSQL

Credenciais de FTP e git

Importante saber a versão do WordPress e a versão do PHP que está rodando para não haver falhas de configuração e segurança da aplicação.

Usamos a plataforma MYSQL como preview. Está na plataforma Windows como vocês estão vendo as configurações.

Sempre olhar no Aplication Insights e nas cotas para saber se está usando o limite.

Bom pessoal, dúvidas por favor sempre entre em contato.

Infografico tudo sobre Contêiners

O Site Lab27 lançou um infográfico muito interessante e completo com tudo sobre Contêineres Dockers e abordagens que estão relacionadas.

Em resumo Docker é um projeto OpenSource que fornece uma plataforma para desenvolvedores e administradores de sistemas permitindo que se crie contêineres leves e portátil de diversas aplicações.

Sua funcionalidade permite adicionar e simplificar o uso, dos linux contêineres (LXC), que são, basicamente, uma forma de isolamento de processo e sistemas, quase como virtualização, porém mais leve e integrada ao host. O Docker permite criar aplicações e “contêineres” que isolam o S.O base e todo a pilha de dependências de seu app (libs, servidores e etc) de forma leve em espaço e performance.

Veja mais informações em https://www.docker.com/.

conteiners

É um infográfico bem completo e vai ajudar a você a memorizar e entender como funciona.

Segue link abaixo para você baixar:

http://lab27.blob.core.windows.net/wordpress/2016/10/Windows-Server-Container-Infographic-BRZ.pdf?linkId=30163695&wt.mc_id=AID520771_EML_4722229

Até mais pessoal.

 

Automatização de ambiente com Ansible

ansible

Você que tem ambientes grandes e complexos, ambiente com muitas maquinas hoje é até um pecado não automatizar ambiente.

Com o advento de Nuvem e virtualização cada vez mais teremos mais servidores e serviços separados com elasticidade.

O Ansible veio para automatizar ambiente e facilitar as tarefas chatas de atualização ou instalação de patchs e muito mais.

Eu não vou mostrar como instalar o Ansible pois é uma tarefa relativamente facil

yum install ansible ou apt-get e blá blá blá o google mostra o caminho a você que se interessar.

header2

Introdução

Ansible é um sistema de gerenciamento de configuração fácil que pode ser usada para automatizar e organizar suas tarefas de configuração do sistema para uma grande rede de computadores. Enquanto alguns outros sistemas de gerenciamento de configuração exigem muitos pacotes diferentes para ser instalado nos sistemas de servidor e cliente, com Ansible, você só precisa instalar um componente do servidor e ter acesso SSH para as máquinas clientes.

Neste guia, vamos discutir playbooks ansible, que são forma de criar scripts automatizados para configurar computadores clientes do Ansible.

Vamos supor que você tem um servidor Ansible configurado e alguns clientes.

No nosso guia, o servidor é um Ubuntu 12.04 máquina, e os clientes que vão ser configuração também são Ubuntu 12.04 máquinas, para facilidade de explicação.

Quais são Playbooks ansible?

Playbooks ansible são uma forma de enviar comandos para computadores remotos via script através do SSH. Em vez de usar comandos Ansible individualmente para configurar remotamente os computadores a partir da linha de comando, você pode configurar ambientes complexos inteiros por meio de um script para um ou mais sistemas.

Playbooks ansible estão escritos no formato de serialização de dados YAML. Se você não sabe o que é um formato de dados, pense nisso como uma maneira de traduzir uma estrutura de dados (listas, matrizes, dicionários, etc) em um formato que pode ser facilmente armazenado no disco. O arquivo pode então ser utilizada para criar a estrutura em um momento posterior. JSON é um outro formato  de dados popular, mas YAML é muito mais fácil de ler.

Cada cartilha contém uma ou mais peças, que mapeiam hosts para uma determinada função. Ansible faz isso através de tarefas, que são basicamente as chamadas em módulos.

Explorando um Playbook Básico

Veja o comando.

--- - hosts: droplets tasks: - name: Installs nginx web server apt: pkg=nginx 
state=installed update_cache=true notify: - start nginx handlers: 
- name: start nginx service: name=nginx state=started 

Vamos em seções para que possamos entender como esses arquivos são construídos e que cada peça significa.

O arquivo começa com:

 --- 

Este é um requisito para YAML para interpretar o arquivo como um documento adequado. YAML permite que vários “documentos” em um arquivo, cada um separado por --- , mas Ansible só quer um por arquivo, de modo que este só deve estar presente na parte superior do arquivo.

YAML é muito sensível ao espaço em branco, e usa isso para agrupar diferentes peças de informação em conjunto. Você deve usar apenas espaços e não tabs e você deve usar espaçamento consistente para o arquivo a ser lido corretamente. Itens no mesmo nível de recuo são considerados elementos irmãos.

Os itens que comecem com um - são considerados itens da lista. Os itens que têm o formato de key: value operar como hashes ou dicionários. Isso é muito bonito tudo o que há para YAML básica.

Documentos YAML, basicamente, definir uma estrutura de árvore hierárquica com os que contêm elementos mais à esquerda.

Na segunda linha, temos o seguinte:

 --- - hosts: droplets 

Este é um item de lista no YAML como aprendemos acima, mas uma vez que é no mais à esquerda do nível, é também uma “peça” Ansible. Peças são basicamente grupos de tarefas que são executadas em um determinado conjunto de hosts, que lhes permitam cumprir a função que deseja atribuir a eles. Cada jogo deve especificar um host ou grupo de exércitos, como fazemos aqui.

Em seguida, temos um conjunto de tarefas:

 --- - hosts: droplets tasks: - name: Installs nginx web server 
apt: pkg=nginx state=installed update_cache=true notify: - start nginx 

No nível superior, temos “tarefas:” no mesmo nível “hosts:”. Este contém uma lista (porque começa com um “-“), que contém pares chave-valor.

O primeiro, “nome”, é mais do que uma descrição do que um nome. Você pode chamar isso de qualquer coisa que você gostaria.

A próxima chave é “apto”. Esta é uma referência a um módulo Ansible, assim como quando usamos o comando ansible e digitar algo como:

 ansible -m apt -a 'whatever' all 

Este módulo permite especificar um pacote e o estado que ele deve estar em, que é “instalado” no nosso caso. O update-cache=true parte diz a nossa máquina remota para atualizar seu cache de pacotes (apt-get update) antes de instalar o software.

O item “notificar” contém uma lista com um item, o que é chamado de “começar nginx”. Este não é um comando interno Ansible, é uma referência a um manipulador, que pode executar determinadas funções quando é chamado a partir de uma tarefa. Vamos definir o “start nginx” manipulador abaixo.

 --- - hosts: droplets tasks: - name: Installs nginx web server 
apt: pkg=nginx state=installed update_cache=true notify: - 
start nginx handlers: - name: start nginx service: name=nginx state=started 

A seção “manipuladores” existe ao mesmo nível que os “hosts” e “tarefas”. Manipuladores são como tarefas, mas eles só correr quando lhes foi dito por uma tarefa que ocorreram alterações no sistema do cliente.

Por exemplo, temos um manipulador aqui que inicia o serviço Nginx após o pacote é instalado. O manipulador não é chamado a menos que o “Instal servidor web nginx” resultados da tarefa em mudanças no sistema, o que significa que o pacote teve de ser instalado e já não estava lá.

Nós podemos salvar este em um arquivo chamado algo como “nginx.yml”.

Só por algum contexto, se você fosse escrever esse mesmo arquivo em JSON, que poderia ser algo como isto:

 [ { "hosts": "droplets", "tasks": [ { "name": "Installs nginx web server", 
"apt": "pkg=nginx state=installed update_cache=true", "notify": [ "start nginx" ] } ], 
"handlers": [ { "name": "start nginx", "service": "name=nginx state=started" } ] } ] 

Como você pode ver, YAML é muito mais compacto e maioria das pessoas diria mais legal.

Executando um Ansible Playbook

Depois de ter um guia estratégico construído, você pode chamá-lo facilmente usando este formato:

 playbook.yml ansible-playbook

Por exemplo, se queríamos para instalar e iniciar o Nginx em todos os nossos servidores, poderíamos emitir este comando:

 ansible-playbook nginx.yml 

No entanto, se nós gostaríamos de filtrar a lista , aplicar-se apenas a um desses hospedeiros, podemos adicionar um sinalizador para especificar um subconjunto dos arquivos:

 ansible-playbook -l host_subset playbook.yml

Então, se nós só quesermos instalar e executar o Nginx em um servidor, por exemplo “host3”, que poderia digitar o seguinte:

 ansible-playbook -l host3 nginx.yml 

Adicionando recursos ao Playbook

Agora a nossa cartilha tem esta aparência:

---
- hosts: droplets
  tasks:
    - name: Installs nginx web server
      apt: pkg=nginx state=installed update_cache=true
      notify:
        - start nginx

  handlers:
    - name: start nginx
      service: name=nginx state=started

É simples e funciona, em vários hosts ou em um só.

Podemos começar a expandir a funcionalidade através da adição de tarefas.

Adicionar um padrão Index Arquivo

Podemos dizer-lhe para transferir um arquivo do nosso servidor Ansible no host, adicionando algumas linhas como este abaixo:

---
- hosts: droplets
  tasks:
    - name: Installs nginx web server
      apt: pkg=nginx state=installed update_cache=true
      notify:
        - start nginx

    - name: Upload default index.html for host
      copy: src=static_files/index.html dest=/usr/share/nginx/www/ mode=0644

  handlers:
    - name: start nginx
      service: name=nginx state=started

Podemos, então, fazer um diretório chamado static_files em nosso diretório atual e coloque um arquivo index.html dentro.

 mkdir static_files nano static_files/index.html 

Dentro desse arquivo, vamos apenas criar uma estrutura básica html:

 <html> <head> <title>This is a sample page</title> </head> <body> 
<h1>Here is a heading!</h1> <p>Here is a regular paragraph. Wow!</p> 
</body> </html> 

Salve e feche o arquivo.

Agora, quando executar novamenter o playbook, Ansible irá verificar cada tarefa. Vai ver que Nginx já está instalado no host, por isso vai deixá-lo ser. Ele vai ver a nova seção tarefa e substituir o arquivo index.html padrão com o do nosso servidor.

Resultados

Quando instalar e configurar os serviços manualmente, é quase sempre necessário saber se suas ações foram bem-sucedidas ou não. Podemos cozinhar essa funcionalidade em nossos playbooks usando “registrar”.

Para cada tarefa, que pode, opcionalmente, registrar seu resultado (sucesso ou falha) em uma variável que podemos verificar mais tarde.

Ao utilizar esta funcionalidade, também temos de dizer Ansible para ignorar erros para essa tarefa, já que normalmente ele aborta a execução cartilha para aquela máquina se qualquer problema acontece.

Assim, se quiser verificar se uma tarefa falhou ou não para decidir sobre os passos subsequentes, podemos usar a funcionalidade de registo.

Por exemplo, poderíamos dizer o nosso guia estratégico para carregar um index.php  se ele existir. Se essa tarefa falhar, poderíamos em vez de tentar carregar um index.html. Vamos verificar a condição de falha na outra tarefa, porque nós só queremos fazer o upload do arquivo HTML se o arquivo PHP falhar:

---
- hosts: droplets
  tasks:
    - name: Installs nginx web server
      apt: pkg=nginx state=installed update_cache=true
      notify:
        - start nginx

    - name: Upload default index.php for host
      copy: src=static_files/index.php dest=/usr/share/nginx/www/ mode=0644
      register: php
      ignore_errors: True

    - name: Remove index.html for host
      command: rm /usr/share/nginx/www/index.html
      when: php|success

    - name: Upload default index.html for host
      copy: src=static_files/index.html dest=/usr/share/nginx/www/ mode=0644
      when: php|failed

  handlers:
    - name: start nginx
      service: name=nginx state=started

 

Esta nova versão tenta carregar um arquivo de índice PHP para o local indicado. Ela regista com sucesso da operação em uma variável chamada “PHP”.

Se esta operação foi bem sucedida, a tarefa ira remover o arquivo index.html é executado em seguida.

Se a operação falhar, o arquivo index.html é carregado em vez disso.

Conclusão

Agora, você deve ter um bom controle sobre como automatizar tarefas complexas usando Ansible.

Este é um exemplo básico de como você pode começar a construir a sua biblioteca de configuração.

Combinando definições de host e do grupo como nós aprendemos sobre este tutorial, e com variáveis disponíveis para preencher as informações, podemos começar a montar sistemas complexos que interagem uns com os outros. Em um artigo futuro, vamos discutir como implementar variáveis em nossos playbooks e criar funções para ajudar a gerenciar tarefas complexas.

Como ainda falamos de nuvem o Ansible em ambiente IaaS publico ou não é ideal.

Teste no Azure e Amazon e não precisa falar que ambiente Onpremisses, todos funcionaram.

Tem um demo sensacional no site oficial:

https://www.ansible.com/

Veja um howto facil.

Se você quer seguir para um caminho de DEVOPS o Ansible é a porta de entrada.

Espero ter ajudado.

Abraços

 

Openstack Day – São Paulo – 08 de Outubro

openstackday.PNG

Dia 08 de Outubro o evento mais esperado para os entusiastas de Openstack.

Agora finalmente em SP.

Você administrador, Sysadmin, Influenciador e entusiasta vá ao evento, seja cloud na veia.

ingresso

Se você não sabe o que é o Openstack veja em https://fabiosilva.com.br/2015/04/12/introducao-ao-openstack/

Vai ser o teste de fogo do evento em SP.

Estarei la e convido a vocês estarem lá.

Obrigado.