ZeroDownTime Kubernetes platform - https://kubezero.com
Go to file
2021-03-24 13:08:17 +01:00
charts Ensure we use our version of the aws-efs chart 2021-03-24 13:08:17 +01:00
docs Add updated AWS arch diagram 2021-01-26 14:27:22 +00:00
scripts Make setClusterVersion less brittle 2021-03-19 10:15:15 +01:00
.gitattributes Initial commit 2020-05-01 14:57:31 +01:00
.gitignore Version bump for aws-ebs-csi and kiam, ES bugfix bump, fluentd tuning 2021-01-21 12:31:06 +00:00
.helmdocsignore CI/CD tools update 2021-01-21 10:53:53 +00:00
CHANGELOG.md More documentation updates 2021-01-26 14:04:47 +00:00
LICENSE.md Initial commit 2020-05-01 14:57:31 +01:00
Makefile Minor cleanup 2021-01-27 12:20:11 +00:00
README.md Minor cleanup 2021-01-27 12:20:11 +00:00

KubeZero - Zero Down Time Kubernetes platform

KubeZero is a Kubernetes distribution providing an integrated container platform so you can focus on your applications.

Design philosophy

  • Cloud provider agnostic, bare-metal/self-hosted
  • No vendor lock in, most components are optional and could be exchanged
  • Organic Open Source / open and permissive licenses over closed-source solutions
  • No premium services / subscriptions required
  • Staying and contributing back to upstream projects as much as possible

Version / Support Matrix

KubeZero \ Kubernetes Version v1.17 v1.18 v1.19 v1.20 EOL
master branch no yes beta no
stable branch no yes no no
v2.18.0 no yes no no 30 Apr 2021
v1 yes no no no 30 Jan 2021

Architecure

aws_architecture

Components

Container runtime

  • cri-o rather than Docker for improved security and performance

Control plane

  • support for single node control plane for small clusters / test environments to reduce costs
  • access to control plane from within the VPC only by default ( VPN access required for Admin tasks )
  • controller nodes are used for various platform admin controllers / operators to reduce costs and noise on worker nodes

GitOps

  • full ArgoCD support and integration (optional)

AWS IAM access control

  • Kiam allowing IAM roles per pod
  • IAM roles are assumed / requested and cached on controller nodes for improved security
  • access to meta-data services is blocked / controlled on all nodes
  • core IAM roles are maintained via CFN templates

Network

  • Calico using VxLAN incl. increased MTU
  • allows way more containers per worker
  • isolates container traffic from VPC by using VxLAN overlay
  • no restrictions on IP space / sizing from the underlying VPC architecture

Storage

  • flexible EBS support incl. zone awareness
  • EFS support via automated EFS provisioning for worker groups via CFN templates
  • local storage provider for latency sensitive high performance workloads

Ingress

  • AWS Network Loadbalancer and Istio Ingress controllers
  • No additional costs per exposed service
  • Automated SSL Certificate handling via cert-manager incl. renewal etc.
  • support for TCP services
  • Client source IP available to workloads via HTTP header
  • optional full service mesh

Metrics

  • Prometheus support for all components
  • automated service discovery allowing instant access to common workload metrics
  • Preconfigured community maintained Grafana dashboards for common services
  • Preconfigured community maintained Alerts

Logging

  • all container logs are enhanced with Kubernetes metadata to provide context for each message
  • flexible ElasticSearch setup, leveraging the ECK operator, for easy maintenance & minimal admin knowledge required, incl. automated backups to S3
  • Kibana allowing easy search and dashboards for all logs, incl. pre configured index templates and index management
  • central fluentd service providing queuing during highload as well as additional parsing options
  • lightweight fluent-bit agents on each node requiring minimal resources forwarding logs secure via SSL to fluentd