Tools

How to extended K8s power!

Auto Scaling

Clusterman

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

custom-pod-autoscaler

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

goldilocks

k8s-worker-pod-autoscaler

Keda

kube-downscaler

Kubernetes autoscaler

pangolin

predictive-horizontal-pod-autoscaler

sqs-autoscaler-controller

Artifact management

Grafeas

JFrog

Nexus

skopeo

Backup

etcdctl

Kasten (k10)

katafygio

PX-Backup

Stash

Velero

Blogs / References

Best practices

Admin cluster tasks

kubectl-doctor

Untrak

Popeye

Production Checklist

rudr (Open Application Model specification)

sonobuoy

Spiffe

Broker/PubSub/Messaging

NATS

Chaos Engineering

chaos-mesh

chaoskube

chaostoolkit-kubernetes

Gremlin

kubethanos

kube-monkey

KubeInvaders

litmus

powerfulseal

Cluster management

Cloudhealth

kubermatic

mission-control

Continuous Development

AppSody

CodeWind

DevSpace

dksnap

Draft

Garden

Kabanero

kail

kubetail

kubectl-debug

kubespy

ksync

Okteto

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

Red Hat CodeReady Workspaces

skaffold

Squash

Stern

Telepresence

Tilt

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

  • contexts.context.cluster

  • contexts.0.name

  • current-context

Libs / Frameworks

Jib

CI/DI

Admiralty

Apollo

Argo

GitOps friendly

autoapply

GitOps friendly

Cellery

Drone CI

Fabric8

Faros

GitOps friendly

Flagger

GitOps friendly

Operator that automates the promotion of canary deployments

flux

GitOps friendly

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

JenkinsX

GitOps friendly

Ketch

ko (deploy Go applications)

krane

Prow

Rollout

GitOps friendly

Shippable

Spinnaker

Tekton

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

Weave Flux

Werf

GitOps friendly

kubegrid

CLI

click

Tubekit

K9s

Krew (kubectl plugins)

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

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

kube-ps1

kubebox

kubectl-sudo

kube-prompt

kubectl-tmux-exec

kubectl-tree

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

kubelive

kubeprompt

kube-shell

kubectl-fzf

kubie

Cron

k8s-job-notify

Krontab

Database

CockroachDB

Kubedb

MemSQL

Nebula

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

TiDB

Percona

Stolon (PostgreSQL)

Data and event streaming

rudder-server

Data encryption

zettaset

Deployment/package management

arkade

artifacthub

keel

kubeapps

kubernetes-gated-deployments

reckoner

rio

monocular

teresa

Diagrams

diagrams

cloudskew

Distributions / Platforms

Firekube

GitOps friendly

Heptio

kubic

konvoy

OpenShift

Okd

Pharos

k0s

k3s

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

Kind (Kubernetes IN Docker)

kubernix

Lokomotive

metalk8s

Hint: https://github.com/danderson/metallbme

tk8

Typhoon

Run K8s locally

Kind

Microk8s

Minikube

Docker run time

Containerd

CRI-O

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

gVisor

Rkt

FaaS

Fission

Fn

IronFunctions

knative

Hint for debugging: https://github.com/nimakaviani/knative-inspect

Kubeless

Nuclio

OpenFaaS

OpenWhisk

Frameworks

Admission controllers

admission-control

Java

Quarkus

Geocoder

Pelias

Governance

Replex

spot.io

kubecost

GitOps

awesome-gitops

gitops.tech

GUI

helm-cabin

Infra.app

k8dash

Konstellate

Kontena

Kubeman

Kubernetic

kubeturbo

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

kube-web-view

Kubernator

Kontena Lens

Octant

kube-resource-report

kube-web-view

webkubectl

portainer-k8s

Image management

Base images

distroles

Builders

buildah

gitkube

GitOps friendly

Kaniko

makisu

Cache

kube-fledged

Installers

bootkube

Kops

Kubeadm

Kubeadmn on bare metal:

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

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

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

kube-aws

Kubespray

RKE

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

