Kubernetes (K8s) is a powerful platform that has dramatically changed the way you work with software over the past five years. It is in high demand, and therefore some companies began to offer Kubernetes-as-a-service. Cloud4Y offers to get acquainted with the most interesting K8s distributions.
The platform has a strong open-source community that brings many innovations to the product. From here come some of the current shortcomings: difficulty in installation, difficulty in setting up. In many ways, Kubernetes is similar to the Linux kernel: it provides an environment for running software, but it does not provide any management tools.
For this reason, Kubernetes distros appeared, containing installers, control panels, and add-ons that are not included in K8s. The distribution also allows you to change components, such as network services, the container runtime, without delving into the insides of Kubernetes. We suggest looking at some of the most popular K8s distributions and the benefits they have over regular Kubernetes.
Docker Kubernetes Service (DKS)
The relationship of Docker and K8s can be called symbiotic. Kubernetes is typically used to organize Docker containers, and Kubernetes Docker clusters are deployed and managed using the Docker Kubernetes Service (DKS).
DKS is responsible for creating consistency between different Kubernetes environments using YAML configuration files,
Helm diagrams, and
Docker Compose . This allows the developer to safely deploy the application both in the test hardware cluster and in the hybrid cloud production cluster. DKS also adds role-based access control (RBAC), personal containers, encrypted networks using TLS, and a multi-tenant environment.
DKS is part of
Docker Enterprise and
Docker Desktop Enterprise . DKS right out of the box provides security, encryption and can work interchangeably with Docker Swarm in the same cluster.
Openshift
Red Hat's OpenShift is an open source platform based on The Origin Community Distribution of Kubernetes (OKD for short), which itself is based on K8s. OKD extends Kubernetes by adding a new web console, a more powerful command line, multi-tenant support, and high-availability cluster deployment tools. OpenShift uses Ansible to automate the deployment process, and it can be installed on bare servers or cloud services.
OpenShift accepts OKD and packs it along with other projects, such as the Istio service grid, Prometheus for monitoring, and Elastic Stack for logging. It includes the Source-to-Image (S2I) framework, which uses reproducible containers to package and deploy source code. This allows developers to run code without having to create their own images. OpenShift also receives features from Tectonic such as automatic updates, operators, and the Quay container registry.
OpenShift comes in several flavors, depending on where and how you want to deploy it:
- OpenShift Online : A fully managed, open source cloud offering for rapid application deployment.
- OpenShift Dedicated : A fully managed private cloud. OpenShift cluster hosted on AWS.
- OpenShift Container Platform : An OpenShift enterprise cluster that you deploy in your own infrastructure.
A detailed comparison of Kubernetes, OKD, and OpenShift can be found on the
OpenShift website.
Rancher
Rancher offers the functionality of the commercial K8s distribution in an open source package. The reason for the popularity of Rancher lies in the ability to easily create clusters on bare metal (using the Rancher Kubernetes Engine), as well as on hosting providers such as AKS and GKE. To deploy Rancher, you just need to install Docker on your hosts, define the cluster configuration in YAML and run rke up. Rancher can also import existing Kubernetes clusters created by Kops, KubeSpray or other distributions, including OpenShift.
RKE is completely container-based, making it easy to modify or scale your cluster on demand. Rancher also adds role-based access control (RBAC) features, integration with a range of authentication systems, automatic backups, automatic certificate management and many plug-ins.
Rancher does not set a goal to remake Kubernetes, but rather facilitates its deployment and use.
Apache Mesosphere Kubernetes Engine
The Mesosphere Kubernetes Engine (MKE) is a relatively new project announced at the end of 2018. It adds the official K8s runtime to Apache Mesosphere. One of the key functions is the creation of multi-Kubernetes high-density media (High Density Multi-Kubernetes,
HDMK ), which allows you to place several isolated Kubernetes clusters on the same nodes. MKE also offers self-healing cluster components, one-click scaling and updating, Calico networking and encrypted communication between the components.
MKE runs on DC / OS, making it easy to deploy and manage over existing DC / OS clusters.
Pivotal container service
Pivotal Container Service (PKS) is a specialized solution for the use of K8s in enterprises and telecom operators. It greatly simplifies the deployment and operation of clusters of this framework. PKS can be deployed in the data center through vSphere, as well as on the Google Cloud Platform. This service has recently been certified by the Cloud Native Computing Foundation's Kubernetes Software Conformance Certification Program.
PKS uses
BOSH , a set of tools for deploying and managing distributed systems and applications that provide stability and reliability in the base cluster. BOSH not only monitors and controls Kubernetes processes, but also monitors your hosts, providing failover security, recovery, and scalability at the virtual machine level.
In addition to BOSH, PKS also includes a private registry service called Harbor, which supports both container images and Helm diagrams, vulnerability scanning and access control. PKS also integrates with a number of VMware tools, such as NSX-T for encrypted networks, vRealize Operations Manager for monitoring and managing systems, and Wavefront for collecting metrics. Pivotal also provides a platform for installing add-ons and integrations.
PKS consists of three levels:
- Essential PKS for deploying and managing your own clusters;
- Enterprise PKS for automated deployment using BOSH, Harbor and other tools;
- Cloud PKS for fully managed, hosted clusters.
Conclusion
This is by no means an exhaustive list, but it covers most of the most popular distributions. There are dozens of other tools designed to simplify Kubernetes management, including OpenStack, Apache CloudStack, Charmed Kubernetes, Heptio Kubernetes Subscription, and SUSE CaaS.
If you are not sure which solution to choose, try starting from your business tasks. Are you using a small deployment environment with multiple applications? Then consider the Rancher or OpenShift Container Platform. Do you use a large number of applications or business critical applications? Then consider a high-availability distribution such as Enterprise PKS, MKE, or OpenShift Dedicated.
What else is useful to read on the Cloud4Y blog
β
5 open-source security event management systems
β
What will we eat in 2050
β
Cyber ββinsurance in the Russian market
β
Robots and strawberries: how AI increases field yields
β
Beer intelligence - AI comes up with beer
Subscribe to our
Telegram channel so as not to miss another article! We write no more than twice a week and only on business.