Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
210 lines (142 sloc) 5.44 KB

Quick Start Guide to installing the HPE 3PAR Volume Plug-in for Docker


Source Availability

  • Source for the entire HPE 3PAR Volume Plugin for Docker is present in plugin_v2 branch of this repository.
  • Source for paramiko is present under /source/paramiko_src

Quick Start Guide for Standalone Docker environments

Steps for Deploying the Managed Plugin (HPE 3PAR Volume Plug-in for Docker) in a Standalone Docker environment

Prerequisite packages to be installed on host OS:

Ubuntu 16.04 or later:

  1. Install the iSCSI (optional if you aren't using iSCSI) and Multipath packages
$ sudo apt-get install -y open-iscsi multipath-tools
  1. Enable the iscsid and multipathd services
$ systemctl daemon-reload
$ systemctl restart open-iscsi multipath-tools docker

RHEL/CentOS 7.3 or later:

  1. Install the iSCSI (optional if you aren't using iSCSI) and Multipath packages
$ yum install -y iscsi-initiator-utils device-mapper-multipath
  1. Configure /etc/multipath.conf
$ vi /etc/multipath.conf

Copy the following into /etc/multipath.conf

defaults
{
    polling_interval 10
    max_fds 8192
}

devices
{
    device
	{
        vendor                  "3PARdata"
        product                 "VV"
        no_path_retry           18
        features                "0"
        hardware_handler        "0"
        path_grouping_policy    multibus
        #getuid_callout         "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
        path_selector           "round-robin 0"
        rr_weight               uniform
        rr_min_io_rq            1
        path_checker            tur
        failback                immediate
    }
}
  1. Enable the iscsid and multipathd services
$ systemctl enable iscsid multipathd
$ systemctl start iscsid multipathd
  1. Configure MountFlags in the Docker service to allow shared access to Docker volumes
$ vi /usr/lib/systemd/system/docker.service

Change MountFlags=slave to MountFlags=shared (default is slave)

Save and exit

  1. Restart the Docker daemon
$ systemctl daemon-reload
$ systemctl restart docker.service

Now the systems are ready to setup the HPE 3PAR Volume Plug-in for Docker.

Next Steps:

ETCD config

  1. Export the Master Node IP address
export HostIP="<Master node IP>"
  1. Run the following Docker command to create the HPE etcd container

NOTE: etcd stores the HPE 3PAR volume metadata and is required for the plugin to function properly. If you have multiple instances of etcd running on the same Docker node, you will need to modify the default etcd ports (2379, 2380, 4001) and make the adjustment in the hpe.conf as well.

sudo docker run -d -v /usr/share/ca-certificates/:/etc/ssl/certs -p 4001:4001 \
-p 2380:2380 -p 2379:2379 \
--name etcd quay.io/coreos/etcd:v2.2.0 \
-name etcd0 \
-advertise-client-urls http://${HostIP}:2379,http://${HostIP}:4001 \
-listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
-initial-advertise-peer-urls http://${HostIP}:23800 \
-listen-peer-urls http://0.0.0.0:2380 \
-initial-cluster-token etcd-cluster-1 \
-initial-cluster etcd0=http://${HostIP}:2380 \
-initial-cluster-state new

HPE 3PAR Volume Managed Plug-in config

  1. Add HPE 3PAR into ~/.ssh/known_hosts
$ ssh -l username <3PAR IP Address>
  1. Configure hpe.conf for Managed plugin.
$ vi /etc/hpedockerplugin/hpe.conf

For 3PAR iSCSI plugin, use this hpe.conf template /docs/config_examples/hpe.conf.sample.3parISCSI

For 3PAR FC plugin, use this hpe.conf template /docs/config_examples/hpe.conf.sample.3parFC

Note: The template has different place holders for the storage system to be configured. The parameter host_etcd_ip_address = <ip_address>, in /etc/hpedockerplugin/hpe.conf, needs to be replaced with the ip_address of the host where etcd is running.


IMPORTANT

Before enabling the plugin, validate the following:

  • etcd container is in running state.
  • The host and 3PAR array has proper iSCSI connectivity if iSCSI is used
  • Proper zoning between the docker host(s) and the 3PAR Array.

  1. Run the following commands to install the plugin:

Ubuntu

version=2.1

$ docker plugin install store/hpestorage/hpedockervolumeplugin:<version>  --disable --alias hpe
$ docker plugin set hpe certs.source=/tmp
$ docker plugin enable hpe

RHEL/CentOS

version=2.1

$ docker plugin install store/hpestorage/hpedockervolumeplugin:<version> –-disable –-alias hpe
$ docker plugin set hpe glibc_libs.source=/lib64 certs.source=/tmp
$ docker plugin enable hpe
  1. Confirm the plugin is successfully installed by
$ docker plugin ls

Quick Start Guide for Kubernetes/OpenShift environments

There are two methods for installing the HPE 3PAR Volume Plug-in for Docker for Kubernetes/OpenShift environments:

  1. Ansible playbook to deploy the HPE 3PAR Volume Plug-in for Docker (RECOMMENDED)

  2. Manual install HPE 3PAR Volume Plug-in for Docker

Usage

For usage go to:

Usage