Kubernetes Locally using - minikube, microk8s, k3s, k3d, k0s, kind, crc, minishift, firekube
Kubernetes is a container orchestration tool that is open source. It is an open source system developed by Google for automating the deployment, scaling, and management of containerized applications.
Although most people use Kubernetes in the cloud, it is feasible to host a Kubernetes cluster locally, and reap some of the benefits of hosting it locally.
You may easily test Kubernetes before determining whether or not to adopt it as your principal platform for application deployment.
You can use it as a local development environment before pushing anything to the cloud, allowing you to keep the development and production environments separate.
Setting up a local Kubernetes environment as your development environment is the best solution, regardless of your situation, because it allows for a secure and agile application deployment procedure. Fortunately, you can experiment out a variety of platforms to run Kubernetes locally.
1. Minikube is a local Kubernetes cluster that focuses on making Kubernetes development and learning simple. Kubernetes may be started with just a single command if you have a Docker (or similarly comparable) container or a Virtual Machine environment: Start your minikube - "minikube start"
https://minikube.sigs.k8s.io/docs/start/
2. MicroK8s is the smallest, fastest, and most conformant Kubernetes that tracks upstream releases and simplifies clustering. MicroK8s is ideal for prototyping, testing, and offline development. Use it as a small, affordable, and dependable CI/CD k8s on a virtual machine. It's also the finest Kubernetes for appliances for production. Create IoT apps for k8s and deploy them to MicroK8s running on your Linux systems.
https://microk8s.io/
3. K3s is a single binary that fully implements the Kubernetes API and is less than 40MB in size. To do so, they got rid of a lot of additional drivers that didn't need to be in the core and could easily be replaced with add-ons. K3s is a Kubernetes solution that has been certified by the CNCF (Cloud Native Computing Foundation). This implies you can create your YAML to work with a "full-fat" Kubernetes cluster and have it work with a k3s cluster as well. It's possible to run a cluster on machines with as little as 512MB of RAM because of its minimal resource needs. As a result, pods can now run on the master as well as nodes.
https://k3s.io/
4. K3d is a docker wrapper for running k3s (Rancher Lab's basic Kubernetes distribution). k3d makes it simple to establish single- and multi-node k3s clusters in docker, for example for local Kubernetes development.
https://k3d.io/
5. K0s is similar to k3s in many ways. Like k3s, k0s also comes as a single binary which achieves a very quick setup times. k0s binary is massive (170MB) compared to k3s (50MB). k0s is completely free for personal or commercial use, and it always will be.
k0s is distributed as a single binary with minimal host OS dependencies besides the host OS kernel. It works with any operating system without additional software packages or configuration. Any security vulnerabilities or perf issues can be fixed directly in the k0s distribution.
k0s drastically reduces the complexity of installing and running a fully conformant Kubernetes distribution. New kube clusters can be bootstrapped in minutes. Developer friction is reduced to zero, allowing anyone, with no special skills or expertise in Kubernetes to easily get started.
6. Kind is "a tool for running local Kubernetes clusters utilizing Docker container 'nodes," according to its creators. It was built for Kubernetes testing, but it may also be used for local development and continuous integration.
kind supports:
- Linux, macOS, and Windows
- Clusters with several nodes (including high availability)
- In addition to pre-published builds, you can build Kubernetes release builds from source (Make/Bash/Docker or Bazel).
https://kind.sigs.k8s.io/docs/user/quick-start/
7. CRC - Red Hat Code Ready Containers is a great way to experience the most recent version of OpenShift locally (CRC). CRC instals a minimum OpenShift 4.x cluster on your local machine, allowing you to create and test in a controlled environment. CRC is primarily designed for use on the workstations of programmers.
https://developers.redhat.com/products/codeready-containers/overview
8. Minishift is a tool for running OKD locally by launching a single-node OKD cluster within a virtual machine. On your own machine, you can use Minishift to try out OKD or develop with it on a daily basis.Minishift is available for Windows, Mac OS X, and GNU/Linux. Minishift runs the cluster using OKD and libmachine for virtual machine provisioning.
https://www.okd.io/minishift/
9. Weave Firekube is an open source and lightweight bundle that makes setting up a Kubernetes cluster simple and quick. Weave Ignite is used by Firekube to run Kubernetes on VMs as if they were containers, allowing them to access CNI networks and CSI storage natively. Firecracker VMs are likewise secure because they are isolated.
https://www.weave.works/oss/firekube/
You can see, there are various options for experimenting with Kubernetes in your own environment.
Comments
Post a Comment