# Tools

## Auto Scaling

### Clusterman

{% embed url="<https://github.com/Yelp/clusterman>" %}

Hint: <https://engineeringblog.yelp.com/2019/11/open-source-clusterman.html>

### custom-pod-autoscaler

{% embed url="<https://github.com/jthomperoo/custom-pod-autoscaler>" %}

Also check: <https://github.com/jthomperoo/predictive-horizontal-pod-autoscaler>

### goldilocks

{% embed url="<https://github.com/FairwindsOps/goldilocks>" %}

### k8s-worker-pod-autoscaler

{% embed url="<https://github.com/practo/k8s-worker-pod-autoscaler>" %}

### Keda

{% embed url="<https://github.com/kedacore/keda>" %}

### kube-downscaler

{% embed url="<https://github.com/hjacobs/kube-downscaler>" %}

### Kubernetes autoscaler

{% embed url="<https://github.com/kubernetes/autoscaler>" %}

### pangolin

{% embed url="<https://github.com/dpeckett/pangolin>" %}

### predictive-horizontal-pod-autoscaler

{% embed url="<https://github.com/jthomperoo/predictive-horizontal-pod-autoscaler>" %}

### sqs-autoscaler-controller

{% embed url="<https://github.com/uswitch/sqs-autoscaler-controller>" %}

## Artifact management

### Grafeas

{% embed url="<https://github.com/grafeas/grafeas>" %}

### JFrog

{% embed url="<https://jfrog.com/>" %}

### Nexus

{% embed url="<https://github.com/sonatype/nexus-oss>" %}

### skopeo

{% embed url="<https://github.com/containers/skopeo>" %}

## Backup

### etcdctl

{% embed url="<https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster>" %}

### Kasten (k10)

{% embed url="<https://kasten.io/>" %}

### katafygio

{% embed url="<https://github.com/bpineau/katafygio>" %}

### PX-Backup

{% embed url="<https://portworx.com/cloud-native-application-backups-using-px-backup/>" %}

### Stash

{% embed url="<https://stash.run/>" %}

### Velero

{% embed url="<https://github.com/heptio/velero>" %}

## Blogs / References

* <https://blog.kubernauts.io/>
* <https://dev.to/sendilkumarn/kubernetes-for-everyone-opb>
* <https://ahmet.im/blog/>
* <https://blog.heptio.com/>
* <https://medium.com/flant-com>
* <https://srcco.de>
* <https://k8s.af>
* <https://medium.com/flant-com>
* <https://medium.com/faun/>
* <https://0x65.dev/>
* <https://www.tigera.io/blog/>
* <http://dockerlabs.collabnix.com/kubernetes/kubetools/>
* <https://developers.blog.br/>
* <https://learnk8s.io/how-many-clusters>

## Best practices

### Admin cluster tasks

{% embed url="<https://kubernetes.io/docs/tasks/administer-cluster/>" %}

{% embed url="<https://www.stackrox.com/post/2019/09/12-kubernetes-configuration-best-practices/?utm_sq=g9bjrc5xz9>" %}

### kubectl-doctor

{% embed url="<https://github.com/emirozer/kubectl-doctor>" %}

### Untrak

{% embed url="<https://github.com/yanc0/untrak>" %}

### Popeye

{% embed url="<https://github.com/derailed/popeye/blob/master/README.md>" %}

### Production Checklist

{% embed url="<https://srcco.de/posts/web-service-on-kubernetes-production-checklist-2019.html>" %}

{% embed url="<https://learnk8s.io/production-best-practices>" %}

### rudr (Open Application Model specification)

{% embed url="<https://github.com/oam-dev/rudr>" %}

### sonobuoy

{% embed url="<https://github.com/vmware-tanzu/sonobuoy>" %}

### Spiffe

{% embed url="<https://spiffe.io/spire/try/getting-started-k8s/>" %}

## Broker/PubSub/Messaging

### NATS

{% embed url="<https://github.com/nats-io/k8s>" %}

## Chaos Engineering

### chaos-mesh

{% embed url="<https://github.com/pingcap/chaos-mesh>" %}

### chaoskube

{% embed url="<https://github.com/linki/chaoskube>" %}

### chaostoolkit-kubernetes

{% embed url="<https://github.com/chaostoolkit/chaostoolkit-kubernetes>" %}

### Gremlin

{% embed url="<https://www.gremlin.com/>" %}

### kubethanos

{% embed url="<https://github.com/berkay-dincer/kubethanos>" %}

### kube-monkey

{% embed url="<https://github.com/asobti/kube-monkey>" %}

### KubeInvaders

{% embed url="<https://github.com/lucky-sideburn/KubeInvaders>" %}

### litmus

{% embed url="<https://github.com/litmuschaos/litmus>" %}

### powerfulseal

{% embed url="<https://github.com/bloomberg/powerfulseal>" %}

## Cluster management

### Cloudhealth

{% embed url="<https://www.cloudhealthtech.com/solutions/containers>" %}

### kubermatic

{% embed url="<https://github.com/kubermatic/kubermatic>" %}

### mission-control

{% embed url="<https://tanzu.vmware.com/mission-control>" %}

