Kubernetes Cluster Overview
Kubernetes (K8s) is an open-source platform for automating the deployment, scaling, and management of containerized applications and microservices. The platform simplifies Kubernetes adoption by automating cluster installation, configuration, updates, networking, storage, monitoring, and several commonly required supporting services.
Automated Deployment
Deploy and configure Kubernetes clusters without manually assembling every networking, storage, ingress, and management component.
Built-In Ecosystem
Use pre-integrated networking, DNS, ingress, monitoring, storage, deployment, and cluster-management tools.
Platform Scaling
Combine Kubernetes capabilities with the platform’s traditional vertical and horizontal scaling features.
How Kubernetes Works
Kubernetes is designed to manage containerized workloads and keep applications running in the required state. Instead of managing individual containers manually, Kubernetes organizes application components into higher-level objects and automatically coordinates their lifecycle.
Pods
A pod is a fundamental Kubernetes workload unit. It can contain one or more Linux containers that share networking and storage resources.
Networking
Network plugins provide communication between pods and other cluster components, while ingress and load-balancing mechanisms expose applications internally or externally.
Storage
Pluggable storage backends allow applications to use persistent data volumes independently of individual container lifecycles.
The Kubernetes kubelet runs on cluster nodes and coordinates pods according to the desired cluster state. Kubernetes continuously monitors workloads and attempts to keep applications in the required healthy configuration.
Kubernetes installation can involve many interdependent components. Networking, ingress, DNS, storage, monitoring, certificates, and cluster-management tools all need to work together correctly.
Platform Kubernetes Automation
Manual Kubernetes installation, networking, and storage configuration can be time-consuming and error-prone. The platform automates the cluster deployment process and supplies a pre-integrated set of Kubernetes services and management tools.
- Automated Kubernetes installation and initial configuration.
- Automated cluster updates and lifecycle management.
- Preconfigured networking and DNS.
- Ingress and external-access options.
- Optional persistent-storage provisioning.
- Web and command-line cluster administration tools.
- Application deployment tools.
- Optional monitoring and distributed-tracing components.
Networking and DNS
Weave CNI
The Weave CNI plugin provides internal Kubernetes networking so pods and cluster services can communicate across nodes.
CoreDNS
CoreDNS provides internal DNS resolution for Kubernetes services and workloads.
Together, the CNI and DNS layers allow applications to communicate through Kubernetes networking abstractions rather than depending directly on individual container IP addresses.
Ingress and External Access
The Kubernetes cluster includes an ingress-controller layer for exposing applications outside the cluster.
Traefik Ingress Controller
Traefik is provided with preconfigured TLS support for external access to Kubernetes services. Depending on the Kubernetes package version, NGINX and HAProxy ingress-controller options may also be available.
Ingress role: An ingress controller receives external HTTP/HTTPS traffic and routes requests to the appropriate Kubernetes services according to ingress rules.
Persistent Storage
Container filesystems are not always suitable for application data that must survive pod replacement or rescheduling. Kubernetes therefore supports persistent volumes through pluggable storage backends.
NFS Storage Provisioner
An optional NFS storage provisioner can automatically create Kubernetes volumes for applications that require persistent data.
Automated volume provisioning reduces the need to create storage resources manually for every application deployment.
Cluster Management and Deployment Tools
The Kubernetes package includes both graphical and command-line utilities to simplify administration and application deployment.
Kubernetes Dashboard
Provides a web-based interface for viewing and managing Kubernetes cluster resources.
Helm and Tiller
Support packaged application deployment and simplify installation of many commonly used Kubernetes applications.
K9s
Terminal-based interface for navigating and managing Kubernetes resources.
kubectx
Helps administrators switch efficiently between Kubernetes clusters and contexts.
Popeye
Assists with identifying potential configuration issues and resource problems within a Kubernetes cluster.
Stern
Simplifies viewing and following logs from multiple Kubernetes pods and containers.
Monitoring and Troubleshooting
Optional monitoring components provide visibility into cluster and application health.
Metrics Server
Supplies Kubernetes resource metrics used for monitoring and scaling-related functions.
Prometheus
Collects and stores metrics from Kubernetes infrastructure and applications.
Grafana
Provides dashboards and visualization for collected monitoring metrics.
Jaeger
Optional distributed-tracing functionality helps monitor and troubleshoot microservice-based systems.
Monitoring and tracing components are optional in the Kubernetes package. Their availability can depend on the cluster package or Kubernetes version selected by the hosting provider.
Platform Scaling Features
In addition to Kubernetes-native functionality, clusters can use traditional platform capabilities such as vertical and horizontal resource scaling.
Vertical Scaling
Adjust CPU and memory resources available to cluster nodes according to workload requirements.
Horizontal Scaling
Increase or reduce the number of instances or nodes where supported by the environment architecture.
Overall result: The platform combines Kubernetes orchestration with pre-integrated networking, ingress, storage, deployment, monitoring, and management components so administrators can focus more on workloads and less on assembling the underlying cluster infrastructure.
What’s next?