Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section
Column
width400px

Introduction

The whole azeti Engine application stack can be demoed using the azetiCloud demoBundle leveraging docker to virtualize the whole stack. The process itself is pretty straight forward - consultants send customers the demoBundle.zip and the customer only needs to extract it and setup the Vagrant VM.following guide will explain how to install a self contained azeti Engine on an Docker Host. It is a very fast way to get started.

Info

Please note that this way is intended for demonstrations, test and PoC environments. Further steps are required to scale up an installation for hundreds or thousands of sites. Contact our Service Desk for further information.

Prerequisites

ResourceFurther Information
  •  Create a free DockerHub account. The software is downloaded from azetis restricted DockerHub repository.
https://hub.docker.com/
  •  Request a trial license and access through the azeti Service Desk. You will receive installation files, a license and access.
Info

Please refer to your DockerHub username when requesting the license. This allows azeti to unlock you for the software download.

https://azetinetworks.atlassian.net/servicedesk/customer/portal/1/create/8
  •  Installed Docker Host with administrative privileges and internet access.
Info

We recommend Ubuntu LTS 16.04 as OS for Docker.

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04
  •  Installed docker-compose tool. Required to execute the initialization scripts.
https://docs.docker.com/compose/install/
Column
width400px

Panel
borderColorlightgrey
bgColor#f0f0f0
titleOn this page:

Table of Contents

Related pages:articles

Filter by label (Content by label)
showLabelsfalse

showSpacefalse
sortcreation
cqllabel = "docker"

Prerequisites

Technical prerequisites for customer

