Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Orquestrando OpenStack com Juju

1,015 views

Published on

Palestra openstack day 2017
www.brunocarvalho.net

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

×