Kubernetes (K8s) is one of the leading platforms for deployment and management of fault-tolerant containerized applications. It is used to build cloud-native, microservice applications, as well as enables companies to migrate existing projects into containers for more efficiency and resiliency. K8s cluster can handle complex tasks of container orchestration, such as deployment, service discovery, rolling upgrades, self-healing, and security management.
Kubernetes project is supported by Cloud Native Computing Foundation that helps to enable cloud portability without vendor lock-in. The K8s clusters can be deployed anywhere: on bare metal, public or private cloud.
At the same time, we don’t need to forget that spinning up Kubernetes cluster on own servers from scratch is a complicated procedure. It requires a deep understanding of the cluster components and ways they should be interconnected, as well as time and skills for monitoring and troubleshooting. For more details refer to Kubernetes The Hard Way article.
In addition, managed K8s services automate and ease a list of operations but there still remains the “right-sizing” cloud problem. To get maximum efficiency you have to predict the size of a worker node and containers running inside. Otherwise, you may end up paying for large workers that are not fully loaded, or using small VMs and playing around automatic horizontal scaling which may lead to additional complexity.
Unispace has moved ahead solving a number of barriers and providing necessary functionality to get started with Kubernetes hosting easily while gaining maximum efficiency in terms of resource consumption:
- Complex cluster setup is fully automated and converted to “one click” inside intuitive UI
- Instant vertical scaling based on the load changes fully automated by the platform
- Fast automatic or manual horizontal scaling of K8s worker nodes with integrated autodiscovery
- Pay-per-Use pricing model is unlocked for Kubernetes hosting, thus there is no need to overpay for reserved but unused resources
- Unispace Shared Storage is integrated with Dynamic Volume Provisioner so physical volumes used by applications are automatically placed to the storage drive and can be accessed by the user using SFTP/NFS or via integrated file manager
- No Public IPs are required by default, Shared Load Balancer processes all incoming requests as a proxy server and is provided out of the box
- Provision the clusters across multiple regions, clouds and on-premises with no fractions and differences in configurations and no vendor lock-in
Kubernetes Cluster Topology
Unispace PaaS supplies Kubernetes cluster with the following pre-installed components:
- Runtime controller Containerd
- CNI plugin (powered by Weave) for overlay network support
- Traefik ingress controller for transferring HTTP/HTTPS requests to services
- HELM package manager to auto-install pre-packed solutions from repositories
- CoreDNS for internal names resolution
- Dynamic provisioner of persistent volumes
- Dedicated NFS storage
- Metrics Server for gathering stats
- Jelastic SSL for protecting ingress network
- Web UI Dashboard