A quick walkthrough of Virtual Kubelet(VK) presented at Kubernetes Pune Meetup. These slides focus on how VK fits with Kubernetes and how you can run Kubernetes without the need for provisioning of worker nodes.
5. Virtual Kubelet
- Incubated at Microsoft
- Open sourced, Kubernetes Community Project Now
- Masquerades as kubernetes node, ability to run pods
- Allows to use serveless services for running pod workloads
(Fargate, ACI)
- Any service which can run containers can be used underneath
provider
13. Challenges
- Networking
- Load balancing for hybrid services
- Manually creation of Load balancer required
- No option to have Farget/ACI Instances on user defined private network
- Logging
- Log aggregation can’t happen at one place (Fluentd,)
- Logs are stored with cloud specific service
- Interoperability
- In consistent interfaces with kubectl
- `kubectl exec` won’t work out of box
- Debuggability restrictions
14. Pricing
- On demand and burst workloads
- Workload with 1vCPU, 2GB Ram running 24X7
- Cost of on demand AWS EC2 instance - 2vCPU, 4GB - 33.48
Fargate
CPU = 0.05 USD an hour
Memory = 0.0125 USD an hour
CPU = 0.05 *24 * 30 = 36 USD a
month
RAM = 0.0125 * 24 * 30 = 9 USD a
month
45 USD a month
ACI
Memory = 1 container group * 86400
seconds * 2 GB * $0.000004 per GB-s *
30 days = 20.736
CPU = 1 CG * 86400 sec * 30 days * 1
vCPU * 0.000012 per vCPU-sec = 31.104
Total = 51.84 USD
The container as a service offering is great for running on demand and intermittent workloads but if you start running anything more often then the economics turns in favour of the virtual machines. This means critical thought has to be given on the type of workloads that will run on a virtual kubelet backend.