Skip to content
This repository has been archived by the owner on Feb 9, 2022. It is now read-only.

vmware-archive/kube-prod-runtime

WARNING: Bitnami Kubernetes Production Runtime is no longer actively maintained by VMware.

VMware has made the difficult decision to stop driving this project and therefore we will no longer actively respond to issues or pull requests. If you would like to take over maintaining this project independently from VMware, please let us know so we can add a link to your forked project here.

Thank You.

Description

The Bitnami Kubernetes Production Runtime (BKPR) is a collection of services that makes it easy to run production workloads in Kubernetes.

Think of Bitnami Kubernetes Production Runtime as a curated collection of the services you would need to deploy on top of your Kubernetes cluster to enable logging, monitoring, certificate management, automatic discovery of Kubernetes resources via public DNS servers and other common infrastructure needs.

BKPR

BKPR is available for Google Kubernetes Engine (GKE), Azure Kubernetes Service (AKS) and Amazon Elastic Container Service for Kubernetes (Amazon EKS) clusters.

License

BKPR is licensed under the Apache License Version 2.0.

Requirements

BKPR has been tested to work on a bare-minimum Kubernetes cluster with three kubelet nodes with 2 CPUs and 8GiB of RAM each.

Kubernetes version support matrix

The following matrix shows which Kubernetes versions and platforms are supported:

BKPR release AKS versions GKE versions EKS versions
1.3 (deprecated) 1.11-1.12 1.11-1.12 1.11
1.4 (deprecated) 1.14-1.15 1.14-1.15 1.14
1.5 (deprecated) 1.14-1.15 1.14-1.15 1.14-1.15
1.6 (deprecated) 1.15-1.16 1.15-1.16 1.15-1.16
1.7 1.16-1.17 1.16-1.17 1.16-1.17
1.8 (current) 1.17-1.18 1.17-1.18 1.17-1.18
1.9 (planned) 1.18 1.18-1.19 1.18-1.19

Note that the (experimental) generic platform is e2e tested on GKE.

Quickstart

Please use the installation guide to install the kubeprod binary before installing BKPR to your cluster.

Frequently Asked Questions (FAQ)

See the separate FAQ and roadmap documents.

Versioning

The versioning used in BKPR is described here.

Components

BKPR leverages the following components to achieve its mission. For more in-depth documentation about them please read the components documentation.

Logging stack

  • Elasticsearch: A distributed, RESTful search and analytics engine
  • Fluentd: A data collector for unified logging layer
  • Kibana: A visualization tool for Elasticsearch data

Logging stack

Monitoring stack

  • Prometheus: A monitoring system and time series database
  • Alertmanager: An alert manager and router
  • Grafana: An open source metric analytics & visualization suite

Monitoring stack

Ingress stack

  • NGINX Ingress Controller: A Controller to satisfy requests for Ingress objects
  • cert-manager: A Kubernetes add-on to automate the management and issuance of TLS certificates from various sources
  • OAuth2 Proxy: A reverse proxy and static file server that provides authentication using Providers (Google, GitHub, and others) to validate accounts by email, domain or group
  • ExternalDNS: A component to synchronize exposed Kubernetes Services and Ingresses with DNS providers

Ingress stack

Release compatibility

Components version support

The following matrix shows which versions of each component are used and supported in the most recent releases of BKPR:

Component BKPR 1.6 BKPR 1.7 BKPR 1.8
Alertmanager 0.21.x 0.21.x 0.21.x
cert-manager 0.14.x 0.16.x 0.16.x
configmap-reload 0.3.x 0.5.x 0.5.x
Elasticsearch 7.8.x 7.12.x 7.12.x
Elasticsearch Curator 5.8.x 5.8.x 5.8.x
Elasticsearch Exporter 1.1.x 1.1.x 1.1.x
ExternalDNS 0.7.x 0.7.x 0.7.x
Fluentd 1.11.x 1.12.x 1.12.x
Grafana 7.0.x 7.5.x 7.5.x
Kibana 7.8.x 7.12.x 7.12.x
kube-state-metrics 1.9.x 1.9.x 1.9.x
Node exporter 1.0.x 1.1.x 1.1.x
NGINX Ingress Controller 0.33.x 0.34.x 0.34.x
oauth2_proxy 5.1.x 6.0.x 6.0.x
Prometheus 2.19.x 2.26.x 2.26.x

Note BKPR 1.8 is a catch up release. Patch versions might be updated, but no ther significant changes have been applied. This was done to enable ourselves to catch up with the latest Kubernetes releases for subsequent BKPR releases.

Contributing

If you would like to become an active contributor to this project please follow the instructions provided in contribution guidelines.