Hi,
I need a test system setup on my Tumbleweed machine.
I’ve been advised and used once Vagarant on my Ubuntu machine and deployed several VM on my VirtualBox with no issue.
I did the same test on Tumbleweed and did not work. First encountered dependency conflict during Vagarant installation (rubygem) and tried many ways to find the way no succeed. I then ignored the conflict and installed Vagarant, but couldn’t instantiated VMs.
My question is , If Kubernetes and kubuc is alternative solution for this purpose? If Docker is essential to be installed before go to Kuebrnetes and Kubic or MicorOS ? Is distro is playing a big role in this case? I cannot see much about opensuse on kubernetes or Docker website!
I have no experience using those platforms, so any advise , recommendation and sharing information is much appreciated.
What is your actual goal? What do you have in terms of configs (vagrant, kube, terraform etc). And what is your test system supposed to look like? I mean do you want to test docker containers, kube stuff like pods, ingress, persistent storage? Or do you want to spin up a prod like env complete with matching ip numbers and dns?
Cannot help with Vagrant as I never liked it. Doesn’t it require Virtualbox to manage the VMs?
Anyway, unless your target is Kubernetes, there is no need for the overhead in creating a cluster, or single-node pseudo cluster for that matter. And yes, standard Kubernetes requires docker, or a container engine. If you want to test containers, docker-compose is sufficient most of the time. Personally, I have plain KVM/Qemu VMs managed by libvirt. For quick kube tests I run a script that brings up a Rancher all-in-one cluster on a single VM.
Thank you very much for your reply.
I have 2 sort of goal:
First is to be able to create several VMs for application test purpose as quick as possible by run some simple command as it used in Vagrant init. installing VMs ( on both KVM and VirtualBocx) takes time and lots of hassle.
Second, I want use the same platform for cluster and HPC training. I need to make HPC on ARM platform and want to use this platform before move to hardware.
I have heard alot about Kubic and K8s but there are lotf of different platform and solution exist in Kubernetes website which make me confused what is the best way to start.
P.S it seems there is no much attention to Vagrant anymore and I just used that to create quick VMs on VirtualBox, So personally prefer to learn Docker and Kubernates.
Cheers
Interesting. Cannot help with arm, though. If I understand you correctly, you create software for arm and you used to test that on x86 with arm VMs run by Virtualbox or Qemu, right? And now you consider moving that setup to containers or even a kube cluster.
I am not sure about the benefits of kubernetes for that goal. Unless you have a bunch of actual arm devices to form a cluster. Kubernetes is basically a deployment and operations platform, meaning it was not originally intended for building software but rather running software services and keeping them running. One might bend it to build software but that is not really fun. The building stuff is usually left to a CI service like a Jenkins pod which in turn spins up build slave pods in kubernetes.
From reading a few results of a Google search, it should be possible to run arm containers via qemu user. But I have zero experience with that, sorry. If you can get that to work, then you could get rid of the need for VMs.
Oh, now I get it. You want to either provision arm vm or run the stuff in docker. Sorry, I am a bit slow this time of night. Well then, forget about kubernetes. It does not create the systems it runs as nodes. Meaning, you can hook basically any existing system into a kubernetes cluster but they have to exist beforehand or be created dynamically by something like terraform or, you guessed it, vagrant. If you want to avoid arm vms or arm devices, you could try to get arm containers running on x86. But like I said, I have no experience with that.
I haven’t even begun to think about trying to integrate Vagrant with Kubernetes, both are ways of managing “whatever” (containers in this case) so my early guess is that there is overlap. you might want to look into what Kubernetes can do for you before exploring. If you want to try Kubic (the openSUSE version of Kubernetes), I’d recommend installing that in a Virtualbox or other virtualization first, before you invest too much in that direction(should be a standard option in current TW and I think the new LEAP installers).
Also, if you’d like to experiment with Kubic or some other technology like Docker, they run just fine within a hypervisor based Guest like Virtualbox.
If your’e having problems instantiating Virtualbox Guests using Vagrant, I’d recommend you concentrate on that since you appear to already have some experience with that. Fix that problem and you can have a working solution. There are efficiencies running containers compared to hypervisor based virtualization, but for a very small lab there is not much of a difference.
If you do decide to install Kubernetes by way of Kubic, no you do not need to install Docker beforehand, that’s set up for you automatically. I’d have to take another look at MicroOS to refresh my memory about installing containers.
If you decide to install Kubernetes on openSUSE, you install Kubic.
If you decide to install Docker on openSUSE, you simply install the docker package in your choice of openSUSE. You may want to install a separate way to manage optionally, Vagrant should be fine although I haven’t personally used that.
Installing openSUSE as a Guest in any of these technologies should be a snap, no problems at all.
This what I wanted to do at the first instance. With Vagrant we can create as much as VMs we like immediately on VirtualBox. Sorry for my lack of knowledge, but is it a way to have 10 Kubic immediate install up and running with on VirtualBox or KVM(using CLI )?
Also, if you’d like to experiment with Kubic or some other technology like Docker, they run just fine within a hypervisor based Guest like Virtualbox.
This is the issue I have to install Vagrant on Tumbleweed. There is dependency issue for rubygem which cause presentation of Vagrant init and so far could not sort this issue. If that was working I had at least some base platform for more investigation.
If that is the case, I guess it is for 1 platform, how I can deploy 10s of them running in the same time? Docker probably?
Sorry I’m baffled.
Looking at Docker or Kubernetes in Virtualbox doesn’t have to be slowed by your Vagrant issue at the moment. Virtualbox has its own virtual machine manager which can be used until your Vagrant issue is sorted out. Some people who might want to manage large numbers of VBox guests might use VBox’s own command line instead of using Vagrant, but that’s a matter of taste. Regardless which management you use, spinning up multiple VBox instances at once likely puts a momentary heavy load on resources, I’d guess it’d be advisable to spin them up some seconds apart. That wouldn’t be an issue with a container technology.
You can manage large clusters of containers using almost any management, you can do it with scripts in any language, you can do it with a ready-made product like Vagrant or that is a main purpose of kubernetes. Your choice, whatever you’re comfortable with and whatever your situation allows.
If your intention is to eventually run on an ARM platform, although you can research, learn and model on a hypervisor-based platform like Virtualbox, that won’t be supported on ARM. I haven’t done much research or testing with containers on ARM, but there is no technical reason I can think of why that wouldn’t be possible. So, I’d advise you from the beginning to do some research on what kind of ARM setup you’d eventually want to migrate to and then make plans accordingly. I’d expect that when you’re ready to switch to a real ARM deployment, you shouldn’t have any troubles, everything you learn about containers, clustering, management on an x64 should work on an ARM with little to no changes.