Kubernetes
Notes
Kubernetes runs pods that contain 1 to n docker containers. So if you have your apps in the form of docker images you are ready to go.
It's just a radically new way of dealing with 'the cloud'. And the thing that makes it especially threatening to aws is that it doesn't matter where it runs. Developing an app for kubernetes on aws or google cloud or azure or anything else is almost an identical experience. People are going to become very price sensitive because that's the only thing that distinguishes one kubernetes host from another (aside from the ease of installing a kubernetes cluster -- something which aws is fairly far behind on)
In general, the right question to ask yourself when designing Pods is, “Will these containers work correctly if they land on different machines?” If the answer is “no,” a Pod is the correct grouping for the containers. If the answer is “yes,” multiple Pods is probably the correct solution.
Ingress controller watches for
Ingress
resources in your cluster.Running a small container cluster at work has even changed how I setup single-host projects in my spare time: I will build everything into a container, bind-mount whatever it might need, create a simple systemd unit that just runs / rms the docker container on start and stop. Bliss.
Links
Helm - Kubernetes package manager.
kaniko - Build Container Images In Kubernetes.
Draft - Streamlined Kubernetes Development.
Nix Kubernetes - Kubernetes deployment manager written in Nix.
Knative Serving - Kubernetes-based, scale-to-zero, request-driven compute.
Portainer - Lighter than Rancher (for Docker).
node-problem-detector - Aims to make various node problems visible to the upstream layers in cluster management stack.
go-kubectx - 5x-10x faster alternative to kubectx. Uses client-go.
Kubeval - Validate your Kubernetes configuration files, supports multiple Kubernetes versions.
Kubespy - Tools for observing Kubernetes resources in real time, powered by Pulumi.
KubeContext - Menu Bar App for Managing Kubernetes Contexts on Mac.
Kubeapps - Web-based UI for deploying and managing applications in Kubernetes clusters.
kubefwd - Bulk port forwarding Kubernetes services for local development.
Kubespray - Deploy a Production Ready Kubernetes Cluster.
Argo - Container-native workflows for Kubernetes.
Kazan - Kubernetes API client for Elixir.
Tilt - Local Kubernetes development with no stress.
Maestro - Provides a declarative approach to building production-grade Kubernetes Operators covering the entire application lifecycle.
kail - Kubernetes log viewer.
Virtual Kubelet - Open source Kubernetes kubelet implementation.
Compose on Kubernetes - Deploy applications described in Compose onto Kubernetes clusters.
kind - Kubernetes IN Docker - local clusters for testing Kubernetes.
Kubernetes Failure Stories - Compilation of public failure/horror stories related to Kubernetes.
Garden - Development engine for Kubernetes, containers and serverless functions.
Kubernetes Authentication Example - Code is provided verbatim as an example of how to connect to an OIDC provider and authenticate users before configuring their kubeconfig.
PowerfulSeal - Adds chaos to your Kubernetes clusters, so that you can detect problems in your systems as early as possible.
Goldpinger - Debugging tool for Kubernetes which tests and displays connectivity between nodes in the cluster.
k3s - Lightweight Kubernetes. Easy to install, half the memory, all in a binary less than 40mb.
Kubebuilder - SDK for building Kubernetes APIs using CRDs.
k9s - Provides a curses based terminal UI to interact with your Kubernetes clusters.
Knative build - Kubernetes-native Build resource.
Cerebral - Kubernetes cluster autoscaler with pluggable metrics backends and scaling engines.
Skaffold - Easy and Repeatable Kubernetes Development.
Talos - Modern Linux distribution for Kubernetes.
Kubernetes cleanup operator - Kubernetes Operator to automatically delete completed Jobs and their Pods.
Click - Command Line Interactive Controller for Kubernetes. Its purpose is to manage a large number of Kubernetes clusters/objects quickly and efficiently.
Kubectl Dashboard - Sub-command for kubectl that will instantly make a Kubernetes dashboard available for you, without having to run anything in your cluster.
krew - Package manager for "kubectl plugins".
kustomize - Customization of kubernetes YAML configurations.
Kubewebhook - Small Go framework to create external admission webhooks for Kubernetes.
Submariner - Connect all your Kubernetes clusters, no matter where they are in the world.
Tekton Pipelines - Provides k8s-style resources for declaring CI/CD-style pipelines.
ko - Tool for building and deploying Golang applications to Kubernetes.
CLI for Amazon EKS - Simple CLI tool for creating clusters on EKS - Amazon's new managed Kubernetes service for EC2.
Kubernetes controller-runtime - Set of go libraries for building Controllers.
k3d - Lightweight alternative to KinD for local development.
Popeye - Kubernetes cluster resource sanitizer.
Kubernetes Test Infrastructure - Test infrastructure for the Kubernetes project.
Katib - Hyperparameter Tuning on Kubernetes.
Kapitan - Generic templated configuration management for Kubernetes, Terraform and other things.
Polaris - Validation of best practices in your Kubernetes clusters.
qlkube - GraphQL api for Kubernetes.
Typhoon - Minimal and free Kubernetes distribution.
k-vswitch - Easy-to-operate, high performance and secure Kubernetes networking plugin based on Open vSwitch.
Kontemplate - Extremely simple Kubernetes resource templates.
OpenKruise/Kruise - Automate application workloads management on Kubernetes.
Monday - Dev tool for microservice developers that run local applications and/or forward some others from Kubernetes or over SSH.
Octant - Web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters.
Pulumi - Modern Infrastructure as Code - Create, deploy, and manage infrastructure on any cloud using your favorite language.
shipcat - Standardisation tool and security layer on top of kubernetes to config manage microservices.
Okteto - Rapidly iterate and test your applications by developing directly in your Kubernetes cluster.
Fabrikate - Making GitOps with Kubernetes easier one component at a time.
Seldon Core - Machine Learning Deployment for Kubernetes.
Kubeval - Validate your Kubernetes configuration files, supports multiple Kubernetes versions.
Conftest - Write tests against structured configuration data using the Open Policy Agent Rego query language.
Kuma - Universal Control Plane for your Service Mesh.
Knative Eventing - Contains a work-in-progress eventing system that is designed to address a common need for cloud native development.
Navigator - Kubernetes extension for managing common stateful services on Kubernetes.
kube-aggregator - Aggregator for Kubernetes-style API servers: dynamic registration, discovery summarization, secure proxy.
service-catalog - Consume services in Kubernetes using the Open Service Broker API.
kuberNix - Kubernetes development cluster bootstrapping with Nix packages.
Autoscaler - Autoscaling components for Kubernetes.
Appsody - Provides everything you need to iteratively develop applications, ready for deployment to Kubernetes environments.
Gitkube - Build and deploy docker images to Kubernetes using git push.
chaoskube - Periodically kills random pods in your Kubernetes cluster.
kube-state-metrics - Simple service that listens to the Kubernetes API server and generates metrics about the state of the objects.
Cloudflow - Enables you to quickly develop, orchestrate, and operate distributed streaming applications on Kubernetes.
Clusterlint - Best practices checker for Kubernetes clusters.
Bank Vaults - Umbrella project which provides various tools for Vault to make using and operating Hashicorp Vault easier.
kubectl trace - Kubectl plugin that allows you to schedule the execution of bpftrace programs in your Kubernetes cluster.
RBAC Manager - Kubernetes operator that simplifies the management of Role Bindings and Service Accounts.
inlets-operator - Your private Kubernetes Service, with a public endpoint.
kubectl tree - Kubectl plugin to browse Kubernetes object hierarchies as a tree.
Chaos Mesh - Cloud-native Chaos Engineering platform that orchestrates chaos on Kubernetes environments.
Grafana Tanka - Flexible, reusable and concise configuration for Kubernetes.
kubethanos - Kills half of your randomly selected kubernetes pods.
k3c - Local container engine designed to fill the same gap Docker does in the Kubernetes ecosystem.
KubeNix - Kubernetes resource builder using nix.
Postgres Operator - Creates and manages PostgreSQL clusters running in Kubernetes.
Cortex - Horizontally scalable, highly available, multi-tenant, long term storage for Prometheus.
Contour - Kubernetes ingress controller using Lyft's Envoy proxy.
Roperator - Lets you easily write Kubernetes Operators in Rust.
Krustlet - Kubernetes Kubelet in Rust for running WASM.
WaeaveWorks - Operate and manage production ready Kubernetes with Weave Kubernetes Platform.
Gravity - Opinionated image-based Kubernetes packaging and management tools.
kubenav - Navigator for your Kubernetes clusters right in your pocket.
Kyverno - Kubernetes Native Policy Management.
Nirmata - Unified management plane for all your Kubernetes clusters and workloads.
Rode - Cloud native software supply chain.
kube-monkey - Implementation of Netflix's Chaos Monkey for Kubernetes clusters.
Fabio - Fast, modern, zero-conf load balancing HTTP(S) and TCP router for deploying applications managed by consul.
Rook - Storage Orchestration for Kubernetes.
Solo - Next generation API gateway to connect, secure and control traffic to any application on any infrastructure.
Gloo - Envoy-Powered API Gateway.
Keel - Kubernetes Operator to automate Helm, DaemonSet, StatefulSet & Deployment updates.
GLBC - Ingress controller for Google Cloud.
Kube Profefe - Continuous profiling made easy in Kubernetes with profefe.
Octant - Web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters.
Kubernetes Dashboard - General-purpose web UI for Kubernetes clusters.
Multi-tenancy - Working place for multi-tenancy related proposals and prototypes.
Kubevious - Application centric Kubernetes UI.
client-go - Go client for Kubernetes.
Hubble - Network, Service & Security Observability for Kubernetes.
NATS Streaming Operator - Operator for managing NATS Streaming clusters running on Kubernetes.
krew - Package manager for kubectl plugins.
RBACSYNC - Automatically sync groups into Kubernetes RBAC.
Hub - Web-based application that enables finding, installing, and publishing packages and configurations for CNCF projects.
apiserver - Library for writing a Kubernetes-style API server.
Active-Monitor - Kubernetes custom resource controller which enables deep cluster monitoring using Argo workflows.
Last updated
Was this helpful?