These are Ansible playbooks to automate the install of the HPE 3PAR Docker Volume Plug-in for Docker for use within standalone docker environment or Kubernetes/OpenShift environments.
NOTE: The Ansible installer only supports Ubuntu/RHEL/CentOS. If you are using another distribution of Linux, you will need to modify the playbooks to support your application manager (apt, etc.) and the pre-requisite packages.
These playbooks perform the following tasks on the Master/Worker nodes as defined in the Ansible hosts file.
- Configure the Docker Services for the HPE 3PAR Docker Volume Plug-in
- Deploys the config files (iSCSI or FC) to support your environment
- Installs the HPE 3PAR Docker Volume Plug-in (Containerized version)
- For standalone docker environment,
- Deploys an etcd cluster
- For Kubernetes/OpenShift,
- Deploys a 3-node Highly Available etcd cluster
- Deploys the HPE FlexVolume Drivers
-
Install Ansible 2.5 or above as per Installation Guide
-
Login to 3PAR via SSH to create entry in /<user>/.ssh/known_hosts file
Note: Entries for the Master and Worker nodes should already exist within the /<user>/.ssh/known_hosts file from the OpenShift installation. If not, you will need to log into each of the Master and Worker nodes as well to prevent connection errors from Ansible.
-
Add plugin configuration properties - sample at
properties/plugin_configuration_properties_sample.ymlbased on your HPE 3PAR Storage array configuration. Some of the properties are mandatory and must be specified in the properties file while others are optional.Property Mandatory Default Value Description host_etcd_port_numberYes No default value Etcd port number hpedockerplugin_driverYes No default value ISCSI/FC driver (hpedockerplugin.hpe.hpe_3par_iscsi.HPE3PARISCSIDriver/hpedockerplugin.hpe.hpe_3par_fc.HPE3PARFCDriver) hpe3par_ipYes No default value IP address of 3PAR array hpe3par_usernameYes No default value 3PAR username hpe3par_passwordYes No default value 3PAR password hpe3par_cpgYes No default value Primary user CPG volume_pluginYes No default value Name of the docker volume image (only required with DEFAULT backend) encryptor_keyNo No default value Encryption key string for 3PAR password loggingNo INFOLog level hpe3par_debugNo No default value 3PAR log level suppress_requests_ssl_warningNo TrueSuppress request SSL warnings hpe3par_snapcpgNo hpe3par_cpgSnapshot CPG hpe3par_iscsi_chap_enabledNo FalseISCSI chap toggle hpe3par_iscsi_ipsNo No default value Comma separated iscsi port IPs (only required if driver is ISCSI based) use_multipathNo FalseMutltipath toggle enforce_multipathNo FalseForcefully enforce multipath ssh_hosts_key_fileNo ~/.ssh/id_rsa.pubPath to hosts key file quorum_witness_ipNo No default value Quorum witness IP mount_prefixNo No default value Alternate mount path prefix replication_deviceNo No default value Replication backend properties -
It is recommended that the properties file is encrypted using Ansible Vault.
-
Modify hosts file to define your Master/Worker nodes as well as where you want to deploy your etcd cluster
Set http_proxy and http_proxy in the inventory hosts file while installing plugin on Kubernetes/Openshift setup. For setting proxies in the standalone plugin installation, see inventory hosts file for standalone plugin installation
Once the prerequisites are complete, run the following command:
- Installation on standalone docker environment:
$ ansible-playbook -i hosts_standalone_nodes install_standalone_hpe_3par_volume_driver.yml --ask-vault-pass
- Installation on Openshift/Kubernetes environment:
$ ansible-playbook -i hosts install_hpe_3par_volume_driver.yml --ask-vault-pass
Note:
--ask-vault-passis required only when the properties file is encrypted
Once complete you will be ready to start using the HPE 3PAR Docker Volume Plug-in.
Please refer to Usage Guide on how to perform volume related actions on the standalone docker environment.
Please refer to the Kubernetes/OpenShift section in the Usage Guide on how to create and deploy some sample SCs, PVCs, and Pods with persistent volumes using the HPE 3PAR Docker Volume Plug-in.