RabbitMQ is an Open Source AMQP server that can be used to exchanges messages within a vCloud Director environment. in production environments for high availability and scalability purposes, you can configure the RabbitMQ servers in a cluster.
Cassandra is a free and open-source distributed NoSQL database management system that stores metadata and supports storage of the metadata for replication services. for High availability you must deploy 3 Clustered nodes.
Since i don’t have resources in my Lab, so i am going ahead and deploy Cassandra and RabbitMQ in a single VM using containers and this is enough for our Lab deployment.
In our Part-1 we deployed VCAV, connect to vCloud Availability using SSH and run below commands to start docker service on vcav host.
#systemctl start docker – and once commands succeed check status using..
Create Password Files on Your vCloud Availability Installer Appliance
- # mkdir ~/.ssh = > Create a directory called “ssh”.
- # chmod 0700 ~/.ssh -> Changes the directory permission.
- # echo ‘VMware1!’ > ~/.ssh/.root – creates a file names “root” with having password. “VMware1!”
- # echo ‘VMware1!’ > ~/.ssh/.vcd – create a file named “vcd” with having vCD admin password stored.
- # echo ‘VMware1!’ > ~/.ssh/.sso – This file will store “SSO” password.
- # echo ‘VMware1!’ > ~/.ssh/.vsphere.mgmt – This file will store “vSphere” password
- # echo ‘VMware1!’ > ~/.ssh/.cassandra.root.password
- # find ~/.ssh -type f -name ‘.*’ -print0 | xargs -0 chmod 0600
This completes creation of password files. now lets create a IP pool.
Add a Network Protocol Profile
Basically a vSphere network protocol profile contains a pool of IPv4 and IPv6 addresses, IP subnet, DNS, and HTTP proxy server.VC assigns those resources to vApps or to virtual machines with vApp functionality that are connected to port groups associated with the profile. let’s create a network profile which our VM’s will use during their deployment.
- Go to data center click the Configure tab , click Network Protocol Profiles and edit Default profile.
- associate a port group with profiles , on which you want your deployed vms get connected.
- Enter your Subnet, Gateway, DNS server address , don’t forget to enable the pool and specify the IP range , so in my case i have assigned 20 IPs start with .160.
- Specify DNS domain name and DNS search path.
this completes creation of Network IP pool and its setting that VMs will use while deploying vCAV component vms.
Deploy a Docker Host
To deploy a docker host on vSphere Management Cluster run below command on vCAV appliance.
but before running this command , you can see certain variables has been used in the command, so first lets create those variables..
- $MGMT_VSPHERE_ADDRES -> export MGMT_VSPHERE_ADDRESS=vcsa-01a.corp.local
- $MGMT_VSPHERE_USER -> export MGMT_VSPHERE_USERemail@example.com
- $MGMT_VSPHERE_NETWORK ->export MGMT_VSPHERE_NETWORK=VM-RegionA01-vDS-MGMT
- $MGMT_VSPHERE_LOCATOR ->export MGMT_VSPHERE_LOCATOR=RegionA01/host/RegionA01-MGMT01
- $MGMT_VSPHERE_DATASTORE ->export MGMT_VSPHERE_DATASTORE=RegionA01-ISCSI01-COMP01
so after creation of variables we run the above command on vcav vm using vcav docker create… which successfully created a docker VM in our management cluster.
Download Rabbitmq container on vCAV appliance using below command. for this step your vCAV appliance must able to reach to internet or if you have your own registry like VMware Harbor then you can pull from there.
Download Cassandra container on vCAV appliance using below command.for this step your vCAV appliance must able to reach to internet or if you have your own registry like VMware Harbor then you can pull from there.
Create three new Variables and password file as below:
- export AMQP_ADDRESS=192.168.110.180
- export CASSANDRA_ADDRESS=192.168.110.180
- export DOCKER01_ADDRESS=192.168.110.180
- echo ‘VMware1!’ > ~/.ssh/.amqp
Create RabbitMQ Container
Now lets create RabbitMQ Container using below command on vCAV appliance. and command returned “OK” that means my container creation was successful.
trust the vCAV connection with RabbitMQ as below.
Create Cassandra Container
Now lets create Cassandra Container using below command on vCAV appliance. and command returned “OK” that means my container creation was successful.
You can check the connectivity using telnet with particular port numbers for RabbitMQ and Cassandra servers. this post completes RabbitMQ and Cassandra containers deployment , we will configure these in subsequent posts.