Tech TopX: Acropolis Container Services (ACS) Integration with Docker Volume Plugin


Hey everyone! Welcome to another episode
of Tech TopX. My name is Chris and I’m
today we’re gonna be talking about
Acropolis Container Services or ACS. What
ACS does is it provides persistent
storage to your Docker containers,
allowing you to manage your containers
and their data the same way you’d manage
virtual machines.
Let’s take a look at what that
architecture is. So as you may remember
from our introduction to Docker on
Nutanix, your Docker host is a virtual
machine usually running Linux that sits
on top of your hypervisor. In this case,
we’re going to be using AHV and runs
containers that are just applications,
that share the kernel rather than
duplicating those efforts. What ACS
provides today is a Docker plugin – you
can download this right from the Docker
store, we’ll take a look at that in a
second – which sits here in the Docker
host and teaches Docker how to talk to
Prism and AHV.
When you use the plug-in on the Docker
host side to provision a Nutanix volume,
it’ll make a iSCSI volume here in
Acropolis. It will then attach that
using Docker directly to your
application. So let’s go take a look at
installing the plug-in and using it. Now
we’re in Prism. There’s a couple of
things we need to configure before we
set up the Docker volume plugin. The first
is that we need to make sure we’ve got a
cluster virtual IP address and an
external data services IP address. These
need to be in the same subnet as the CVMs IP addresses. So make sure you set
these to something that’s not used.
After
that we’re going to need to go to our docker VM.
So I’ve got a VM here with Docker
installed according to our previous
Tech TopX. So I’m going to go to that and
install the new Nutanix Docker volume
plugin, if you have any questions about
installing Docker, make sure to check out
our previous Tech TopX. So I’ve got a
terminal and I’m going to SSH into my
Docker VM and get the IP address from
Prism here.
I’m gonna switch over to root just to
make the commands a little bit easier. So
as you can see I’ve got Docker installed,
I’m running 17.03, and it’s time to
install the Nutanix Docker volume
plugin. So let’s go over to the Docker
store. Here in the Docker store is the
DVP and if we go down here you can see the
the basic installation steps required.
First we need to make sure we’ve got the
right Docker version which we do. Then we
need to install the iSCSI initiator.
This is because ACS uses iSCSI to
connect the volumes to the container. So
let’s copy that command and then run it
over here on our Docker host.
Perfect!
I’ve got that installed and we just need
to create the other iSCSI
pieces and make sure that iSCSI
starts on boot.
Perfect!
Next we need to
download and install the Docker plugin. In this case, my Docker host has
access to the outside world.
So I can install it directly from the
store. If you don’t have that, you will
have to do an offline install which is
outside of the scope of this video.
We’re
going to copy this command over and
we’re actually going to put it into
notepad to make some changes to it.
So looking at this, we can see that
there’s a couple of places we need to
change. First is we need to change the
Prism IP to be the virtual IP that we
looked at in the first step. We need to
change the data services IP to be the
data services IP from that first step as
well. Next we need to set up a username
and password. In this case I’ve set up a
specific account just for Docker because
I will be showing the password.
Finally we need to put the
container that is going to be used for
all of the Docker storage. So if we go
back over to Prism, go down to Storage, we
can see that I have many containers. In
this case I’m going to choose
ahv-ctr1. Once we’ve made the required
changes to the command, we can copy it,
and go back to our Docker host and
install.
It’s asking me if I want to
grant permissions to this plugin and
because I know and trust this plug-in,
yes I do.
So it’s pulling the 1.0 plugin. Ok we
now have the Nutanix volume plug-in
installed.
Now that we’ve got the plug-in installed,
we can start creating volumes. So using
the new Docker volume command, we can
create this volume that resides on
Nutanix and is accessible to Docker
containers. First I’m going to specify a
name here. Then I’ve got to specify the
driver to use. In this case, the driver’s
Nutanix. Now I’ve got to specify the size
that I want this volume to be. In this
case, I’m going to create a 10GB
drive.
So now that we’ve created the Tech
TopX volume, we can do ‘docker volume ls’,
you can see all of the different
volumes created and here’s the Nutanix
one. You can now attach this to your
Docker containers like you would any
other volume and get persistent storage.
If we take a look over here in Prism
once more, and go to Volume Groups, we can
see the volume group created here and
now you can protect it like you would
any other volume group. So as you can see,
the Docker volume plugin is really easy
to install and use. It allows you
to give your containers persistent
workloads that you can manage like you
would any other virtual machine workload.
Check out the link below to get to the
Docker store where you can download this
plugin for yourself. Thanks for watching
Tech TopX. Have a great day!

Leave a Reply

Your email address will not be published. Required fields are marked *