# 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

![](https://1923299483-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LVfLS9KLUfusOjV0FX_%2F-LyPAy7UxDBp4FSB0EJ5%2F-LyPBH0MTbh93D_qp7ME%2Fimage.png?alt=media\&token=2c60d3d5-948e-43ca-baa1-4bcfc2059149)

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

![](https://1923299483-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LVfLS9KLUfusOjV0FX_%2F-LxwHFbApzUMJcWWIYeq%2F-LxwI5ComrCjb-Di8Ixn%2Fimage.png?alt=media\&token=6bc6170e-d52e-409b-af77-faa53ad6e682)

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>" %}
