KubeZero/README.md

77 lines
3.4 KiB
Markdown
Raw Normal View History

2020-07-09 15:33:00 +00:00
KubeZero - Zero Down Time Kubernetes platform
========================
2021-01-27 12:20:11 +00:00
KubeZero is a Kubernetes distribution providing an integrated container platform so you can focus on your applications.
2020-05-01 13:57:31 +00:00
2021-01-27 12:20:11 +00:00
# Design philosophy
2020-05-01 14:08:55 +00:00
2021-01-27 12:20:11 +00:00
- Cloud provider agnostic, bare-metal/self-hosted
2021-01-26 13:47:33 +00:00
- No vendor lock in, most components are optional and could be exchanged
2021-01-27 12:20:11 +00:00
- Organic Open Source / open and permissive licenses over closed-source solutions
2020-07-09 15:33:00 +00:00
- No premium services / subscriptions required
2021-01-26 13:47:33 +00:00
- Staying and contributing back to upstream projects as much as possible
2020-05-01 14:08:55 +00:00
2021-01-12 15:27:21 +00:00
# Version / Support Matrix
2021-01-21 10:53:53 +00:00
| KubeZero \ Kubernetes Version | v1.17 | v1.18 | v1.19 | v1.20 | EOL |
2021-01-12 15:27:21 +00:00
|----------------------------------------|-------|-------|-------|-------|-------------|
| master branch | no | yes | beta | no | |
2021-01-21 10:53:53 +00:00
| stable branch | no | yes | no | no | |
2021-01-12 15:27:21 +00:00
| v2.18.0 | no | yes | no | no | 30 Apr 2021 |
| v1 | yes | no | no | no | 30 Jan 2021 |
2021-01-26 14:27:22 +00:00
# Architecure
![aws_architecture](docs/aws_architecture.png)
2020-05-01 14:08:55 +00:00
2021-01-26 14:27:22 +00:00
# Components
## Container runtime
- cri-o rather than Docker for improved security and performance
2020-07-09 15:33:00 +00:00
2020-08-26 10:41:28 +00:00
## 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
2021-01-26 13:47:33 +00:00
## GitOps
- full ArgoCD support and integration (optional)
2020-07-09 15:33:00 +00:00
2020-08-26 10:41:28 +00:00
## AWS IAM access control
- Kiam allowing IAM roles per pod
- IAM roles are assumed / requested and cached on controller nodes for improved security
2021-01-26 13:47:33 +00:00
- access to meta-data services is blocked / controlled on all nodes
- core IAM roles are maintained via CFN templates
2020-07-09 15:33:00 +00:00
2020-08-26 10:41:28 +00:00
## 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
2020-07-09 15:33:00 +00:00
## Storage
2020-08-26 10:41:28 +00:00
- 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
2020-05-01 14:08:55 +00:00
2020-08-26 10:41:28 +00:00
## Logging
- all container logs are enhanced with Kubernetes metadata to provide context for each message
2021-01-26 13:47:33 +00:00
- 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
2020-08-26 10:41:28 +00:00
- lightweight fluent-bit agents on each node requiring minimal resources forwarding logs secure via SSL to fluentd