Does it make sense to manage your virtual machines through Kubernetes?
@cheebadigga40922 жыл бұрын
I think generally it does. I would compare the behaviour to GitHub Actions VMs - they are created for a job request and destroyed after that job is done. Don't know if they actually use KubeVirt or Crossplane or something else, but I guess that's the same principal. KubeVirt is probably of much more use to companies or services they provide than me for example for my own private stuff. Though, maybe it will grow to become the control plane of hypervisors of the future, who knows :)
@DevOpsToolkit2 жыл бұрын
I fully 💯. KubeVirt is better suited for service providers and those running on-prem. For end users using cloud, it makes much more sense to use managed VMs through crossplane or some similar solution.
@parodio17 ай бұрын
Managing VMs using k8s sounds to me more like a nightmare. There are already specific software solutions for managing VMs on all scales, from a single on-prem server to whole datacenters. Kubevirt only makes sense to me if you need to manage VM infrastructure and know nothing about VM management, but know how to manage k8s.
@DevOpsToolkit7 ай бұрын
@parodio1 ...or if you want a single API for more than only VMs... or if you want to combine VM management with the rest of the ecosystem.
@rotemrefael33552 жыл бұрын
One thing i learned about kubeVirt is that there is no "double" virtual env, i mean, your k8s cluster should be bare-metal, which makes it a bit harder to implement in lots of companies . thanks for this video, uploading this make kubeVirt a real talk out there :)
@3o1415926535 Жыл бұрын
I wanted to know the point you mentioned.
@LampJustin2 жыл бұрын
Actually the VM ran as expected the thing you missed is that you did not ssh into it but attached to it's tty. If you pay attention to the first 2 lines printed into your console after attaching to the VM, they tell you the key combo to exit out of the tty. ;)
@DevOpsToolkit2 жыл бұрын
You're right. I did not pay attention :(
@mohamedhabas73912 жыл бұрын
your channel is really underrated
@dirien2 жыл бұрын
Nice, we use KubeVirt on our vSphere clusters!
@kujinke2 жыл бұрын
This means you are doing Nested Virtualization, which has affect on overhead and performance overall. I would not recommend on doing so for production environments. maybe for testing and stuff like that.
@ssxsdf234hleskwe39 ай бұрын
Has anyone tried to deploy KubeVirt on AWS EKS? I have successfully deployed the KV operator/controller but the VM creation process is failing because it cannot find libvert service. I am configured to use emulation but i feel like it may not be possible to run on AWS nodes that are VMs themselves. Wondering if only real way to do it is to create a NodeGroup consisting of bare metal AWS instances. Thoughts?
@DevOpsToolkit9 ай бұрын
Personally, I think that KubeVirt makes much more sense on-prem than in hyperscalers like AWS. It's probably better to create EC2 instances than VMs in a Kubernetes cluster. I tend to use Crossplane when in AWS.
@ssxsdf234hleskwe39 ай бұрын
@@DevOpsToolkit Thanks for the reply. Yeah I think that probably makes sense. We are starting to run Jenkins on k8s and need to migrate current set of jobs that use EC2 agents and are written to call docker directly. Migrating these jobs to pod agents would require a fair bit of refactoring of Jenkinsfiles. Was thinking about using KV so that all infra including VM agents would exist on same platform as opposed to split between eks and ec2 but it looks like that may not be a viable solution.
@DevOpsToolkit9 ай бұрын
Try Crossplane for that (for VMs/EC2s)@@ssxsdf234hleskwe3
@ssxsdf234hleskwe39 ай бұрын
@@DevOpsToolkit Jenkins already has a plugin for managing EC2 instances as workers/agents so not sure it makes sense to use CrossPlane in this instance.
@DevOpsToolkit9 ай бұрын
@ssxsdf234hleskwe3 I misunderstood what you're trying to do. If all you're looking for is VMs for Jenkins agents, Jenkins plugin is the way to go.
@kujinke2 жыл бұрын
I have installed kubevirt almost 2 years ago on some of my baremetal rancher clusters, I was having horrible performance issues, disk to be precise, it was damn slow, I was trying to install our windows domain controller as a VM, funny thing is my storageclass was based of trident and I was using a damn fast NetApp AFF storage. Also note that RedHat are implementing kubevirt as part of openshift to provide a complete solution. Anyway, there is another solution by rancher labs called Harvester which might help those wanting to run kubernetes and vms.
@dirien2 жыл бұрын
Harvester has KubeVirt under the hood.
@kujinke2 жыл бұрын
@@dirien Wasn't saying it doesn't, just wanted to let the followers know about the different solutions containing it.
@sofi64633 ай бұрын
I wish you could show an example on AWS starting from the scratch after you install AKS plus using configmap installing appachi server on it
@DevOpsToolkit3 ай бұрын
Quite a few videos in this channel,especially those using crossplane, are setting up different clusters, including AKS. I'll add it to my to-do list to create a dedicated video for AKS only.
@sofi64633 ай бұрын
@@DevOpsToolkit That would be appriciated
@sofi64633 ай бұрын
I have faced some challenge even after having ALL K8 Certificate with no prior experiance like RSYNC copying file between two differel cluster like PVC data within GKE and AKS cronjob and so on so please put this also in your todo list
@DevOpsToolkit3 ай бұрын
@sofi6463 adding it to my to-do list.
@sidhantkhanna3298 Жыл бұрын
Thanks
@norandomness2 жыл бұрын
I have a usecase where I need to run kubernetes inside a VM I wonder if this would work in this scenario
@DevOpsToolkit2 жыл бұрын
KubeVirt creates VMs inside nodes of a Kubernetes cluster. If those nodes are VMs, it would create VMs inside VMs.
@fabiandeutsch57302 жыл бұрын
With the kubevirt-cluster-api you can run Kubernets on VMs running on Kubernetes. Which is the same as running Kubernetes on vSphere or OpenStack.
@zous892 жыл бұрын
Hi Viktor, can I ask which provider Bare Metal Provider you are using for the demo ? Thank you.
@DevOpsToolkit2 жыл бұрын
I haven't been using bare metal for the demo. Unfortunately, I do not have servers in my office, and I'm trying to avoid mixing this channel with the "real" work (and infra I use there). So, for the demo, (I think) I used a k8s cluster in DigitalOcean. Any k8s cluster should do though. as long as privileged access is enabled.
@dirien2 жыл бұрын
@@DevOpsToolkit Ahh didn't know that DO has virt in virt enabled! Thx for this! I use Civo to test KubeVirt!
@RoaiDude12 жыл бұрын
Hi Viktor! Great as always! Can you do one on kata containers and fire cracker? Are they providing the same capabilities?
@DevOpsToolkit2 жыл бұрын
Adding it to my TODO list... :)
@DanielRolfe2 жыл бұрын
Yep I’m interested in kata also, I think Atlassian have one of the largest kata deployments
@LampJustin2 жыл бұрын
Actually Kata is quite different to kubevirt. Kata is being used to start normal containers as VMs. This is primarily for security and not to run general purpose VMs like you do with kubevirt. Firecracker on the other hand is merely the technology to run VMs very fast with kvm. Hope this helps :)
@vitusyu95835 ай бұрын
Excuse for a novice or silly question: you mean k8 can manage outside the cluster using cross plane or cluster api. Can you tell me bit more what and how cluster api can manage outside things? any example u can give? thx
@DevOpsToolkit5 ай бұрын
Kubernetes is based on controllers that perform some operations. Those operations can be anything. The controller that managed pods does that by talking to container runtime that spins up containers. Those are inside the cluster. Ingress controller manages external load balancers. Those are outside the cluster. Persistent volumes are storage also outside cluster that get attached to containers or nodes. Hence, there are quite a few examples of using kubernetes to manage resources both inside and outside itself. Now, given that controll can be anything and manage anything, it all depends on which controllers you install. Ingress, for example, is not baked into kubernetes.you need to install it. Similarly, if you install kubevirt, cluster api, crossplane, or almost anything else in kubernetes, you get more controllers that do something and all those i just mentioned manage resources outside the cluster. Search for crossplane on this channel and you'll see quite a few videos, all of them showing how to extend kubernetes with Crossplane with the goal to use it as a control plane to manage resources elsewhere.
@vitusyu95835 ай бұрын
I now got what you mean. Thanks for your prompt reply and explanation!
@abdelhakamami3184 Жыл бұрын
can i deploy the windows vm and access it graphical from the ingress ?
@DevOpsToolkit Жыл бұрын
I guess you can but cannot confirm it 100% since i haven't worked with windows for a while now.
@tamaratiny2 жыл бұрын
Thanks for this video ❤️. This product is insane and very well documented. You can tell from reading the docs, that this is an expert level team, far exceeding my knowledge at the moment, but still able to explain everything at my level. We have some old Delphi client applications we want to put in the cloud. This technologie in combination with something like Thinfinity VirtualUI, should do the job, don't you think? I'm just a little concerned, and in the dark, about CAL licencing, when deploying Windows VM instances. Do you have any knowledge/idea about handling the Microsoft Licensing model legally?
@DevOpsToolkit2 жыл бұрын
It's been years since I used Windows directly (companies I work with do) so I'm not sure how licensing works these days :(
@ioannisgko2 жыл бұрын
Thank you very much for the video. I suppose we can only have Linux VMs, correct? Off topic: it would be a good idea for a future video to explore how we can have workers with Windows in a Kubernetes cluster that uses Calico in bare metal. I am trying a proof of concept myself, I have Linux to Windows pods communication and vice versa, but from inside the Windows pods I cannot access the outside world (I can only access whatever pods are inside the cluster)
@DevOpsToolkit2 жыл бұрын
I already have that only my todo list. I'll move it closer to the top.
@ugopalatucci2 жыл бұрын
Also windows vms. Kubevirt is used in openshift and offer also windows vms. I'm working on the openshift virtualization console
@bijayajena67569 ай бұрын
can we deploy a windows vm aswell
@DevOpsToolkit9 ай бұрын
I haven't tried windows, so i can only guess that the answer is yes. It should not matter what's the OS of a VM.
@AlexDresko2 жыл бұрын
When you say "virtual machine", are you including VMs that one might remote into to perform desktop operations? That wasn't really clear from the video. Like, can I run Ubuntu Desktop in kubevirt?
@DevOpsToolkit2 жыл бұрын
I haven't tried running VMs with OS GUI (I tend to do everything from a terminal), so I cannot confirm that with certainty. Nevertheless, I don't see a reason with GUI (desktop) would not work. Those are VMs like any others. The major difference is that they are managed by Kubernetes (with all the good things that entail).
@AlexDresko2 жыл бұрын
@@DevOpsToolkit Thanks. I might do some research and report back if I find an answer.
@fabiandeutsch57302 жыл бұрын
Desktops can be run in KubeVirt VMs as well. However, accessing these environments is the more difficult part - virtctl vnc is only recommended for admin access. Thus if you want to desktop-y stuff on your Desktop VM, then you need RDP, Citrix or something like this