Kubernetes (K8s) is an open-source system designed to automate deployment, scaling, and management of microservices and containerized applications. A pod, which is the central piece in the K8s model, is a set of Linux containers with shared network and storage. Network plugins and ingress controllers support internal and external load balancers, while pluggable storage backends automate data persistence. Kubernetes kubelet orchestrates pods ensuring the cluster is always in a desired healthy state.
Installation of a Kubernetes Cluster, as well as network and storage configuration, is a tedious and error-prone process. CirrusGrid PaaS automates Kubernetes installation, configuration, updates, and supplies multiple additional Kubernetes services and cluster components:
- Weave CNI plugin to enable internal networking
- CoreDNS as internal DNS
- Traefik ingress controller with pre-configured TLS for external access to services (with the NGINX and HAProxy options available since 1.15.5)
- NFS storage provisioner for automatic creation of K8s volumes (optional)
- Kubernetes Dashboard to manage and control the cluster via a modern and intuitive web client
- Helm and Tiller for one-click deployment of hundreds of popular applications
- K9s, kubectx, popeye, and stern command-line utilities to efficiently manage your cluster
- Metrics server, Prometheus, and Grafana for monitoring your cluster and applications health (optional)
- Jaeger for monitoring and troubleshooting of the microservice-based distributed systems (optional, available since 1.15.5)
Besides K8s specific features, traditional CirrusGrid features are available too, e.g. vertical and horizontal scaling.