All Projects → lwolf → kubereplay

lwolf / kubereplay

Licence: Apache-2.0 license
Seamless integration of goReplay and Kubernetes

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to kubereplay

K8gb
A cloud native Kubernetes Global Balancer
Stars: ✭ 113 (+276.67%)
Mutual labels:  cloud-native, kubernetes-operator, kubernetes-controller
siddhi-operator
Operator allows you to run stream processing logic directly on a Kubernetes cluster
Stars: ✭ 16 (-46.67%)
Mutual labels:  cloud-native, kubernetes-operator
Rbacsync
Automatically sync groups into Kubernetes RBAC
Stars: ✭ 197 (+556.67%)
Mutual labels:  kubernetes-operator, kubernetes-controller
Chaos Mesh
A Chaos Engineering Platform for Kubernetes.
Stars: ✭ 4,265 (+14116.67%)
Mutual labels:  cloud-native, crd
Marmot
Marmot workflow execution engine
Stars: ✭ 174 (+480%)
Mutual labels:  kubernetes-operator, devops-tools
Operators
Collection of Kubernetes Operators built with KUDO.
Stars: ✭ 175 (+483.33%)
Mutual labels:  kubernetes-operator, kubernetes-controller
Strimzi Kafka Operator
Apache Kafka running on Kubernetes
Stars: ✭ 2,833 (+9343.33%)
Mutual labels:  kubernetes-operator, kubernetes-controller
kotary
Managing Kubernetes Quota with confidence
Stars: ✭ 85 (+183.33%)
Mutual labels:  kubernetes-operator, kubernetes-controller
Escape
Release engineering, life-cycle management and Continuous Delivery of software platforms and artefacts
Stars: ✭ 199 (+563.33%)
Mutual labels:  cloud-native, devops-tools
Devspace
DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes.
Stars: ✭ 2,559 (+8430%)
Mutual labels:  cloud-native, devops-tools
Cronjobber
Cronjobber is a cronjob controller for Kubernetes with support for time zones
Stars: ✭ 169 (+463.33%)
Mutual labels:  kubernetes-operator, kubernetes-controller
mysql-operator
Asynchronous MySQL Replication on Kubernetes using Percona Server and Openark's Orchestrator.
Stars: ✭ 810 (+2600%)
Mutual labels:  kubernetes-operator, kubernetes-controller
Captain
A Helm 3 Controller
Stars: ✭ 129 (+330%)
Mutual labels:  kubernetes-operator, kubernetes-controller
Bonny
The Elixir based Kubernetes Development Framework
Stars: ✭ 190 (+533.33%)
Mutual labels:  kubernetes-operator, kubernetes-controller
Wordpress Operator
WordPress operator for Kubernetes
Stars: ✭ 127 (+323.33%)
Mutual labels:  kubernetes-operator, kubernetes-controller
Spark On K8s Operator
Kubernetes operator for managing the lifecycle of Apache Spark applications on Kubernetes.
Stars: ✭ 1,780 (+5833.33%)
Mutual labels:  kubernetes-operator, kubernetes-controller
Kudo
Kubernetes Universal Declarative Operator (KUDO)
Stars: ✭ 849 (+2730%)
Mutual labels:  kubernetes-operator, kubernetes-controller
Sens8
Kubernetes controller for Sensu checks
Stars: ✭ 42 (+40%)
Mutual labels:  kubernetes-operator, kubernetes-controller
Litmus
Litmus helps SREs and developers practice chaos engineering in a Cloud-native way. Chaos experiments are published at the ChaosHub (https://hub.litmuschaos.io). Community notes is at https://hackmd.io/a4Zu_sH4TZGeih-xCimi3Q
Stars: ✭ 2,377 (+7823.33%)
Mutual labels:  cloud-native, crd
gcp-serviceaccount-controller
This is a controller to automatically create gcp service accounts an save them into kubernetes secrets
Stars: ✭ 14 (-53.33%)
Mutual labels:  crd, crd-controller

Build Status Docker Repository on Quay Go Report Card

kubereplay

Kubereplay aims to make integration of Goreplay and Kubernetes as easy and automated as possible.

Current status

This is an early alpha version. It is not meant to run in production yet.

About

Kubereplay is a Kubernetes add-on to automate capturing and redirection of traffic using Goreplay. It consist of 2 parts that need to run in the cluster - controller and initializer.

How it works:

Kubereplay creates and manages 2 CRDs: Harvesters and Refineries.

Refinery - is responsible for managing dedicated GoReplay deployment used for receiving data from workloads (harvesters). It listens to traffic on tcp socket and then sends it to configured output (stdout, elasticsearch, kafka, http).

Harvester - is used to configure which deployments should be controlled by Kubereplay. Based on selector in Harvester spec Kubereplay will add GoReplay-sidecar to matching deployments. More about initialization process is in the docs

Quickstart

# start minikube with Admission capabilities
$ minikube start --extra-config=apiserver.Admission.PluginNames="Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,ResourceQuota"

# start kubereplay controller manager in one console
$ go run cmd/controller-manager/main.go --kubeconfig=~/.kube/config

# start initializer controller in the second
$ go run cmd/initializer-controller/main.go --kubeconfig=~/.kube/config

# add initializer config
$ kubectl create -f sample/initializer-configuration.yaml

# create harvester, refinery and test deployment
$ kubectl create -f sample/harvester.yaml
$ kubectl create -f sample/refinery.yaml
$ kubectl create -f sample/echoserver.yaml

Pre-requisites

  • Kubernetes v1.9+ with admission capabilities enabled.

Deploying Kubereplay

The easiest way to deploy Kubereplay to a real cluster is by using Helm chart:

# add charts repository
$ helm repo add lwolf-charts https://charts.lwolf.org

# update the index if needed
$ helm repo update

# install
$ helm install lwolf-charts/kubereplay

Troubleshooting

If you encounter any issues while using Kubereplay, and your issue is not documented, please file an issue.

Contributing

All kinds of contributions are very much welcome!

  • Fork it
  • Create your feature branch (git checkout -b my-new-feature)
  • Commit your changes (git commit -am 'Added some feature')
  • Push to the branch (git push origin my-new-feature)
  • Create new Pull Request

Changelog

The list of releases is the best place to look for information on changes between releases.

Support

If you're using kubereplay and want to support the development, buy me a beer at Beerpay!

Beerpay

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].