## Continuous Development

### AppSody

{% embed url="<https://appsody.dev/>" %}

### CodeWind

{% embed url="<https://www.eclipse.org/codewind/>" %}

### DevSpace

{% embed url="<https://github.com/devspace-cloud/devspace>" %}

### dksnap

{% embed url="<https://github.com/kelda/dksnap>" %}

### Draft

{% embed url="<https://github.com/Azure/draft>" %}

### Garden

{% embed url="<https://github.com/garden-io/garden>" %}

### Kabanero

{% embed url="<https://kabanero.io/>" %}

### kail

{% embed url="<https://github.com/boz/kail>" %}

### kubetail

{% embed url="<https://github.com/johanhaleby/kubetail>" %}

### kubectl-debug

{% embed url="<https://github.com/aylei/kubectl-debug>" %}

### kubespy

{% embed url="<https://github.com/pulumi/kubespy>" %}

### ksync

{% embed url="<https://github.com/vapor-ware/ksync>" %}

### Okteto

{% embed url="<https://okteto.com/>" %}

<https://okteto.com/blog/remote-kubernetes-development/>

### Red Hat CodeReady Workspaces

{% embed url="<https://developers.redhat.com/products/codeready-workspaces>" %}

### skaffold

{% embed url="<https://github.com/GoogleContainerTools/skaffold>" %}

### Squash

{% embed url="<https://github.com/solo-io/squash>" %}

### Stern

{% embed url="<https://github.com/wercker/stern>" %}

### Telepresence

{% embed url="<https://github.com/telepresenceio/telepresence>" %}

### Tilt

{% embed url="<https://github.com/windmilleng/tilt>" %}

{% hint style="info" %}
If you are trying to use Tilt with minikube and get this error `Error: Could not read node IP from minikube: exec: "minikube": executable file not found in $PATH`

Edit ir your minikube kubeconfig file and change the fields bellow to minikubeA (or any string different of minikube):

* clusters.0.name&#x20;
* contexts.context.cluster
* contexts.0.name
* current-context
  {% endhint %}

### Libs / Frameworks

#### Jib

{% embed url="<https://github.com/GoogleContainerTools/jib>" %}

## CI/DI

### Admiralty

{% embed url="<https://admiralty.io/>" %}

### Apollo

{% embed url="<https://github.com/logzio/apollo>" %}

### Argo

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/argoproj/argo>" %}

### autoapply

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/autoapply/autoapply>" %}

### Cellery

{% embed url="<https://github.com/wso2-cellery/sdk>" %}

### Drone CI

{% embed url="<https://drone.io>" %}

### Fabric8

{% embed url="<https://fabric8.io>" %}

### Faros

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/pusher/faros>" %}

### Flagger

{% hint style="info" %}
GitOps friendly
{% endhint %}

Operator that automates the promotion of canary deployments

{% embed url="<https://github.com/weaveworks/flagger>" %}

### flux

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/fluxcd/flux>" %}

Hint: <https://github.com/justinbarrick/fluxcloud>

### JenkinsX

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://jenkins.io/projects/jenkins-x/>" %}

### Ketch

{% embed url="<https://github.com/shipa-corp/ketch>" %}

### ko (deploy Go applications)

{% embed url="<https://github.com/google/ko>" %}

### krane

{% embed url="<https://github.com/Shopify/krane>" %}

### Prow

{% embed url="<https://github.com/kubernetes/test-infra/tree/master/prow>" %}

### Rollout

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://rollout.io/>" %}

### Shippable

{% embed url="<https://www.shippable.com/>" %}

### Spinnaker

{% embed url="<https://www.spinnaker.io/concepts/pipelines/>" %}

### Tekton

{% embed url="<https://tekton.dev/>" %}

Reference: <https://medium.com/ibm-garage/fun-with-gitops-stitching-kubernetes-tekton-and-argo-ee348afd0b08>

### Weave Flux

{% embed url="<https://www.weave.works/oss/flux/>" %}

### Werf

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/flant/werf>" %}

### kubegrid

{% embed url="<https://kubegrid.com>" %}

## CLI

### click

{% embed url="<https://github.com/databricks/click>" %}

### Tubekit

{% embed url="<https://github.com/reconquest/tubekit>" %}

### K9s

{% embed url="<https://github.com/derailed/k9s>" %}

### Krew (kubectl plugins)

{% embed url="<https://github.com/kubernetes-sigs/krew>" %}

<https://awesomeopensource.com/project/ishantanu/awesome-kubectl-plugins>

<https://github.com/etopeter/kubectl-view-utilization>

### kube-ps1

{% embed url="<https://github.com/jonmosco/kube-ps1>" %}

### kubebox

{% embed url="<https://github.com/astefanutti/kubebox>" %}

### kubectl-sudo

{% embed url="<https://github.com/postfinance/kubectl-sudo>" %}

### kube-prompt

{% embed url="<https://github.com/c-bata/kube-prompt>" %}

### kubectl-tmux-exec

{% embed url="<https://github.com/predatorray/kubectl-tmux-exec>" %}

### kubectl-tree

{% embed url="<https://github.com/ahmetb/kubectl-tree>" %}

