Successfully reported this slideshow.
Your SlideShare is downloading. ×

Orquestrando OpenStack com Juju

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Orquestrando OpenStack com Juju

  1. 1. Orquestrando Openstack com Juju
  2. 2. Quem sou eu? Prazer Bruno Carvalho “Essa é uma palestra community as opiniões aqui expressadas são de única responsabilidade minha, e nada referem-se as da empresa para qual trabalho” Consultor e Instrutor Trabalho com TI há cerca de 15 anos e atualmente me aventuro a escrever sobre tecnologia no meu blog www.brunocarvalho.net Cloud Infrastructure Engineer at TIVIT LATAM brunowcs@gmail.com
  3. 3. Roteiro ● O que é Juju ● O que é Charm ● Como funciona ● Diferenças entre ferramentas ● Prós e Contras ● Instalação e Integração ● Orquestrando Serviços em projetos ● Orquestrando Infraestrutura OpenStack
  4. 4. O que é Juju? ● Juju é uma ferramenta de modelagem de serviços open source para orquestração de serviços na nuvem ● Desenvolvida em Go pela Canonical desde 2011, atualmente na versão 2.2 ● O Juju pode ser usado tanto em linha de comando ou através de uma interface GUI ● Com Juju é possível implementar, configurar, gerenciar, manter e escalar aplicações em nuvens públicas e privadas de uma forma rápida e eficiente através dos seus charms ● Comparando a uma orquestra, o Juju é o maestro que orquestrará seus serviços dentro do Openstack
  5. 5. Usuários e Colaboradores
  6. 6. O que é charm? ● O charm nada mais é do que uma receita de instalação e configuração com gerenciamento de dependências e interligações necessárias para sua aplicação funcionar em uma nuvem ● Podemos “Deployar” um servidor web, um banco de dados, uma servidor de controller OpenStack e relacioná-los para entrega de uma serviço completo. ● Tudo o que você precisa fazer é usar qualquer charm/bundles disponível (ou escrever o seu próprio) e a aplicação correspondente será implantada em segundos no seu projeto OpenStack
  7. 7. Charms e Bundles ● Mais de 300 charms prontos para serem utilizados com alguns clicks ● Vários Bundles gratuitos disponíveis pela canonical e pela comunidade ● Analogia a uma Loja ● Instrumentos – Serviços = Charms ● Partitura – instalação e configuração dos serviços ● Músicos – Unidade de Serviços charms
  8. 8. Como Funciona?
  9. 9. Diferenças Juju, chef, ansible, puppet e cia
  10. 10. Prós e Contras Prós: - Topologia portátil na nuvem - Velocidade na disponibilização de ambiente com alguns clicks - Suporta Linux e Windows Contras: - Sem auto-scallinig - Sem IDE para modelagem do código
  11. 11. Instalando Juju e integrando com OpenStack # cat openstack.yaml clouds: openstack: type: openstack auth-types: [userpass] regions: sua_região: endpoint: https://api.openstack.com:5000/v3 # cat credentials.yaml credentials: openstack: default-region: sua_região default-credential: seu_usuario seu_usuario: auth-type: userpass project-domain-name: seu_dominio tenant-name: seu_projeto user-domain-name: seu_dominio username: seu_usuario password: sua_senha
  12. 12. Instalando Juju e integrando com OpenStack # add-apt-repository --update ppa:juju/stable # apt install juju # juju add-cloud openstack openstack.yaml # juju add-credential openstack -f credentials.yaml # mkdir /opt/metadata # juju metadata generate-image -d /opt/metadata -i 9c435db2-dce9-49ba-bddc-aad13cfdd56a -s xenial -r RegionOne -u https://api.openstack.com:5000/v3 # juju bootstrap openstack controller-one --metadata-source /opt/metadata --config default-series=xenial --constraints "instance-type=CI1.c2m4" --debug --show-log --constraints "cpu-cores=1 mem=2G" --config use-default-secgroup=true --config network=7e01fd6a-b818-41b8-aedd-3a28a201e3ae --config use-floating-ip=true --config external-network=c6a928ee-2947-4313-bbaf-b945efae9eaa
  13. 13. Orquestrando serviços em projetos Criando um Serviço com Charms do Wordpress dentro do projeto OpenStack Onde foi instalado o Controller 1. # juju deploy wordpress 2. # juju deploy mysql 3. # juju add-relation wordpress mysql 4. # juju expose wordpress 5. # juju add-unit wordpress 6. # juju remove-application mysql --constraints="cpu-cores=2 mem=4g" --constraints "instance-type=CI1.c2m4" --config config.yaml wordpress
  14. 14. Juju command-line status 1. # juju status 2. 3. Model Controller Cloud/Region Version SLA 4. default controller-projeto-bruno openstack/sp 2.2.1 unsupported 5. 6. App Version Status Scale Charm Store Rev OS Notes 7. wordpress active 1 wordpress jujucharms 8 ubuntu 8. mysql 5.7.18 active 1 mysql jujucharms 57 ubuntu 9. 10. Unit Workload Agent Machine Public address Ports Message 11. wordpress/2* active idle 2 192.168.10.40 80/tcp Ready 12. mysql/3* active idle 3 192.168.10.41 3306/tcp Ready 13. 14. Machine State DNS Inst id Series AZ Message 15. 2 started 192.168.10.40 2eaaa7ad-472c-4bbd-ad28-fcb3237f0e4e xenial br-spo ACTIVE 16. 3 started 192.168.10.41 2f57a6d5-a69f-4e44-8041-403ca151bd89 xenial br-spo ACTIVE 17. 18. Relation Provides Consumes Type 19. cluster mysql mysql peer 20. db mysql wordpress regular 21. loadbalancer wordpress wordpress peer
  15. 15. Gui Juju # juju status # juju gui
  16. 16. Instâncias no OpenStack
  17. 17. Security Groups OpenStack
  18. 18. Orquestrando Infraestrutura Openstack
  19. 19. Demo demo.jujucharms.com
  20. 20. Bye Obrigado e até a próxima! brunowcs@gmail.com brunocarvalho.net

×