# Automated HPE Ezmeral Runtime Enterprise deployment

Usage of Ansible playbooks to deploy the HPE Ezmeral Runtime Enterprise is automated and eliminates manual intervention. Ansible playbooks provides the following functionalities for the installation user to deploy HPE Ezmeral Runtime Enterprise.

  • Install the SLES OS on bare metal servers

  • Prepare the hosts for HPERE implementation

  • Setup docker-registry to deploy ere through air-gapped environment

  • Install the controller nodes

  • Add gateway nodes, delete gateway nodes or enable gateway HA

  • Add and delete EPIC worker nodes.

  • Enable and Disable controller HA

  • Add or remove hosts on the Kubernetes cluster

  • Create and delete Kubernetes cluster

  • Create and delete tenants

Prerequisites

  • Any Ansible Linux machine with Ansible 2.9.x and python 3.x.

  • Minimum five (5) nodes with SLES 15 SP3 or CentOS 7.6 or higher version or RHEL (nodes can be VMs or BareMetal).

  • Playbooks are used to download the tools (jq). They should be placed in /usr/local/bin.

  • Obtain the URL of the HPE Ezmeral Runtime Enterprise bundle (using s3 bucket).

Figure 12. Workflow diagram for Automated HPE Ezmeral Runtime Enterprise deployment

# Automated Deployment

  • Update the values in vars.yml and hosts inventory file according to your environment.

  • Use following command to edit vars.yml file. The vars.yml file contains the configuration environment variables and host inventory includes the host ip addresses.

> cd $BASE_DIR/Lite_Touch_Installation/
> ansible-vault edit group_vars/all/vars.yml

HPERE can be deployed by running site.yml or by running individual playbooks. Each playbook description can be found further in this document.

  • To build complete setup:
> ansible-playbook -i hosts site.yml --ask-vault-pass
  • In case if user want to deploy through individual playbooks. Sequence of playbooks to be followed are:
> ansible-playbook -i hosts playbooks/os_deployment.yml –ask-vault-pass
> ansible-playbook -i hosts playbooks/prepare_hosts.yml –ask-vault-pass
> ansible-playbook -i hosts playbooks/download-tools.yml –ask-vault-pass
> ansible-playbook -i hosts playbooks/controller.yml –ask-vault-pass
> ansible-playbook -i hosts playbooks/gateway-add.yml –ask-vault-pass
> ansible-playbook -i hosts playbooks/epic-workers-add.yml –ask-vault-pass
> ansible-playbook -i hosts playbooks/controller-ha.yml –ask-vault-pass
> ansible-playbook -i hosts playbooks/k8s-add-hosts.yml –ask-vault-pass
> ansible-playbook -i hosts playbooks/k8s-create-cluster.yml –ask-vault-pass
> ansible-playbook -i hosts playbooks/k8s-create-tenant.yml –ask-vault-pass

Playbooks Details:

  • site.yml

This playbook contains the script to deploy HPE Ezmeral Runtime Enterprise starting from the OS_deployment until tenant configuration.

  • OS_deployment.yml

This playbook contains the scripts to deploy SLES_OS on bare metal servers.

  • Prepare_hosts.yml

This playbook contains the script to prepare the hosts for HPERE deployment.

  • Download-tools.yml

This playbook downloads the jq under /usr/local/bin in the installer machine and provides executable permissions.

NOTE

In case of facing any issues while running download-tools.yml playbook,Download tools manually from the following links, place it under /usr/local/bin and change executable permissions.

  • jq (https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64)
  • controller.yml

This playbook contains the script to deploy controller and configuring the controller based on the configuaration details provided in the vars.yml file.

  • Gateway-add.yml

This playbook contains the script to add gateways. User can add multiple gateways by providing ip and host information in vars.yml file.

  • Epic-workers-add.yml

This playbook contains the script to add epic worker nodes. Provide epic worker details in vars.yml.

  • Controller-ha.yml

This playbook contains the script to enable controller ha. Users need to provide virtual ip with FQDN in vars.yml file to configure controller ha. Please make sure virtual ip details present in DNS entries.

Users need to run playbooks/epic-workers-add.yml playbook first to add required epic worker nodes. And then run playbooks/controller-ha.yml playbook.

  • K8s-add-hosts.yml

This playbook contains the script to add k8 nodes and Data Fabric nodes. Provide k8 nodes information in vars.yml file.

  • K8s-create-cluster.yml

This playbook contains the script to create ubernetes cluster and DataFabric cluster. Provide cluster details in vars.yml file.

  • k8s-create-tenant.yml

This playbook contains the script to create tenant. Provide tenant details in vars.yml file.

Uninstall Information:

If user want to uninstall HPE Ezmeral Runtime Enterprise and start a fresh installation, use the following playbook.

> ansible-playbook -i hosts playbooks/uninstall-bds.yml –ask-vault-pass 

Other Playbooks:

Run the following command to disable controller ha.

> ansible-playbook -i hosts playbooks/disable-controller-ha.yml –ask-vault-pass 

Run the following command to delete epic workers.

> ansible-playbook -i hosts playbooks/epic-workers-delete.yml –ask-vault-pass 

Run the following command to delete k8 nodes.

> ansible-playbook -i hosts playbooks/k8s-delete-hosts.yml –ask-vault-pass 

Run the following command to delete the tenant.

> ansible-playbook -i hosts playbooks/k8s-delete-tenant.yml –ask-vault-pass 

Run the following command to delete the cluster

> ansible-playbook -i hosts playbooks/k8s-cluster-delete.yml –ask-vault-pass 

Run the following command to delete gateway.

> ansible-playbook playbooks/gateway-delete.yml –ask-vault-pass

# ERE deployment through air-gapped environment

If user want ERE deployment through airgap mode, then perform below steps:

  • To setup docker registry update the details under airgap section in vars.yml and run below command to setup docker registry (registry server).
> ansible-playbook -i hosts playbooks/setup_docker_registry.yml –ask-vault-pass 

setup_docker_registry.yml

This playbook contains the script to create, configure docker registry and copy all required docker images based on the configuaration details provided in the vars.yml file.

NOTE:

After docker-registry setup is ready run the playbooks starts from controller installation shown in steps above which will deploy ERE through airgap environment.

For more information check read.me file under "ERE deployment through air-gapped environment" in git repo https://github.com/HewlettPackard/hpe-solutions-hpecp/blob/master/LTI/Lite_Touch_Installation/README.md (opens new window)

For detailed steps, see the HPE Ezmeral Runtime Enterprise on HPE DL325 & DL385 Deployment guide available at, https://hewlettpackard.github.io/hpe-solutions-hpecp/5.6-DL-AMD/ (opens new window)