### kubectx

{% embed url="<https://github.com/ahmetb/kubectx>" %}

Hint: add something like this in your $HOME/.bashrc

```
export KC=$HOME/.kube
export KUBECONFIG=$KC/my-kubeconfig-001:\
$KC/my-kubeconfig-002:\
$KC/my-kubeconfig-003

alias ctx="kubectl ctx"
alias ns="kubectl ns"

PS1="[\u@\h \W \$(kubectl ctx -c):\$(kubectl ns -c)]\$ "
```

### kubediff

{% embed url="<https://github.com/weaveworks/kubediff>" %}

### kubelive

{% embed url="<https://github.com/ameerthehacker/kubelive>" %}

### kubeprompt

{% embed url="<https://github.com/jlesquembre/kubeprompt>" %}

### kube-shell

{% embed url="<https://github.com/cloudnativelabs/kube-shell>" %}

### kubectl-fzf

{% embed url="<https://github.com/bonnefoa/kubectl-fzf>" %}

### kubie

{% embed url="<https://github.com/sbstp/kubie>" %}

## Cron

### k8s-job-notify

{% embed url="<https://github.com/sukeesh/k8s-job-notify>" %}

### Krontab

{% embed url="<https://github.com/jacobtomlinson/krontab>" %}

## Database

### CockroachDB

{% embed url="<https://www.cockroachlabs.com/docs/stable/orchestrate-cockroachdb-with-kubernetes.html>" %}

### Kubedb

{% embed url="<https://kubedb.com/>" %}

### MemSQL

{% embed url="<https://www.memsql.com/>" %}

### Nebula

{% embed url="<https://github.com/vesoft-inc/nebula>" %}

Tutorial: <https://nebula-graph.io/en/posts/how-to-deploy-nebula-graph-in-kubernetes/>

### TiDB

{% embed url="<https://github.com/pingcap/tidb-operator>" %}

### Percona

{% embed url="<https://www.percona.com/doc/kubernetes-operator-for-pxc/index.html>" %}

### Stolon (PostgreSQL)

{% embed url="<https://github.com/sorintlab/stolon>" %}

## Data and event streaming

### Apache Flink operator

{% embed url="<https://github.com/lyft/flinkk8soperator>" %}

### rudder-server

{% embed url="<https://github.com/rudderlabs/rudder-server>" %}

## Data encryption

### zettaset

{% embed url="<https://www.zettaset.com/products/xcrypt-kubernetes-encryption/>" %}

## Deployment/package management

### arkade

{% embed url="<https://github.com/alexellis/arkade>" %}

### artifacthub

{% embed url="<https://github.com/artifacthub/hub>" %}

### keel

{% embed url="<https://github.com/keel-hq/keel>" %}

### kubeapps

{% embed url="<https://github.com/kubeapps/kubeapps>" %}

### kubernetes-gated-deployments

{% embed url="<https://github.com/godaddy/kubernetes-gated-deployments/blob/master/README.md>" %}

### reckoner

{% embed url="<https://github.com/FairwindsOps/reckoner>" %}

### rio

{% embed url="<https://github.com/rancher/rio>" %}

### monocular

{% embed url="<https://github.com/helm/monocular>" %}

### teresa

{% embed url="<https://github.com/luizalabs/teresa>" %}

## Diagrams

### diagrams

{% embed url="<https://github.com/mingrammer/diagrams>" %}

### cloudskew

{% embed url="<https://www.cloudskew.com/>" %}

## Distributions / Platforms

### Firekube

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/weaveworks/wks-quickstart-firekube>" %}

### Heptio

{% embed url="<https://heptio.com/>" %}

### kubic

{% embed url="<https://kubic.opensuse.org/>" %}

### konvoy

{% embed url="<https://d2iq.com/solutions/ksphere/konvoy>" %}

### OpenShift

{% embed url="<https://www.openshift.com/>" %}

### Okd

{% embed url="<https://www.okd.io>" %}

### Pharos

{% embed url="<https://github.com/kontena/pharos-docs>" %}

### k0s

{% embed url="<https://github.com/k0sproject/k0s>" %}

### k3s

{% embed url="<https://github.com/rancher/k3s>" %}

Hint: <https://github.com/alexellis/k3sup>

### Kind (Kubernetes IN Docker)

{% embed url="<https://github.com/kubernetes-sigs/kind>" %}

### kubernix

{% embed url="<https://github.com/saschagrunert/kubernix>" %}

### Lokomotive

{% embed url="<https://github.com/kinvolk/lokomotive-kubernetes>" %}

### metalk8s

{% embed url="<https://github.com/scality/metalk8s>" %}

Hint: <https://github.com/danderson/metallb>me

### tk8

{% embed url="<https://github.com/kubernauts/tk8>" %}

### Typhoon

{% embed url="<https://github.com/poseidon/typhoon>" %}

### Run K8s locally

#### Kind

{% embed url="<https://github.com/kubernetes-sigs/kind>" %}

#### Microk8s

{% embed url="<https://microk8s.io/>" %}

#### Minikube

{% embed url="<https://github.com/kubernetes/minikube>" %}

