The persistent storage requirement for the container ecosystem
When we talk about containers we generally think about microservices and all things ephemeral. But does this mean that we can’t facilitate stateful workloads leverage persistent storage? Absolutely not.
In the docker world, we choose a storage “driver” to back our persistent storage onto. The driver we choose is based on a number of requirements and which operating system our Docker hosts run. The table below lists the recommended out-of-the-box drivers for Docker Community Edition.
Most of the above are battle-hardened, well-documented drivers. But what if we’re running a vSphere based environment and want to integrate with some vSphere resources?
vSan Storage Driver
Docker introduced the Docker Volume Plugin framework. This extended the integration options between Docker and other storage platforms including (but not limited to):
- Amazon EBS
- EMC Scaleio
- Azure File Services
- VMware based storage
The vSAN Storage Driver for Docker has two components:
vSphere Data Volume Driver
This is installed on the ESXi host and primarily handles the VMDK creation that is requested by the underlying container ecosystem. It also keeps track of the mapping between these entities.
vSphere Docker Volume Plugin
This is installed on the Docker host and primarily acts as the northbound interface that facilitates requests from users / API / CLI to create persistent storage volumes to be used by containers.
From an architectural perspective it looks like this:
Step 1 – The user instantiates a new docker volume, specifying the appropriate driver (ie VMDK).
Step 2 – The vSphere Data Volume Driver accepts the request and communicates via the ESXi host to the underlying storage, which can be vSAN, VMFS or a mounted NFS share.
Why use this?
A distinct advantage of leveraging vSphere-backed storage for containers is how we can utilise native capabilities of the underlying storage infrastructure. For example, if we use vSAN as the backend storage for containers we can leverage:
- Erasure Coding.
As of this week, I started a new position at Insight as a VMware/SDDC Solutions Architect/Evangelist. Exciting times!
I’ll be fortunate to work with the likes of established community contributors and experts in the field such as vJenner and Chan.
The IT landscape is constantly changing and with it, we as IT professionals must adapt accordingly. I wanted a new challenge, to expand my horizons and delve deeper into the areas I’ve already gained experience in. Insight is such a place that will allow me to do this. My new boss described it quite eloquently: “We sell everything to everyone”. This doesn’t mean that Insight will push for subpar products though – part of the philosophy here is that we’re transparent, flexible and agnostic. Leading solutions are evaluated and assessed to address a plethora of challenges presented by both existing and new customers. Multiple vendors, multiple products, private/public/hybrid cloud and everything in-between is considered as part of the product/solutions/services portfolio.
I will continue to focus primarily on VMware based solutions with a bit of AWS on top, together with complementary technologies (IE storage, networking, containers, automation, scripting)
“Specialist Exams”….Wait, what?
I have a requirement to essentially get more up to speed with vRealize Operations Manager. As I was digging through some of the reading material I came across the specialist exam. The details for which can be found here.
I wasn’t actually aware up until this point VMware actually offer specialist exams. At time of writing vRealize Operations and vSAN are the only two specialist certifications you can take.
I can understand the logic behind it – vRealize is becoming a very comprehensive suite of applications and with the VCP7-CMA certification primarily focused on vRealize Automation, it makes sense to separate out certain technologies into their own curriculum.
2VB-602 (vRealize Operations)
For a couple of weeks or so I’ve been messing around with / reading up on / watching videos of vRealize Operations primarily focused on 6.6 without even knowing about the certification. The exam, however, is based on 6.0 – 6.5 and 6.6 brings some rather substantial changes. Therefore don’t expect to see 6.6 related questions in the exam.
Although I wasn’t actually focused on passing this specific test, Here’s what I’ve used so far in an attempt to get up to speed:
Pluralsight’s training course on vRealize Operations (created March 2017) – https://www.pluralsight.com/courses/vmware-vrealize-operations-manager
VMware’s documentation center – https://docs.vmware.com/en/vRealize-Operations-Manager/index.html
vApp Deployment and Configuration Guide – https://docs.vmware.com/en/vRealize-Operations-Manager/6.6/vrealize-operations-manager-66-vapp-deploy-guide.pdf
VMware training videos – http://players.brightcove.net/1534342432001/S1xUFpuYwx_default/index.html?playlistId=5446534362001
The exam can be taken anywhere unlike the VCP or VCAP exams which require you to attend a training center. The questions were pretty tough, but that may have come down to my lack of experience with the product.
Overall, it was a interesting experience. I probably would have preferred vRealize Operations to have it’s own VCP level exam being proctored etc. It’s a nice-to-have, but I still have a lot to learn about vRealize Operations but it’s given me some confidence that I’ve probably understood the fundamentals.
Now I can rest…
I decided at around mid December to make passing the VCAP6 DCV Deploy exam a target. Today I can tick that objective off. As I have previously passed the VCAP5-DCD exam this should entitle me to the VCIX-DCV certification, but I may need to wait a bit for that.
Precisely this time last year I passed the VCAP5-DCD exam. By cheer coincidence I picked exactly 365 days later to do the deploy exam on v6. I was quite nervous as I’ve never done a deploy VMware lab exam before. The lab itself was reasonably well laid out but the response times and general feel of the environment was a bit sluggish, but then again my home lab resides on SSD storage so perhaps I’m used to a snappy interface.
Tips based on my own prep
- The study guide from vJenner is an absolute goldmine : http://www.vjenner.com/vcap6-dcv-deployment-study-guide/.
- As with all VMware exams the blueprint is your main reference. If you’re comfortable with most of the objectives you should be good to go.
- Additionally, there is a lot to cover. Naturally like myself you’re most likely going to have weak and strong areas. Don’t get too hung of up on (for example) nailing to commit the entire esxcli CLI namespace to memory.
- If you’re finding it difficult to fully remember esxcli commands in their entirety remember there’s –help and –example flags.
- use a VMware HOL (Hands on Lab) to get acquainted with the UI
Nothing really special here. I plan on using this site to post on (what I believe to be interesting) topics that covers a number of technologies.