dchq cloud application platform | linux containers | docker paas

Download DCHQ Cloud Application Platform | Linux Containers | Docker PaaS

Post on 05-Jan-2016

13 views

Category:

Documents

4 download

Embed Size (px)

DESCRIPTION

DCHQ is a deployment automation, life-cycle management & governance platform for Docker-based applications. Developers can model, deploy, backup, update and monitor container-based applications in seconds.

TRANSCRIPT

  • Installing DCHQ On-Premise - Automating Docker App

    Deployment & Life-Cycle Management on Any Cloud

    https://www.youtube.com/watch?v=39dTw8zYccg

    In this blog, we will go over the detailed steps for installing DCHQ On-Premise.

    We offer a couple of options for installing the platform on a supported Linux host:

    1. Using an installation shell script that can be downloaded from the DCHQ website

    2. Using DCHQ.io Hosted PaaS where DCHQ On-Premise is modeled as an application template that can be deployed on any registered Linux host

    In this blog, we will cover the installation shell script method only.

    Step 1: Fill out the request form on http://dchq.co/dchq-on-

    premise.html

    In order to get access to the install shell script, a user needs to fill out a form on

    http://dchq.co/dchq-on-premise.html.

  • Step 2: Download the installation shell script

    Once the request form has been submitted, a URL to the software download page will be sent the

    users. This page contains the installation shell script along with some out-of-box application

    templates & plug-ins for Java, Ruby, Python, and PHP stacks.

    Download the installation shell script from the software download page.

  • Step 3: Ensure that you have a supported Linux host

    DCHQ On-Premise is supported on Ubuntu, CentOS and Red Hat Enterprise Linux. We support

    the versions that are certified with Docker so please check Dockers official page before attempting the DCHQ installation.

    The installation requires at 14 GB of Memory if you plan on running 1,000 containers or more.

    Our scalability tests were performed with up to 25,000 running containers with this

    configuration.

    Of course, make sure that you have root access to the Linux host on which youre going to install DCHQ On-Premise.

    The installation shell script does the following:

    Allows a user to configure the email settings. The following inputs can be provided.

  • 1. SMTP Server & Port the server that will be used to send email alerts for new user sign ups or when performance issues occur

    2. FROM Email Address the email address used to send confirmations to new user sign ups (e.g. support@.com)

    3. BCC Email Address the email address that should be included in BCC when new users sign up

    Allows a user to set a proxy for Docker

    Checks if Docker is installed if not, it will install Docker Pulls the public DCHQ images needed to run DCHQ On-Premise:

    1. dchq/dchq-on-premise-v2-tomcat:latest-v2 2. dchq/dchq-on-premise-v2-rabbitmq:latest-v2 3. dchq/dchq-on-premise-v2-postgres:latest-v2 4. dchq/dchq-on-premise-v2-redis:latest-v2 5. dchq/dchq-on-premise-v2-solr:latest-v2

    Runs the containers with all the environment variable bindings needed

    1. Note: The RabbitMQ & Postgres passwords are randomly generated using 36 alphanumeric characters

    Step 4: Run the script on a supported Linux host

    Again, make sure that you have root access to this Linux host, and then do the following.

    sudo su

    chmod 700 dchq_server_install.sh

    ./dchq_server_install.sh

    You will be prompted to set up the email settings (optional) and the proxy (optional). If you type

    N, the installation will go through and run all the containers needed for DCHQ On-Premise. The

    installation should not take more than 10 minutes depending on your bandwidth and how fast the images can be pulled from Docker Hub.

  • Step 5: Log into DCHQ On-Premise and Save the

    RabbitMQ & Postgres passwords for your record

    Once the installation is complete, a confirmation message should show up with the following

    information.

    Database Password

    RabbitMQ Password

    DCHQ On-Premise URL & Default Login Credentials

    Make sure that you save this information for your records.

    Log into DCHQ On-Premise using the default credentials (admin@dchq.io / admin123).

  • Step 6 (IMPORTANT): Update the System Settings in the

    DCHQ web console

  • In order to ensure that new hosts registered can establish communication with RabbitMQ and

    that the agent can be installed correctly, please update the System Setting page from the

    Manage drop-down.

    Here are the entries that you need to update:

    dchq.agent.script.url this is the location of the DCHQ agent install script. Its currently hosted on DCHQ.cos software download page as well as on Dropbox

    1. http://dchq.co/uploads/3/5/3/5/3535863/dchq_agent_install_v2.sh 2. https://www.dropbox.com/s/fxys4nyhy7t209h/dchq_agent_install_v2.sh?dl=1

    However many customers may want to host this script on Amazon S3 or on a local

    server. So just ensure that this script is accessible from the hosts that you will register on

    DCHQ On-Premise to orchestrate Docker app deployments.

    dchq.agent.connect.ip this is the public IP of the host thats running DCHQ On-Premise

    dchq.agent.connect.port this is the host port that is mapped to RabbitMQs port 5672. By default, this is 32902 but you can always run docker ps to make sure that youre copying the right port

    dchq.base.url this is the URL that is listed in the installation complete confirmation message. By default, its

    o :32901

    You can run docker ps to ensure that youre copying the right host port that is mapped to Tomcats port 8080.

  • Step 7: Create a Cluster

    In order to test a basic application deployment, we need to either:

    Automate the provisioning of Linux hosts on any of the 12 cloud providers we support

    (e.g. OpenStack, CloudStack, AWS, DigitalOcean, Rackspace, Microsoft Azure,

    SoftLayer, Google Compute Engine, etc.), or

    Register an existing Linux host that could be running anywhere

  • Before we can register a Linux host, we need to create a cluster. This can be done by navigating

    to Manage > Clusters and then clicking on the + button. In the recorded video, we made things

    simple and selected Docker networking.

    Step 8: Add an existing Linux host to orchestrate Docker

    application deployments

    Now that weve added our cluster, we will register an existing Linux host by navigating to Manage > Bare-Metal Server & VM and then clicking on the + button to select Any Host/VM.

    Here are the parameters required:

    Name: This could be any string value (e.g. DEV Server)

  • IP: This is the IP of the host youre trying to register

    Cluster: Select the cluster that youll be associating this server with

    IMPORTANT once you click Save, an auto-generated script will be provided that needs to be executed on the Linux host youre trying to add.

    The script expects at least 3 arguments and would like something like this:

    curl -Ls | bash -s

    All of these parameters can be overridden in the System Settings page by the Cloud Admin.

    Note that if Weave had been enabled on this cluster, then the script would follow this format.

    Registering the 1st Server in the Weave Cluster

    curl -Ls | bash -s

    weave.local

    where is a random password that you can pass.

    Registering Additional Servers in the Weave Cluster

    curl -Ls | bash -s

    weave.local

    where is the IP address of the 1st server in the Weave cluster

  • Step 9: Create a basic Wordpress with MySQL application

    template

    Navigate to Manage > Templates and then click on the + button to add a Docker Compose

    template.

    You can either copy & paste the template (below) or you can download the template from the

    DCHQ software download page, and then import it by click on the Actions menu and select

    Import Template.

    Wordpress:

    image: wordpress:latest

    mem_limit: 1g

    publish_all: true

  • environment:

    - WORDPRESS_DB_PASSWORD={{MySQL|MYSQL_ROOT_PASSWORD}}

    - WORDPRESS_DB_HOST={{MySQL|container_ip}}:3306

    - WORDPRESS_DB_USER={{MySQL|MYSQL_USER}}

    - WORDPRESS_DB_NAME={{MySQL|MYSQL_DATABASE}}

    MySQL:

    image: mysql:latest

    mem_limit: 1g

    publish_all: false

    environment:

    - MYSQL_USER=root

    - MYSQL_DATABASE=wordpress

    - MYSQL_ROOT_PASSWORD={{alphanumeric | 12}}

  • Step 10: Assign the newly created cluster as the default

    cluster

    Navigate to Manage > Users and edit the admin user. Select the newly created cluster as the

    Default Cluster for this user.

  • Step 11: Request the Wordpress application from the Self-

    Service Library

    Navigate to Library and click Run on the Wordpress application.

    Once the application is up and running, access the IP on the exposed port for Wordpress (i.e. the

    host port mapped to 8080) to make sure that the app was successfully deployed.

    If you run into any issues, please shoot me an email.

    Download DCHQ On-Premise Now!!

  • Contact US :

    650-307-4783

    814 Mission Street,

    6th Floor San Francisco,

    CA, 94103