Kubernetes in docker for Ubuntu - kubernetes

Is there an ubuntu version of Kubernetes in docker for Ubuntu, that works like docker for mac(https://blog.docker.com/2018/01/docker-mac-kubernetes/).
and docker for windows (https://docs.docker.com/docker-for-windows/#kubernetes)
minikube consumes lots of resource, and I want to try out a lighter alternative, which I found docker for mac that supports kubernetes, but my machine is ubuntu 18.04.

As you may know there are a lot of projects that offer K8S solution, Minikube is the closest to an official mini distribution for local testing and development, but if you wanna try lightweight options you can check:
Kind runs Kubernetes clusters in Docker containers. It supports multi-node clusters as well as HA clusters. Because it runs K8s in Docker, kind can run on Windows, Mac, and Linux. Kind may not have developer-friendly features.
K3s is ma project by Rancher as a lightweight Kubernetes offering suitable for edge environments, IoT devices, CI pipelines, and even ARM devices, like Raspberry Pi's. It runs on any Linux distribution without any additional external dependencies or tools. K3s provides lightweight by replacing docker with containerd, and using sqlite3 as the default DB (instead of etcd). This solution consumes 512 MB of RAM and 200 MB of disk space.
K3d
It is based on a k3s which is a lightweight kubernetes distribution (similar to kind).
Microk8s runs upstream Kubernetes as native services on Linux systems supporting snap. A good option if you are running Ubuntu on your Laptop. There is a very good installation tutorial:
And there are plenty more. You can check what solution suits you best.

Check kind it is kubernetes in docker.

Related

Using WSL2 with Docker Desktop to run the Kubernetes cluster

Up until a 3 months ago I was able to use Docker Desktop and WSL2 to run its Kubernetes cluster WITHOUT having a Linux distro on my dev system. During the following 3 month period of time I did not do development of services in K8s and did not even start Docker Desktop.
Now I am ready to start developing services that run in K8s which is hosted on Docker Desktop, with no Linux distro just as I did previously. But K8s does not start. No matter what kinds of remedies I try, K8s will not start.
I am wondering if something changed and now I need to use a Linux distro?
Thanks

Installing K8s using kOps on local machine

Has anyone ben able to install Kubernetes using kOps on bare metal/ local virtual machine running Ubuntu.
From one of Kops maintainer
As kOps maintainer, I can at least say that there is no active project to support bare-metal anymore. And the code we once had going in that direction was obsolete and removed.
Source: https://github.com/kubernetes/enhancements/issues/360
If you are looking for installing kubernetes clusters in local bare-metal machine, check out Kind. It is looking very promising.

Can Docker Desktop version work with Kubernetes?

As far as I understand Kubernetes kubelet talks to CRI (Container Runtime Interface) to run containers. So every Container runtime which is being used in Kubernetes should follow CRI implementation (https://www.ianlewis.org/en/container-runtimes-part-4-kubernetes-container-run). Docker Desktop version neither runs dockerd or containerd. It runs HyperKit for High-Level virtualization. Is it CRI compliant and could be used with Kubernetes?
Hyperkit is not CRI, it is hypervisor such as VirtualBox, which is used for Docker Desktop for Mac. From Official docker documentation
Docker Desktop for Mac uses HyperKit instead of Virtual Box. Hyperkit
is a lightweight macOS virtualization solution built on top of
Hypervisor.framework in macOS 10.10 Yosemite and higher.
If you check this blog, it explains very well relationships between hypervisors and CRI.
As you can see the above image, Docker Container Engine (or containerd) is in top of Linux kernel, so it has nothing to do with Hypervisors. This is basically the main difference between VMs and Containers. If you have Linux kernel, you can run your CRI there.
So, Docker Desktop with Hyperkit, will work with Kubernetes
Hope it helps!

Which Intel virtualizaton techniques are necessary for Docker?

Which Intel virtualizaton techniques are necessary for Docker?
On a Linux system running on a Intel cpu, what Virtualization Technologies by Intel are necessary to fullfill the execution of a Docker container? E.g. there are VT-X, ...
Or is there no need of using such a technology because Docker is somehow different to existing virtualization solutions like VirtualBox. In this case, why is there no need?
None. Docker uses a completely different system - it's not running a virtual machine so much as a super chroot. See the question below:
Can I run Docker directly on a non VT-X machine (no Virtual Machine used)?
The tutorials that tell you you'll need VT-x are usually based on running docker in Windows (on Hyper-V) or in VirtualBox.

creating redhat lxc inside redhat host machine

I was in the process of creating redhat based lxc in redhat host machine but lxc-create doesn't have any template for redhat. I like to know if there is any feasibility to create redhat lxc in redhat host machine.I have also read about virsh and docker. Virsh is used for host based containers but will it be isolated similar to LXC and have anyone had experience about it. I'm confused whether i can configure separate filesystems and network interface for each container in virsh. Please help me with best solution. Thanks in advance.
The Docker Hub is full of images that can be used with LXC (including redhat images). You can use dlrootfs to download the redhat image directly from the Docker Hub and then use it with LXC.
Hope that helps