{% hint style="info" %}
[Loan a cloud IP to your minikube cluster](https://blog.alexellis.io/loan-an-ip-to-your-minikube-cluster/).
{% endhint %}

## Docker run time

### Containerd

{% embed url="<https://containerd.io/>" %}

### CRI-O

{% embed url="<https://cri-o.io/>" %}

Hint: <https://github.com/kubernetes-sigs/cri-tools>

### gVisor

{% embed url="<https://github.com/google/gvisor>" %}

### Rkt

{% embed url="<https://coreos.com/rkt/>" %}

## FaaS

### Fission

{% embed url="<https://fission.io/>" %}

### Fn

{% embed url="<https://github.com/fnproject/fn>" %}

### IronFunctions

{% embed url="<https://github.com/iron-io/functions>" %}

### knative

{% embed url="<https://github.com/knative>" %}

Hint for debugging: <https://github.com/nimakaviani/knative-inspect>&#x20;

### Kubeless

{% embed url="<https://kubeless.io/>" %}

### Nuclio

{% embed url="<https://github.com/nuclio/nuclio>" %}

### OpenFaaS

{% embed url="<https://github.com/openfaas/faas>" %}

### OpenWhisk

{% embed url="<https://openwhisk.apache.org/>" %}

###

## Frameworks

### Admission controllers

#### admission-control

{% embed url="<https://github.com/elithrar/admission-control>" %}

### Java

#### Quarkus

{% embed url="<https://quarkus.io/>" %}

## Geocoder

### Pelias

{% embed url="<https://github.com/pelias/kubernetes>" %}

## Governance

### Replex

{% embed url="<https://www.replex.io/kubernetes>" %}

### spot.io

{% embed url="<https://spot.io/getting-started/kubernetes-on-spot/>" %}

### kubecost

{% embed url="<https://kubecost.com/>" %}

## GitOps

### awesome-gitops

{% embed url="<https://github.com/weaveworks/awesome-gitops>" %}

### gitops.tech

{% embed url="<https://www.gitops.tech/>" %}

## GUI

### helm-cabin

{% embed url="<https://github.com/Nick-Triller/helm-cabin>" %}

### Infra.app

{% embed url="<https://infra.app/>" %}

### k8dash

{% embed url="<https://github.com/herbrandson/k8dash>" %}

### Konstellate

{% embed url="<https://github.com/containership/konstellate>" %}

### Kontena

{% embed url="<https://www.kontena.io/>" %}

###

### Kubeman

{% embed url="<https://github.com/walmartlabs/kubeman>" %}

### Kubernetic

{% embed url="<https://kubernetic.com/>" %}

### kubeturbo

{% embed url="<https://github.com/turbonomic/kubeturbo>" %}

### kube-ops-view

{% embed url="<https://github.com/hjacobs/kube-ops-view>" %}

```
export KUBECONFIG=$HOME/.kube/cluster001:$HOME/.kube/cluster002
kubectl config view --flatten > KUBECONFIG=$HOME/.kube/all-clusters
docker run -it -p8080:8080 -v $HOME/.kube/all-clusters:/kube hjacobs/kube-ops-view --kubeconfig-path=/kube
```

### kubevious

{% embed url="<https://github.com/kubevious/kubevious>" %}

### kube-web-view

{% embed url="<https://codeberg.org/hjacobs/kube-web-view/>" %}

### Kubernator

{% embed url="<https://github.com/smpio/kubernator>" %}

### Kontena Lens

{% embed url="<https://github.com/lensapp/lens>" %}

### Octant

{% embed url="<https://github.com/vmware-tanzu/octant>" %}

### kube-resource-report

{% embed url="<https://github.com/hjacobs/kube-resource-report/>" %}

### kube-web-view

{% embed url="<https://github.com/hjacobs/kube-web-view>" %}

### webkubectl

{% embed url="<https://github.com/KubeOperator/webkubectl>" %}

### portainer-k8s

{% embed url="<https://github.com/portainer/portainer-k8s>" %}

## Image management

### Base images

#### distroles

{% embed url="<https://github.com/GoogleContainerTools/distroless>" %}

### Builders

#### buildah

{% embed url="<https://github.com/containers/buildah>" %}

#### gitkube

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/hasura/gitkube>" %}

#### Kaniko

{% embed url="<https://github.com/GoogleContainerTools/kaniko>" %}

#### makisu

{% embed url="<https://github.com/uber/makisu>" %}

### Cache

#### kube-fledged

{% embed url="<https://github.com/senthilrch/kube-fledged>" %}

## Installers

### bootkube

{% embed url="<https://github.com/kubernetes-sigs/bootkube>" %}

### Kops

{% embed url="<https://github.com/kubernetes/kops>" %}

### Kubeadm

{% embed url="<https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/>" %}

Kubeadmn on bare metal:&#x20;

<https://github.com/luxas/kubeadm-workshop>

<https://blog.alexellis.io/kubernetes-in-10-minutes/>

<https://kubernetes.io/docs/setup/independent/high-availability/>

### kube-aws

{% embed url="<https://github.com/kubernetes-incubator/kube-aws>" %}

### Kubespray

{% embed url="<https://github.com/kubernetes-sigs/kubespray>" %}

### RKE

{% embed url="<https://github.com/rancher/rke>" %}

RKE Chick-Fil-A use case: <https://medium.com/@cfatechblog/bare-metal-k8s-clustering-at-chick-fil-a-scale-7b0607bd3541>

### wksctl

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/weaveworks/wksctl>" %}

## Machine Learning

### kubeflow

{% embed url="<https://github.com/kubeflow/kubeflow>" %}

### terraform-gke-kubeflow-cluster

{% embed url="<https://github.com/spotify/terraform-gke-kubeflow-cluster>" %}

### volcano

{% embed url="<https://github.com/volcano-sh/volcano>" %}

## Managed solutions

### DOKS

{% embed url="<https://github.com/digitalocean/DOKS>" %}

### giantswarm

{% embed url="<https://www.giantswarm.io/>" %}

### kublr

{% embed url="<https://kublr.com/>" %}

### pivotal

{% embed url="<https://pivotal.io/platform/pivotal-container-service>" %}

### platform9

{% embed url="<https://platform9.com/>" %}

### rancher

{% embed url="<https://rancher.com/what-is-rancher/what-rancher-adds-to-kubernetes/>" %}

### Volterra

{% embed url="<https://www.volterra.io/>" %}

## Manifests management

### Debug

#### yq

```
kubectl get pod mypod -o yaml |  yq r - metadata.labels
```

Reference: <http://mikefarah.github.io/yq/#install>

### Templating

#### alterant

{% embed url="<https://github.com/cloud66-oss/alterant>" %}

### kompose

{% embed url="<https://github.com/kubernetes/kompose>" %}

### Validation

#### Checkov

{% embed url="<https://www.checkov.io/>" %}

#### copper

{% embed url="<https://github.com/cloud66-oss/copper>" %}

#### kpt

{% embed url="<https://github.com/GoogleContainerTools/kpt>" %}

#### kubeval

Validate a Kubernetes YAML or JSON configuration file

{% embed url="<https://github.com/instrumenta/kubeval>" %}

{% hint style="info" %}
Kubeval was having to pull down all the [schemas](https://github.com/instrumenta/kubernetes-json-schema) each time. [Learn how speedup the process](https://medium.com/@swade1987/increasing-kubeval-linting-speeds-9607d1141c6a).
{% endhint %}

### Kube YAML

{% embed url="<https://kubeyaml.com/>" %}

## Monitoring / Logging

### botkube

{% embed url="<https://github.com/infracloudio/botkube>" %}

### DARK (Dashboards As Resources in Kubernetes)

{% embed url="<https://github.com/K-Phoen/dark>" %}

### Fluentd

{% embed url="<https://www.fluentd.org/>" %}

### Prometheus

{% embed url="<https://prometheus.io/>" %}

### Long-term retention storage

**Cortex**

<https://github.com/cortexproject/cortex>

**Thanos**

<https://github.com/improbable-eng/thanos>

**InfluxDB**

<https://www.influxdata.com/time-series-platform/influxdb/>

**M3B3**

<http://m3db.github.io/m3/>

### Loghouse

{% embed url="<https://github.com/flant/loghouse>" %}

### Loki

{% embed url="<https://grafana.com/loki>" %}

<https://blog.giantswarm.io/grafana-logging-using-loki/>

### Kube Eagle

{% embed url="<https://github.com/google-cloud-tools/kube-eagle>" %}

### Kuberhealthy

{% embed url="<https://github.com/Comcast/kuberhealthy>" %}

### kube-state-metrics

{% embed url="<https://github.com/kubernetes/kube-state-metrics>" %}

### kubewatch

{% embed url="<https://github.com/bitnami-labs/kubewatch>" %}

### Kubricks

{% embed url="<https://github.com/kubricksllc/Kubricks>" %}

### searchlight (for Icinga)

{% embed url="<https://github.com/searchlight/searchlight>" %}

### Weave Scope

{% embed url="<https://github.com/weaveworks/scope>" %}

Reference: <https://medium.com/@sachin.arote1/monitoring-kubernetes-cluster-using-prometheus-and-grafana-6ddd7aabe468>

## Multi-cluster (multicluster)

### Consult

{% embed url="<https://www.nomadproject.io/docs/integrations/consul-integration/>" %}

## Multi-tenant

### keiko

{% embed url="<https://github.com/keikoproj/keiko>" %}

### Kiosk

{% embed url="<https://github.com/kiosk-sh/kiosk>" %}

### KubeSphere

{% embed url="<https://github.com/kubesphere/kubesphere>" %}

## Networking

### Antrea

{% embed url="<https://github.com/vmware-tanzu/antrea/>" %}

### Container Network Interface (CNIs)

#### Calico

{% embed url="<https://github.com/projectcalico/calico>" %}

#### Multus

{% embed url="<https://github.com/intel/multus-cni>" %}

### egress-operator

{% embed url="<https://github.com/monzo/egress-operator>" %}

### fwd (por forwarding)

{% embed url="<https://github.com/adamglt/fwd>" %}

### goldpinger

{% embed url="<https://github.com/bloomberg/goldpinger>" %}

### inlets

{% embed url="<https://github.com/inlets/inlets-operator>" %}

{% embed url="<https://github.com/inlets/inletsctl>" %}

### kilo

{% embed url="<https://kilo.squat.ai/>" %}

### kokotap

{% embed url="<https://github.com/redhat-nfvpe/kokotap>" %}

### kube-magic-ip-address

{% embed url="<https://github.com/mumoshu/kube-magic-ip-address>" %}

### kubepox

{% embed url="<https://github.com/aporeto-inc/kubepox>" %}

### ktunnel

CLI tool that establishes a reverse tunnel between a kubernetes cluster and your local machine

{% embed url="<https://github.com/omrikiei/ktunnel>" %}

### kuttle

{% embed url="<https://github.com/kayrus/kuttle>" %}

### kubefwd

{% embed url="<https://github.com/txn2/kubefwd>" %}

### kube-ovn

{% embed url="<https://github.com/alauda/kube-ovn>" %}

### ksniff

{% embed url="<https://github.com/eldadru/ksniff>" %}

### Mapping external services

{% embed url="<https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-mapping-external-services>" %}

### Policy recipes

{% embed url="<https://github.com/ahmetb/kubernetes-network-policy-recipes>" %}

### Skupper

{% embed url="<https://skupper.io/>" %}

### Submariner

{% embed url="<https://submariner.io/>" %}

### trireme-kubernetes

{% embed url="<https://github.com/aporeto-inc/trireme-kubernetes>" %}

### Weave

{% embed url="<https://github.com/weaveworks/weave>" %}

###

## Nodeless / Virtual Cluster

### AWS Fargate

{% embed url="<https://aws.amazon.com/fargate/>" %}

### Azure Container Instances (ACI)

{% embed url="<https://azure.microsoft.com/en-us/services/container-instances/>" %}

### elotl

{% embed url="<https://www.elotl.co/>" %}

### Gardener

{% embed url="<https://gardener.cloud/>" %}

### Ignite (for AWS Firecracker)

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/weaveworks/ignite>" %}

### Loft

{% embed url="<https://loft.sh/>" %}

### virtual-kubelet

{% embed url="<https://github.com/virtual-kubelet/virtual-kubelet>" %}

## Node management

### kured

Kubernetes Reboot Daemon.

{% embed url="<https://github.com/weaveworks/kured>" %}

<https://hub.helm.sh/charts/stable/kured>

## OpenID Connect Identity (OIDC)

### Dex

{% embed url="<https://github.com/dexidp/dex>" %}

### keycloak

{% embed url="<https://github.com/codecentric/helm-charts/tree/master/charts/keycloak>" %}

## Operating systems

### bottlerocket

{% embed url="<https://github.com/bottlerocket-os/bottlerocket>" %}

## Operators

### Community

#### kubedex

{% embed url="<https://kubedex.com/operators/>" %}

#### operatorhub

{% embed url="<https://operatorhub.io/>" %}

### Guidelines

#### Kubernetes Operator Maturity Model Guidelines for multi-Operator Stacks

{% embed url="<https://github.com/cloud-ark/kubeplus/blob/master/Guidelines.md>" %}

### SDK

#### Overview

![](/files/-LyPBH0MTbh93D_qp7ME)

Source: <https://admiralty.io/blog/kubernetes-custom-resource-controller-and-operator-development-tools/>

#### kubebuilder

{% embed url="<https://github.com/kubernetes-sigs/kubebuilder>" %}

#### kudo

{% embed url="<https://kudo.dev/>" %}

#### Metacontroller

{% embed url="<https://metacontroller.app>" %}

#### operator-sdk

{% embed url="<https://github.com/operator-framework/operator-sdk>" %}

#### Roperator

{% embed url="<https://github.com/psFried/roperator>" %}

## Performance

### Load /stress test

#### k6

{% embed url="<https://github.com/loadimpact/k6>" %}

#### k8s-testsuite

{% embed url="<https://github.com/mrahbar/k8s-testsuite>" %}

#### resource-consumer

{% embed url="<https://github.com/kubernetes/kubernetes/tree/master/test/images/resource-consumer>" %}

### Benchmark

#### k8s-testsuite

{% embed url="<https://github.com/mrahbar/k8s-testsuite>" %}

#### kubestone

{% embed url="<https://kubestone.io/en/latest/>" %}

#### test-infra

{% embed url="<https://github.com/kubernetes/test-infra>" %}

### weathervane

{% embed url="<https://github.com/vmware/weathervane>" %}

## P2P Registry

### Kraken

{% embed url="<https://github.com/uber/kraken>" %}

### Dragonfly

{% embed url="<https://github.com/dragonflyoss/Dragonfly>" %}

## Proxy / Mesh / API Management

### Ambassador

{% embed url="<https://www.getambassador.io/>" %}

### Backyards

{% embed url="<https://github.com/banzaicloud/backyards-cli>" %}

### Cilium

{% embed url="<https://cilium.io/>" %}

### Envoy

{% embed url="<https://www.envoyproxy.io/>" %}

### Gloo

{% embed url="<https://gloo.solo.io/>" %}

### SuperGloo

{% embed url="<https://supergloo.solo.io/>" %}

### Gravitee

{% embed url="<https://gravitee.io>" %}

### Istio

{% embed url="<https://istio.io/docs/concepts/what-is-istio/>" %}

### Kong

{% embed url="<https://konghq.com/solutions/kubernetes-ingress/>" %}

### Kuma

{% embed url="<https://github.com/kong/kuma>" %}

### Linkerd

{% embed url="<https://linkerd.io/>" %}

### Kiali

{% embed url="<https://kiali.io/>" %}

### Maesh

{% embed url="<https://mae.sh/>" %}

### meshery

{% embed url="<https://github.com/layer5io/meshery>" %}

### Traefik

{% embed url="<https://traefik.io/>" %}

### voyager

{% embed url="<https://github.com/voyagermesh/voyager>" %}

## Resource Quota management

### kube-capacity

{% embed url="<https://github.com/robscott/kube-capacity>" %}

### kube-resource-explorer

{% embed url="<https://github.com/dpetzold/kube-resource-explorer/>" %}

### kuberhaus

{% embed url="<https://github.com/stevelacy/kuberhaus>" %}

### kubectl-snapshot

{% embed url="<https://github.com/fbrubbo/kubectl-snapshot>" %}

### limit-operator

{% embed url="<https://github.com/Myafq/limit-operator>" %}

<https://medium.com/swlh/make-your-kubernetes-cluster-bulletproof-6304dd667ade>

## RBAC Management

### Athenz

{% embed url="<https://github.com/yahoo/k8s-athenz-identity>" %}

### rakkess

{% embed url="<https://github.com/corneliusweig/rakkess>" %}

### permission-manager

{% embed url="<https://github.com/sighupio/permission-manager>" %}

### rbac-manager

{% embed url="<https://github.com/FairwindsOps/rbac-manager>" %}

## Service Catalog / Infra provision

### Overview

{% embed url="<https://medium.com/@HoussemDellai/introduction-to-kubernetes-service-catalog-37317b15670>" %}

### Consul

{% embed url="<https://www.hashicorp.com/blog/consul-and-kubernetes-service-catalog-sync/>" %}

### Google

{% embed url="<https://cloud.google.com/config-connector/docs/overview>" %}

### AWS

{% embed url="<https://aws.amazon.com/partners/servicebroker/>" %}

### Azure

{% embed url="<https://osba.sh/>" %}

{% embed url="<https://github.com/Azure/azure-service-operator>" %}

### Terraform

#### kubeform

{% embed url="<https://github.com/kubeform/kubeform>" %}

### kubevirt

{% embed url="<https://github.com/kubevirt/kubevirt>" %}

## Storage

### kadalu

{% embed url="<https://github.com/kadalu/kadalu>" %}

### NVMe-oF

{% embed url="<https://www.datacenterdynamics.com/en/opinions/nvme-storage-delivers-last-mile-kubernetes-infrastructure-revolution/>" %}

### Portworx

{% embed url="<https://portworx.com/>" %}

### rook

{% embed url="<https://rook.io/>" %}

## Template tools

### hyscale

{% embed url="<https://github.com/hyscale/hyscale>" %}

### kustomize

{% embed url="<https://github.com/kubernetes-sigs/kustomize>" %}

Kustomize best practices: <https://medium.com/@lundbird/managing-kubernetes-environments-with-kustomize-ab3ab819d079>

## Troubleshoot / Debug / Tracing

### crash-diagnostics

{% embed url="<https://github.com/vmware-tanzu/crash-diagnostics>" %}

### Jaeger

{% embed url="<https://www.jaegertracing.io/docs/1.13/>" %}

### Mosaic

{% embed url="<https://github.com/nectar-cs/mosaic>" %}

### Sample profilers

#### Python

#### py-spy

{% embed url="<https://github.com/benfred/py-spy#how-do-i-run-py-spy-in-kubernetes>" %}

### Sloop

{% embed url="<https://github.com/salesforce/sloop>" %}

### Workflow

![](/files/-LxwI5ComrCjb-Di8Ixn)

Source: <https://learnk8s.io/troubleshooting-deployments>

## Scheduling

### Descheduler

{% embed url="<https://github.com/kubernetes-sigs/descheduler>" %}

## Secret management

### Conjur

{% embed url="<https://github.com/cyberark/conjur>" %}

### git-secret

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/sobolevn/git-secret>" %}

### helm-ssm

{% embed url="<https://github.com/totango/helm-ssm>" %}

### k8sec

{% embed url="<https://github.com/dtan4/k8sec>" %}

### Kamus

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/Soluto/kamus>" %}

### kustomize-sops

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/viaduct-ai/kustomize-sops>" %}

### Krane + EJSON

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/Shopify/krane#deploying-kubernetes-secrets-from-ejson>" %}

### sealed-secrets (kubeseal)

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/bitnami-labs/sealed-secrets>" %}

Reference: <https://learnk8s.io/kubernetes-secrets-in-git/>

### secrets-init

{% embed url="<https://github.com/doitintl/secrets-init>" %}

### SOPS

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/mozilla/sops>" %}

### Vault-CRD

{% embed url="<https://github.com/DaspawnW/vault-crd>" %}

### Vault Secrets Operator

{% hint style="info" %}
GitOps friendly
{% endhint %}

{% embed url="<https://github.com/ricoberger/vault-secrets-operator>" %}

### yaml-crypt

{% embed url="<https://github.com/autoapply/yaml-crypt>" %}

## Security

### Aqua

{% embed url="<https://www.aquasec.com/>" %}

### Checkmarx

{% embed url="<https://www.checkmarx.com/products/software-security-platform>" %}

### CIS Benchmark

{% embed url="<https://www.cisecurity.org/benchmark/kubernetes/>" %}

### CVE

{% embed url="<https://www.cvedetails.com/vulnerability-list/vendor_id-15867/product_id-34016/Kubernetes-Kubernetes.html>" %}

{% embed url="<https://www.cvedetails.com/product/34016/Kubernetes-Kubernetes.html?vendor_id=15867>" %}

### mkit

{% embed url="<https://github.com/darkbitio/mkit>" %}

### filter-k8s-logs

{% embed url="<https://github.com/tadeugr/filter-k8s-logs>" %}

Reference: <https://radu-matei.com/blog/filter-k8s-logs/>

### Falco

{% embed url="<https://github.com/falcosecurity/falco>" %}

### gatekeeper

{% embed url="<https://github.com/open-policy-agent/gatekeeper>" %}

### Kubei

{% embed url="<https://github.com/Portshift/kubei>" %}

### ksphere

{% embed url="<https://d2iq.com/solutions/ksphere>" %}

### NeuVector

{% embed url="<https://neuvector.com/>" %}

### Teleport

{% embed url="<https://gravitational.com/teleport/docs/kubernetes_ssh/>" %}

### Red-kube

{% embed url="<https://github.com/lightspin-tech/red-kube>" %}

### Snyk

{% embed url="<https://snyk.io/>" %}

### Styra

{% embed url="<https://www.styra.com/>" %}

### Tigera

{% embed url="<https://www.tigera.io/>" %}

### k-rail

Kubernetes security tool for policy enforcement

{% embed url="<https://github.com/cruise-automation/k-rail>" %}

### karydia

{% embed url="<https://github.com/karydia/karydia>" %}

### kube-bench

{% embed url="<https://github.com/aquasecurity/kube-bench>" %}

### kube-hunter

{% embed url="<https://github.com/aquasecurity/kube-hunter>" %}

### kube-score

{% embed url="<https://github.com/zegl/kube-score>" %}

### kube-scan

{% embed url="<https://github.com/octarinesec/kube-scan>" %}

### kube-owasp-zap

{% embed url="<https://github.com/zee-ahmed/kube-owasp-zap>" %}

### kubesec

{% embed url="<https://github.com/controlplaneio/kubesec/blob/master/README.md>" %}

### KubiScan

{% embed url="<https://github.com/cyberark/KubiScan>" %}

### Kyverno

{% embed url="<https://kyverno.io/>" %}

### Twistlock

{% embed url="<https://www.twistlock.com/kubernetes-security-101/>" %}

### Sysdig

{% embed url="<https://sysdig.com/products/secure/image-scanning/>" %}

### VeraCode

{% embed url="<https://www.sourceclear.com/vulnerability-database/libraries/github-com-kubernetes-kubernetes/go/go/lid-898896/summary>" %}

### trivy

{% embed url="<https://github.com/aquasecurity/trivy>" %}

## TLS management

### cert-manager

{% embed url="<https://github.com/jetstack/cert-manager>" %}

## Variables management

### Env vars

<https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/>

### EnvFrom (ConfigMap)

<https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#configure-all-key-value-pairs-in-a-configmap-as-container-environment-variables>

### PodPreset

<https://kubernetes.io/docs/tasks/inject-data-application/podpreset/>

## Volumes

### Flocker

{% embed url="<https://github.com/ClusterHQ/flocker>" %}

### kubectl-unbound-pvc

{% embed url="<https://github.com/ishantanu/kubectl-unbound-pvc>" %}

## Workflow management

### Airflow

{% embed url="<https://airflow.apache.org/docs/stable/kubernetes.html>" %}

Airflow is not good for dynamic workflows: <https://stackoverflow.com/questions/41517798/proper-way-to-create-dynamic-workflows-in-airflow>, <https://hackernoon.com/https-medium-com-talperetz24-scaling-effectively-when-kubernetes-met-celery-e6abd7ce4fed>

### brigade

{% embed url="<https://github.com/brigadecore/brigade/>" %}

Hint: <https://github.com/brigadecore/buck>

Argo vs. Brigade some of the key differences are:&#x20;

* K8s CRD vs. javascript execution service
* Declarative YAML vs. javascript
* Argo has built-in artifact support for input/output handling
* Argo does not have event handling yet (working on it :-)

  As of dec 2017

### kruise

{% embed url="<https://github.com/openkruise/kruise>" %}

### luigi

{% embed url="<https://github.com/spotify/luigi>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.devops.buzz/public/kubernetes/tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