For running the DockerDemo the host needs to have the following pre-requisites:

  • recent installation of Vagrant (1.7+) (it is freely available from https://www.vagrantup.com)
  • Windows 7+, OS X 10.10+
  • administrative privileges are required for installing Vagrant and running it
  • Vagrant runs on a separate network interface, one has to make sure, that this special interface (usually having IP: 192.168.33.10) is not firewalled; furthermore without further configuration it cannot be reached from the local network
  • for Linux/Ubuntu the DockerDemo can be run directly, but you need to have a very recent version of the DockerEngine (1.11+) and DockerCompose (1.7+) and you have to make sure, that there are no conflicting applications running, because usually they get bridged to localhost.

Administrative prerequisites for customer

The customer needs to have a DockerHub (https://hub.docker.com) account, and this account has to be a member of the Azeti organization (https://hub.docker.com/u/azeti/) to access the private DockerImages from Azeti. 

Administrative prerequisites for consultant

Basically you need to get hold of the latest demoBundle; it is automatically built and tagged with the corresponding version numbers of the whole stack. The demo bundle can be downloaded from the in-house private Nexus at: http://10.0.0.70:8081/nexus/content/repositories/demos/net/azeti/ssc/demo/demoStack/ This site is only available from inside the Azeti network (or via VPN) and you need Nexus credentials.

Installation of the Docker Environment

  •  make sure all pre-requisites are met
  •  extract demoStack-Version.zip (e.g. demoStack-0.3.6.zip), it will expand into a demo folder
  •  

    change to this folder, open a command prompt / terminal there and run 

    Code Block
    vagrant up
  •  

    it might take some time and will prompt for your DockerHub credentials (username, passwort) and hit Enter

    Code Block
    Username for DockerHub: customerusername
    Password for DockerHub: allyoursecretsarebelongtous
  •  

    for the first time a lot of files need to be downloaded (2.5 GB) so be patient

  •  

    after a while you should see something like 

    Code Block
    Demo has been successfully deployed!
  •  

    then you can open your browser at http://192.168.33.10:8080/SSCAdminApp

Installation on existing Docker Hosts

Installation on Docker-enabled environments is the fastest way; just open a Bash shell in the demo folder and run 

Code Block
./init_stack.sh

Typical Usage

Start / Stop

Simply stop the Vargrant VM, either via VirtualBox or (being in the demo folder) for stopping:

Code Block
vagrant halt

For starting: 

Code Block
vagrant up

Updating

The demo stack can be easily updated without losing data, because it just depends on the private azeti/tomcat-data image, that has the latest releases. For updating you need to login in to the Vagrant VM (password + username are both vagrant) and call the update script 

Code Block
vagrant ssh
sudo -s
cd /bootstrapping
./update_stack.sh

Uninstalling

The whole stack can seamlessly uninstalled by either removing the Vagrant VM from VirtualBux or (being in the demo folder): 

Code Block
vagrant destroy
Warning

 This will destroy and purge all your data!

Troubleshooting



Installation

  1. Ensure that you got docker-compose installed.

    Code Block
    root@ubuntu:~# which docker-compose
    /usr/local/bin/docker-compose
    root@ubuntu:~# docker-compose -v
    docker-compose version 1.7.1, build 0a9ab35
    root@ubuntu:~#
  2. Extract the installation files

    Code Block
    ~/Downloads ❯❯❯ unzip demoStack-1.0.6.zip
      ...
      inflating: demo/init_stack.sh
  3. Execute init_stack.sh and follow the instructions. It will automatically pull the required images and files from the azeti repository and set up the basic system.

    Code Block
    ~/Downloads/demo ❯❯❯ ./init_stack.sh
    For this script to work, you need credentials for the DockerHub and you must have read access to the Azeti Organization!
    Enter DockerHub username and press [ENTER]:

Docker Stack Administration

The azeti Engine stack comes with a collection of administrative scripts which wrap around docker-compose. Change into the demo directory to access the scripts.

Code Block
azeti@ubuntu:~/demo$ ll
total 48
...
-rwxr-xr-x 1 azeti azeti  101 May 31 17:40 start_stack.sh*
-rwxr-xr-x 1 azeti azeti   99 May 31 17:40 stop_stack.sh*
-rwxr-xr-x 1 azeti azeti  915 May 31 17:40 update_stack.sh*

Starting and Stopping

Use the start and stop script.

Code Block
azeti@ubuntu:~/demo$ sudo ./stop_stack.sh
Stopping the full stack...
Stopping sscdemo_influxdb_1 ... done
Stopping sscdemo_db_1 ... done

Same for starting it up again.

Code Block
azeti@ubuntu:~/demo$ sudo ./start_stack.sh
Starting the full stack...
Starting influxdb_data ... done
Starting db_data ... done
Starting db ... done
Starting influxdb ... done
...

Update

You can easily update the full stack with the script, it does a docker-compose pull ... and fetches the latest application builds. Make sure to create backups before hand.

Code Block
azeti@ubuntu:~/demo$ sudo ./update_stack.sh
Enter DockerHub username and press [ENTER]: 
Enter DockerHub password and press [ENTER]: 
Login Succeeded
Stopping the full stack...
Stopping sscdemo_tomcat_1 ... done
Stopping sscdemo_activemq_1 ... done
Stopping sscdemo_influxdb_1 ... done
Stopping sscdemo_db_1 ... done
Pulling tomcat (azeti/tomcat-data:latest)...
latest: Pulling from azeti/tomcat-data
8b87079b7a06: Already exists
..
Starting sscdemo_db_data_1
...Starting activemq ... done
Starting tomcat ... done

Log Rotation

Docker will not rotate container logfiles automatically. This can cause high disk usages and large amount of log file data. Check with your Docker Administrator if any log rotation is already configured. Below is an easy approach (based upon this article) for regular rotation using logrotate.

  1. Create a new Logrotate config file in /etc/logrotate.d/docker-container
  2. Enter the below configuration

    Code Block
    var/lib/docker/containers/*/*.log {
      rotate 7
      daily
      compress
      size=1M
      missingok
      delaycompress
      copytruncate
    }
  3. Start logrotate with the new configuration

    Code Block
    logrotate -fv /etc/logrotate.d/docker-container

Next Steps

Info
titleRelated articles