Instalando WildFly8 Em Poucos Minutos Com Vagrant

download Instalando WildFly8 Em Poucos Minutos Com Vagrant

of 7

Transcript of Instalando WildFly8 Em Poucos Minutos Com Vagrant

  • 7/26/2019 Instalando WildFly8 Em Poucos Minutos Com Vagrant

    1/7

    Todos os Lugares > JBUG Brasil > Documentos

    Provisionamento com Vagrant, Virtual Box e Ansible

    Vagrant um software que abstrai provedores de mquinas virtuais como VMWare, VirtualBox,

    KVM, entre outros. Alm de possuir um DSL baseado em Ruby, o Vagrant oferece uma grande

    gama de posibilidades para integrao com sistemas de gerenciamento de configurao como:

    Puppet, Chef, Ansible, etc.

    VirtualBox um programa de mquina virtual, tecnologia que simula um computador dentro de

    outro. Com ele possvel utilizar um sistema Linux dentro de outro sistema operacional.

    Ansible um sistema de automao de configurao desenvolvido em Python que permite

    descrever procedimientos utilizando o formato YAML .

    Preparando o Ambiente

    A instalao do Vagrant realizada utilizando o pacote vagrant_1.8.1_x86_64.rpm disponivel em

    vagrant .

    Execute o pacote e verifique a verso instalada:

    [mmagnani@linux DevOps]$ sudo rpm -Uvh vagrant_1.8.1_x86_64.rpm

    [mmagnani@linux DevOps]$ vagrant -v Vagrant 1.8.1

    Instale tambm os pacotes para a integrao com S.O:

    [mmagnani@linux DevOps]$ sudo yum -y install libxslt-devel libxml2-devel libguestfs-tools-c

    [mmagnani@linux DevOps]$ vagrant plugin install vagrant-nfs_guest

    Observe os plugins instalados:

    [mmagnani@linux DevOps]$ vagrant plugin list vagrant-nfs_guest (0.1.8)vagrant-share (1.1.5, system)

    Para instalar o Ansible execute os seguintes comandos:

    Instalando WildFly 8 em Poucos MinutosUtilizando Ansible

    Criado por Mauricio Magnani Jr em 03/06/2016 00:00. Modificado pela ltima vez por Mauricio Magnani Jr em 03/06/2016 00:03.

    Verso 1

    1 de 7

  • 7/26/2019 Instalando WildFly8 Em Poucos Minutos Com Vagrant

    2/7

    [mmagnani@linux DevOps]$ sudo yum -y install ansible

    [mmagnani@linux DevOps]$ ansible --version ansible 1.9.2 configured module search path =None

    Provisionando o Primeiro Servidor

    Escolha um diretrio no sistema operacional para a criao das configuraes do projeto com

    por exemplo /home/mmagnani/DevOps .

    Dentro desse diretrio execute o comando vagrant init para provisionar o primeiro Boxe

    (VM) atravs do repositorio publico chamado Atlas Hashcorp.

    [mmagnani@linux DevOps]$ vagrant init centos/7

    Esse comando criou um arquivo chamado VagrantFile com uma estrutura inicial comcomentrios explicando cada opo. Inicialmente sero utilizadas apenas algumas dessas

    opes, sendo assim deixe o arquivo VagrantFile como abaixo:

    VAGRANTFILE_API_VERSION= "2"

    ENV['VAGRANT_DEFAULT_PROVIDER']= 'virtualbox'

    Vagrant.configure(VAGRANTFILE_API_VERSION)do |config|

    config.vm.box = "centos/7"

    config.vm.define :wildflydo |wildfly|

    wildfly.vm.hostname = "wildfly"

    wildfly.vm.network :private_network, :ip=>"192.168.90.50"

    wildfly.vm.provision "ansible"do |ansible|

    ansible.playbook = "wildfly.yml"

    ansible.verbose = "vvv"

    end

    wildfly.vm.provider :libvirtdo |domain|

    domain.memory = 1024

    domain.cpus = 2

    end

    end

    end

    Para a instalao do WildFly crie um novo playbook chamado wildfly.yml e deixe-o como

    abaixo:

    2 de 7

  • 7/26/2019 Instalando WildFly8 Em Poucos Minutos Com Vagrant

    3/7

    - hosts: wildfly

    sudo: True

    user: vagrant

    tasks:

    - name: "Instala OpenJDK"

    yum: name=java-1.8.0-openjdk-devel state=latest

    - name: "Instala o wget e unzip"

    shell: sudo yum -y install wget unzip

    - name: "Instala o OpenSSL"

    yum: name=openssl state=latest

    - name: "Download do WildFly"

    get_url: url=http://download.jboss.org/wildfly/8.2.1.Final/wildfly-8.2.1.Final.zip dest=/tmp/wildfly-8.2.1.Final.zip

    - name: "Descompacta o WildFly em /opt"

    unarchive: src=/tmp/wildfly-8.2.1.Final.zip dest=/opt copy=no

    - name: "Cria link simbolico para o WildFly"

    shell: sudo ln -s /opt/wildfly-* /opt/wildfly

    - name: "Copia o arquivo wildfly.service para criar o servio"

    copy: src=wildfly.service dest=/etc/systemd/system

    - name: "Permisso do servio"

    shell: sudo chmod 644 /etc/systemd/system/wildfly.service

    - name: "Usuario WildFly"

    shell: sudo useradd -p `openssl passwd -1 wildfly` wildfly

    - name: "Adiciona ao Grupo wildfly"

    shell: sudo usermod -aG wildfly wildfly

    - name: "Permisso do diretrio"

    shell: sudo chown -R wildfly:wildfly /opt/wildfly*

    - name: "Configura o usuario do wildfly como sudo"

    lineinfile: 'dest=/etc/sudoers line="wildfly ALL=(ALL) NOPASSWD:ALL" state=present

    validate="visudo -cf %s"'

    - name: "Habilita o servico do WildFly"

    shell: sudo systemctl enable wildfly.service

    - name: "Inicia o servico do WildFly"

    shell: sudo systemctl start wildfly.service

    3 de 7

  • 7/26/2019 Instalando WildFly8 Em Poucos Minutos Com Vagrant

    4/7

    No diretrio onde esto todas as configuraes, crie um novo arquivo chamado wildfly.service

    que ser utilizado pelo playbook wildfly.yml :

    [Unit]

    Description=WildFly 8.2.1

    After=syslog.target network.target

    [Service]

    Type=simple ExecStart=/opt/wildfly/bin/standalone.sh

    [Install]

    WantedBy=multi-user.target

    Para inicializar o Box utilize o comando vagrant up :

    [mmagnani@linux DevOps]$ vagrant up

    Terminada a instalao, navegue at a URL http://IP:8080 , observe que o WildFly ainda no

    est acessvel.

    Acesse o servidor wildfly utilizando SSH com o comando vagrant ssh wildfly :

    [mmagnani@localhost DevOps]$ vagrant ssh wildfly

    Edite o arquivo /opt/wildfly/bin/standalone.conf e adicione as configuraes de binding para a

    varivel JAVA_OPTS :

    if [ "x$JAVA_OPTS"= "x"]; then

    JAVA_OPTS="-Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true"

    JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"

    JAVA_OPTS="$JAVA_OPTS -Djboss.bind.address.management=192.168.90.50 -Djboss.bind.address=192.168.90.50"

    Reinicie o WildFly:4 de 7

  • 7/26/2019 Instalando WildFly8 Em Poucos Minutos Com Vagrant

    5/7

    [vagrant@wildfly bin]$ sudo systemctl restart wildfly.service

    Acesse novamente a URL http://IP:8080 e a pgina inicial do WildFly ser exibida:

    Ainda no servidor do WildFly crie um usurio de gerenciamento para ser utilizados nos testes

    de integrao e deploy. Adione um usurio com a Role ( ManagementRealm ) de Gerenciamento

    como abaixo:

    5 de 7

  • 7/26/2019 Instalando WildFly8 Em Poucos Minutos Com Vagrant

    6/7

    [vagrant@wildfly bin]$ pwd

    /opt/wildfly/bin

    [vagrant@wildfly bin]$ sudo ./add-user.sh

    What type of user do you wish to add?

    a)Management User (mgmt-users.properties)

    b)Application User (application-users.properties)

    (a): a

    Enter the details of the new user to add.

    Using realm 'ManagementRealm' as discovered from the existing property files.

    Username : devops

    Password recommendations are listed below. To modify these restrictions edit the add-user.properties

    configuration file.

    - The password should not be one of the following restricted values {root, admin, administrator}

    - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1

    non-alphanumeric symbol(s)

    - The password should be different from the username

    Password : devops@2015

    Re-enter Password : devops@2015

    What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for

    none)[ ]:

    About to add user 'devops'for realm 'ManagementRealm'Is this correct yes/no? yes

    Added user 'devops' to file '/opt/wildfly-8.2.1.Final/standalone/configuration/mgmt-users.properties'

    Added user 'devops' to file '/opt/wildfly-8.2.1.Final/domain/configuration/mgmt-users.properties'

    Added user 'devops' with groups to file '/opt/wildfly-8.2.1.Final/standalone/configuration/mgmt-

    groups.properties'

    Added user 'devops' with groups to file '/opt/wildfly-8.2.1.Final/domain/configuration/mgmt-

    groups.properties'

    Is this new user going to be used for one AS process to connect to another AS process?

    e.g. for a slave

    Navegue at a URL http://wildfly:9990 e faa login com o usurio devops no painel de

    gerenciamento do WildFly:

    6 de 7

  • 7/26/2019 Instalando WildFly8 Em Poucos Minutos Com Vagrant

    7/7

    Classificao de usurio mdio

    (0 Classificaes)

    A instalao e configurao do WildFly est finalizada.

    105 Visualizaes Categorias: Rtulos:

    wildfly.service.zip

    287 bytes

    wildfly.yml.zip

    747 bytes

    No h comentrios neste documento.

    0 Comentrios

    7 de 7