We are gaining a lot of experience in Kubernetes for long years now. Most of the experience we gained from our own Kubernetes-Installer which is installing Kubernetes natively with all needed components on a simple Laptop with no need of any additional infrastructure and costs.
Our installer is providing a fully functional Kubernetes Cluster the-hard-way, means it does not rely on any helpers like Minikube, kubeadm, OpenShift, Rancher or other HELM-Projects which is supporting an installation but is hiding a lot of information.
The focus is to understand Kubernetes down to the smallest detail, simply on a Laptop, completely undisturbed from a centrally organized Kubernetes Cluster.
With this cluster we are testing different components, like CNIs, around Kubernetes in different settings bevor we start to change a setting in a release process of Kubernetes. This speed up a change in Kubernetes because you collect experience before you start to change a release of Kubernetes.
Our installer is providing
- a fully functional virtualized Server Cluster on a laptop or other devices,
- a Kubernetes-Cluster with a free to chose setup for the Nodes for the Control Plane and the Worker-Nodes,
- all Kubernetes components for the Control Plane like Kubernetes ApiServer, -Scheduler and Management-Controller, ETCD … and for the Worker-Nodes the Proxy and the Kubelet,
- a complete Public Key Infrastructure (PKI) for Kubernetes provided by OpenSSL. It begins with the creation of a root ca-certificate for the authentication and HTTPs communication with and within Kubernetes,
- an IP-configuration of Kubernetes for Pods, Services but also to allow access to Kubernetes from outside,
- all needed additional components for Networking (CNI), CRI, DNS, IngressControlling, LoadBalancing, StorageClasses, … ,
- a routing for isolated networks with a separation of the ControlPlane and the Worker,
- a NFS for testing StateFullSets with a StorageClass.
We are testing Kubernetes undisturbed from others
- with different Cluster setups (amount of the nodes),
- with different Kubernetes Versions or different OperatingSystems for the Nodes,
- with different CRIs like ContainerD, Docker …,
- with different CNIs like Calico, Cilium …,
- with different IngressController, LoadBalancer, Alpha and Beta-Components of Kubernetes-Resources …,
- in different security levels, e.g. with SELinux on the OperatingSystem, with auditing or enforcements (e.g., ValidationWebhooks),
- with our applications, HELM scripts, ….
This Kubernetes is running on every Laptop
- independently of the OperatingSystem like macOS, Linux or Windows
- with these free to use components: VirtualBox, Vagrant by Hashicorp, Ansible and OpenSSL,
- with no need of licensing
We will support you with
- an introduction to VirtualBox, Vagrant and Ansible
- a deep explanation of every installation step and component of Kubernetes,
- a setup of your laptop or other devices,
- an installation and testing of your components,
- help to analyse the behaviour of Kubernetes in case of Problems with a changed setting,
- adaptation of the installation process to the components used in your Kubernetes environment.
Currently supported components
In our installer we can demonstrate the following components in the current available version:
Type | name | short description | link |
---|---|---|---|
K/V-Store | etcd | Core component of Kubernetes to store all data of Kubernetes | Link |
K8S | kube-apiserver | Core component of the control-plane to allow an interaction with Kubernetes | Link |
K8S | kube-controller-manager | Core component of the control-plane to organize a running Kubernetes | Link |
K8S | kube-scheduler | Core component of the control-plane to deployment of Pod to the Nodes of a Kubernetes-Cluster | Link |
CRI | containerd | Runtime Engine for the container within a Kubernetes-Pod | Link |
K8S | kubelet | Core component of a worker node to organize the pods within a worker node of a Kubernetes-Cluster | Link |
K8S | kube-proxy | Core component of a worker for the network of K8S-Services | Link |
DNS | CoreDNS | DNS Server for Kubernetes | Link |
LoadBalancer | MetalLB | LoadBalancer for Kubernetes for BareMetal Installations | Link |
CNI, LoadBalancer, Ingress | Cilium | Application to establish and to secure a network and to provide LoadBalancer and IngressController capabilities | Link |
CNI | Calico | Application to establish and to secure a network within Kubernetes | Link |
CNI | Flannel | Application to establish a network within Kubernetes | Link |
Ingress | NGINX | A proxy to allow external access to Kubernetes. | Link |
You want to see different components? Get in touch.
All components are using an TSL-Certs as a server certificate (“https”) or for client authentication, if needed.
The installation does not take long
Here you see the installation process of the Kubernetes Cluster in ~ 5 min.-: