This post will depict the various requirements a Service Provider will have to fulfill to provide CSE for their end users so they can deploy & manage Kubernetes clusters.

Most of the requirements are listed on the container-service-extension documentation, but isn’t really visual, so hopefully the following diagrams should help understand how everything comes together into a working container as a service solution.

So let’s add a bit more detail to a previous diagram to showcase which APIs are into play here and refer back to the requirements for every component, and then from a vCloud Director standpoint.

vCloud Director & CSE API Logical Diagram vCD and CSE API Logical Diagram

I wanted to highlight how AMQP plays a very important role when extending vCloud Director, and show which component is interacting with each other through the APIs and/or AMQP.

For anyone unfamiliar with AMQP, I would recommend checking out this blog post:

Now for the 2 main components requirements

Container Service Extension (CSE)

vCloud Director

  • Release 8.10 minimum

  • System Administrator credentials

  • Supported RabbitMQ instance configured

  • Catalog / Admin Organization setup:

    • Org vDC with sufficient resources to spin up the template creation process
    • Org vDC Network with Internet access (to download kubernetes components and various packages)

To illustrate the vCloud Director part, Here is a diagram that shows how your setup could look like.

vCloud Director & Admin / Catalog Organization Sample Diagram vCD and CSE API Logical Diagram

High level steps:

  1. CSE will upload vanilla templates OVA to vCloud Director in a CSE Catalog
  2. CSE will deploy the template as a VM on a Org VDC Network that requires internet access.
  3. CSE will guest customize the VM and add/configure all required components.
  4. CSE will then validate the VM and add it back to the CSE Catalog as a valid item for deploying container hosts.

Hope this helps,

In the next blog post we will cover the Installation & Configuration part in more detail.