wksctl

GitOps friendly

Machine Learning

kubeflow

terraform-gke-kubeflow-cluster

volcano

Managed solutions

DOKS

giantswarm

kublr

pivotal

platform9

rancher

Volterra

Manifests management

Debug

yq

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

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

Templating

alterant

kompose

Validation

Checkov

copper

kpt

kubeval

Validate a Kubernetes YAML or JSON configuration file

Kubeval was having to pull down all the schemas each time. Learn how speedup the process.

Kube YAML

Monitoring / Logging

botkube

DARK (Dashboards As Resources in Kubernetes)

Fluentd

Prometheus

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

Loki

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

Kube Eagle

Kuberhealthy

kube-state-metrics

kubewatch

Kubricks

searchlight (for Icinga)

Weave Scope

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

Multi-cluster (multicluster)

Consult

Multi-tenant

keiko

Kiosk

KubeSphere

Networking

Antrea

Container Network Interface (CNIs)

Calico

Multus

egress-operator

fwd (por forwarding)

goldpinger

inlets

kilo

kokotap

kube-magic-ip-address

kubepox

ktunnel

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

kuttle

kubefwd

kube-ovn

ksniff

Mapping external services

Policy recipes

Skupper

Submariner

trireme-kubernetes

Weave

Nodeless / Virtual Cluster

AWS Fargate

Azure Container Instances (ACI)

elotl

Gardener

Ignite (for AWS Firecracker)

GitOps friendly

Loft

virtual-kubelet

Node management

kured

Kubernetes Reboot Daemon.

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

OpenID Connect Identity (OIDC)

Dex

keycloak

Operating systems

bottlerocket

Operators

Community

kubedex

operatorhub

Guidelines

Kubernetes Operator Maturity Model Guidelines for multi-Operator Stacks

SDK

Overview

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

kubebuilder

kudo

Metacontroller

operator-sdk

Roperator

Performance

Load /stress test

k6

k8s-testsuite

resource-consumer

Benchmark

k8s-testsuite

kubestone

test-infra

weathervane

P2P Registry

Kraken

Dragonfly

Proxy / Mesh / API Management

Ambassador

Backyards

Cilium

Envoy

Gloo

SuperGloo

Gravitee

Istio

Kong

Kuma

Linkerd

Kiali

Maesh

meshery

Traefik

voyager

Resource Quota management

kube-capacity

kube-resource-explorer

kuberhaus

kubectl-snapshot

limit-operator

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

RBAC Management

Athenz

rakkess

permission-manager

rbac-manager

Service Catalog / Infra provision

Overview

Consul

Google

AWS

Azure

Terraform

kubeform

kubevirt

Storage

kadalu

NVMe-oF

Portworx

rook

Template tools

hyscale

kustomize

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

Troubleshoot / Debug / Tracing

crash-diagnostics

Jaeger

Mosaic

Sample profilers

Python

py-spy

Sloop

Workflow

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

Scheduling

Descheduler

Secret management

Conjur

git-secret

GitOps friendly

helm-ssm

k8sec

Kamus

GitOps friendly

kustomize-sops

GitOps friendly

Krane + EJSON

GitOps friendly

sealed-secrets (kubeseal)

GitOps friendly

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

secrets-init

SOPS

GitOps friendly

Vault-CRD

Vault Secrets Operator

GitOps friendly

yaml-crypt

Security

Aqua

Checkmarx

CIS Benchmark

CVE

mkit

filter-k8s-logs

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

Falco

gatekeeper

Kubei

ksphere

NeuVector

Teleport

Red-kube

Snyk

Styra

Tigera

k-rail

Kubernetes security tool for policy enforcement

karydia

kube-bench

kube-hunter

kube-score

kube-scan

kube-owasp-zap

kubesec

KubiScan

Kyverno

Twistlock

Sysdig

VeraCode

trivy

TLS management

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

kubectl-unbound-pvc

Workflow management

Airflow

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

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

Argo vs. Brigade some of the key differences are:

  • 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

luigi

Last updated