Follow the steps given below run a WSO2 product as a service on Private PaaS, on Docker:
Step 1: Deploy Private PaaS on a proffered IaaS
For more information on deploying Private PaaS, see Deploying PPaaS on a Preferred IaaS.
Step 2: Downloading the Product pack
Copy the respective product pack in the .zip
format to the packs
folder, which is in the /etc/puppet/modules/wso2installer/files/<SERVER_NAME>
directory.
Example: When configuring ESB navigate to the /etc/puppet/modules/wso2installer/files/wso2esb481/packs
directory.
You can download the product pack from the respective products download page.
Example: Download ESB from here.
Steps 3: Importing the Docker image to the nodes
Navigate to the
<PRIVATE-PAAS-CARTRIDGES>/wso2esb/4.8.1/docker
directory.cd <PRIVATE-PAAS-CARTRIDGES>/wso2esb/4.8.1/docker
Run the
build.sh
file to build the Docker image.This will copy the plugins and the template module to the Docker image.
./build.sh
List the Docker images.
docker images
Example response format: If you have successfully build the Docker image, you will get the following as a response:
wso2/das 3.0.0 ac57800e96c2 2 minutes ago 777.6 MB
Save the new image to a
.tar
file.docker save <NEW_IMAGE_NAME> > <LOCATION_OF_OF_TAR_FILE>
For example:
docker save myppaasimage > /tmp/myppaasimage.tar
Copy the Docker image to the Kubernetes minion nodes.
scp <IMAGE_NAME>.tar core@<NODE_IP>:
Example:
scp myppaasimage.tar core@172.17.8.102:
Execute the
kubectl get
nodes
command to get the IP address of the Kubernetes nodes.SSH into the Kubernetes node using one of the following commands:
ssh core@<NODE_IP> or vagrant ssh node-01
Load the
.tar
file to the Kubernetes node.docker load < <LOCATION_OF_OF_TAR_FILE>
Example:
docker load < /tmp/myppaasimage.tar
If there is more than one Kubernetes node, repeat step 4, 5 and 6 for the remaining nodes.
Step 4: Running the product as service on Private PaaS
Navigate to the preferred WSO2 products application sample directory.
cd <PRIVATE_PAAS_CARTRIDGES_HOME>/<SERVER_NAME>/<VERSION>/samples/applications/<SERVER_NAME>-<VERSION>-application/scripts/<IAAS>
Example:
cd <PRIVATE_PAAS_CARTRIDGES_HOME>/wso2das/3.0.0/samples/applications/wso2das-300-application/scripts/mock
Deploy the application.
./deploy.sh