With Pacific you can also spin up traditional virtual machines with the same Kubernetes commands as well as a fully compliant Kubernetes Cluster. When I first started using Kubernetes I struggled a lot. This was mainly due to the way Google decided to name some of the functionality. Once I mapped each concept in my head to the way AWS EC2 works it helped a lot. In this post I will map Project Pacific/Kubernetes constructs to AWS EC2. Note, not all of this guide is exclusive to Project Pacific, some of these constructs have been part of Kubernetes for some time. Also this is by no means meant to be science or a comparison of Pacific/Kubernetes vs AWS EC2, this is just how I think of each construct when I am using Project Pacific and Kubernetes.
Name Space is like an AWS account
Once a user is given access to a namespace they are able to provision different types of resources from there
A Pod is like an instance
With Project Pacific a pod could run in a Linux Guest OS or directly on ESXi in the form of a new container runtime
A Persistent Volume is like an EBS Volume
Remember that containers are not static like a VM with a guest OS. After a reboot, any data is lost and the container resets to new. If you want to retain your data you need to add a Persistent Volume, similar to how you would add an EBS volume.
A Network Policy is like an AWS Security Group
When you deploy an application in Kubernetes you apply a network policy to
A Service is like an elastic IP
This allows access to your pod from the external network, keep in mind Kubernetes pods are running in Private address space so they need a public or LAN IP to access them.
A Load Balancer Service is like an Elastic Load Balancer
A Replica Set is like an AWS Auto Scaling Group
Feature set may not be exactly alike but hopefully you understand the concept better.
A guest cluster is kinda like a VPC
New in Project Pacific is the ability to create Guest Clusters in a Namespace. This is very similar to an AWS VPC. So it is clear a Guest Cluster is a set of vSphere VM’s running a Kubernetes Cluster with it’s own master node. Again I say kinda here because they are not exactly the same but concept is close.
A deployment is like an AWS CloudFormation
You deploy applications to Kubernetes using a deployment YAML file, this is similar to AWS CloudFormation template. For example, a deployment tells Kubernetes what containers you want to deploy, how many pods you want and if you want a Load Balancer and the policy.
vSphere Container Registry is like AWS Elastic Container Registry
You need somewhere to store your containers locally, Project Pacific ships with Harbor registry built in, no need to go out to dockerhub every time you deploy a container. Harbor is also hybrid cloud aware. Sync images across clouds.