Purpose

This page is created for purpose store relation to helpful articles, make a some reference link when you can check and understand more about K8s (Kubernetes) and awesome things with this orchestration, but also learning and exploring more about worldwide containerization πŸ”₯

Docker & Containerization

Articles

Awesome Repositories

Development & Implementation

General & Documentation

Organizations

  • AliyunContainerService: Aliyun (Alibaba Cloud) Container Service
  • Bitnami: Organization belong of VMWare to contributing docker image. Website
  • Collabnix: A Community of 8800+ DevOps Engineers for Learning Containerization
  • Containers : Open Repository for Container Tools
  • Docker: Docker helps developers bring their ideas to life by conquering the complexity of app development.
  • LinuxServer.io: Building and maintaining community images

Tips for configuration

Topics

  • CNI GitHub: Collection of GitHub about CNI (Container Network Interface) Topics

Troubleshoot

Containerization Registries and Tools

CNI (Container Network Interface)

  • calico: Calico is a networking and security solution that enables Kubernetes workloads and non-Kubernetes/legacy workloads to communicate seamlessly and securely.
  • cilium : Cilium is an open source, cloud native solution for providing, securing, and observing network connectivity between workloads, fueled by the revolutionary Kernel technology eBPF
  • cni : Container Network Interface - networking for Linux containers. Website
  • flannel : A network fabric for containers, designed for Kubernetes

Containerization Items

  • crane: A tool for interacting with remote images and registries
  • dive : A tool for exploring each layer in a docker image
  • docker-rollout: Zero Downtime Deployment for Docker Compose
  • nginx-proxy: Automated nginx proxy for Docker containers using docker-gen
  • trivy: Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more
  • watchtower: A process for automating Docker container base image updates.

Containerization Registry/Compose Collections

CRI (Container Runtime Interface)

OCI (Open Container Initiative)

Info

The OCI currently contains three specifications: the Runtime Specification (runtime-spec), the Image Specification (image-spec) and the Distribution Specification (distribution-spec). The Runtime Specification outlines how to run a β€œfilesystem bundle” that is unpacked on disk. At a high-level an OCI implementation would download an OCI Image then unpack that image into an OCI Runtime filesystem bundle. At this point the OCI Runtime Bundle would be run by an OCI Runtime.

Official Website: Link

  • buildah : A tool that facilitates building OCI images.
  • kaniko: Build Container Images In Kubernetes
  • podman : A tool for managing OCI containers and pods.
  • runc : CLI tool for spawning and running containers according to the OCI specification

Selfhosted Container Registry

  • harbor: An open source trusted cloud native registry project that stores, signs, and scans content
  • nixery: Container registry which transparently builds images using the Nix package manager

Useful Container Image

  • amazon/aws-cli: Universal Command Line Interface for Amazon Web Services
  • docker-android: Android in docker solution with noVNC supported and video recording
  • docker: Docker in Docker!
  • windows: Windows inside a Docker container.

Kubernetes

center

Articles

Awesome repositories

Certificate & Practice

Development & Implementation

DIYs

General & Documentation

Organizations

  • ApeCloud: The community who focus on designing architecture inside Cloud Platform, especially Kubernetes. Author of Kubeblocks
  • AppsCode: Kubernetes-native Data Platform
  • Carvel: a set of reliable, single-purpose, composable tools that aid in your application building, configuration, and deployment to Kubernetes. Author of ytt, kapp-controller
  • Devtron Inc: Software Delivery Workflow For Kubernetes
  • Kubecost: Organization of Kubecost - a monitoring application which provides real-time cost visibility and insights for teams using Kubernetes, helping you continuously reduce your cloud costs
  • Kubeflow: An open, community driven project to make it easy to deploy and manage an ML stack on Kubernetes
  • Kubernetes CSI: Kubernetes specific Container-Storage-Interface (CSI) components
  • Kubernetes: Production-Grade Container Scheduling and Management
  • kubernetes-sigs : Org for Kubernetes SIG-related work
  • KubeWharf: Developer community legit insane tools for Kubernetes
  • Medik8s: Medik8s (pronounced medicates) aims for automatic detection and recovery of unhealthy k8s nodes
  • Polyaxon: A platform for reproducible and scalable machine learning and deep learning
  • The Helm Project: The package manager for Kubernetes
  • VMware Tanzu: Cloud native open source from VMware, almost for Kubernetes, Author of velero

Practicing

Tips for configuration

Topics

Troubleshoot

Kubernetes Tools

API Gateway / Ingress Controller / LB

  • AGIC - Application Gateway Ingress Controller: Possible for Azure Kubernetes Service (AKS) customers to leverage Azure’s native Application Gateway L7 load-balancer to expose cloud software to the Internet. Azure Article
  • AWS Load Balancer Controller: AWS Load Balancer Controller is a controller to help manage Elastic Load Balancers for a Kubernetes cluster.
  • Gateway API: Gateway API is an official Kubernetes project focused on L4 and L7 routing in Kubernetes
  • Ingress-Nginx Controller : Documentation about Nginx ingress which use for delivery IN/OUT traffic for Kubernetes Cluster
  • Kong Ingress Controller: Allows you to run Kong Gateway as a Kubernetes Ingress to handle inbound requests for a Kubernetes cluster.
  • kube-vip: Provides Kubernetes clusters with a virtual IP and load balancer for both the control plane (for building a highly-available cluster) and Kubernetes Services of typeΒ LoadBalancerΒ without relying on any external hardware or software.
  • MetalLB: A load-balancer implementation for bare metalΒ KubernetesΒ clusters, using standard routing protocols.
  • Nginx Gateway Fabric: Provides an implementation for the Gateway API using NGINX as the data plane.
  • Traefik - ApiGateway: A drop-in replacement for Traefik Proxy, it can do everything Traefik Proxy does, with additional capabilities and support out of the box.
  • Traefik - Ingress Controller: A Kubernetes Ingress controller; that is to say, it manages access to cluster services by supporting theΒ IngressΒ specification.

Autoscaling

Backup

  • velero: Backup and migrate Kubernetes applications and their persistent volumes
  • trilio: A data protection and backup solution specifically designed for Kubernetes environments

Benchmark

  • kube-bench: Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark

Chaos

  • chaos-mesh: A Chaos Engineering Platform for Kubernetes.
  • litmus: Chaos Engineering Framework with cross-cloud support.

Cloud Hosted

Cluster Management

  • Crossplane: An open source Kubernetes extension that transforms your Kubernetes cluster into aΒ universal control plane.
  • GlassKube : An open-source Kubernetes package manager that simplifies package management for Kubernetes
  • kubeapps: A web-based UI for deploying and managing applications in Kubernetes clusters
  • kubeshark: The API traffic analyzer for Kubernetes providing real-time K8s
  • lens: Lens - The way the world runs Kubernetes

Configuration Management

  • Reloader: A Kubernetes controller to watch changes in ConfigMap and Secrets and do rolling upgrades on Pods with their associated Deployment, StatefulSet, DaemonSet and DeploymentConfig

Development Environment

  • devspace: The Fastest Developer Tool for Kubernetes

Development Library

  • kooper: A simple Go library to create Kubernetes operators and controllers.
  • kubebuilder: SDK for building Kubernetes APIs using CRDs

DNS and SSL

  • cert-manager: Automatically provision and manage TLS certificates in Kubernetes
  • external-dns: Configure external DNS servers

GitOps / Automation Deployment Platforms

  • argo-cd : Β A declarative, GitOps continuous delivery tool for Kubernetes.
  • argo-rollouts: Progressive Delivery for Kubernetes. Maintained by Argo
  • flagger: Progressive Delivery Operator for Kubernetes. Maintained by Flux
  • fluxcd : Tool for keeping Kubernetes clusters in sync with sources of configuration (like Git repositories), and automating updates to configuration when there is new code to deploy.
  • helm: The package manager for Kubernetes
  • kargo: A next-generation continuous delivery and application lifecycle orchestration platform for Kubernetes
  • kustomize: Customization of kubernetes YAML configurations
  • operator-lifecycle-manager: A management framework for extending Kubernetes with Operators
  • werf: A solution for implementing efficient and consistent software delivery to Kubernetes facilitating best practices.

GPU Scheduler

Helm Tools Kit

  • helm-compose: A helm plugin for managing multiple releases of one or many charts within a single configuration file.
  • helm-dashboard: The missing UI for Helm - visualize your releases
  • helm-secrets: A helm plugin that help manage secrets with Git workflow and store them anywhere

Identity and access management

  • Keycloak: an open-source identity and access management solution for modern applications and services, built on top of industry security standard protocols.

Kubectl Tools Kit

  • krew: πŸ“¦ Find and install kubectl plugins
  • kube-capacity: A simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster
  • kubectl-node-shell: Exec into node via kubectl
  • kubectl-trace: Schedule bpftrace programs on your kubernetes cluster using the kubectl
  • kubectl-tree: kubectl plugin to browse Kubernetes object hierarchies as a tree πŸŽ„
  • kubectl-view-allocations: kubectl plugin to list allocations (cpu, memory, gpu,… X utilization, requested, limit, allocatable,…)

Local Kubernetes Self-Hosted

  • K0s: k0s is an open source, all-inclusive Kubernetes distribution, which is configured with all of the features needed to build a Kubernetes cluster.
  • K3s: Lightweight Kubernetes. Easy to install, half the memory, all in a binary of less than 100 MB.
  • Kind : kindΒ is a tool for running local Kubernetes clusters using Docker container β€œnodes”.
  • Kubernetes Goat: An interactive Kubernetes security learning playground
  • Kubernetes Official solution : Installing Kubernetes with deployment tools. Such as: kubespray, kubeadm
  • MicroK8s: MicroK8s is a low-ops, minimal production Kubernetes.
  • minikube : minikube quickly sets up a local Kubernetes cluster on macOS, Linux, and Windows
  • Talos Linux : The Kubernetes Operating System
    • cluster-template: A template for deploying a Talos Kubernetes cluster including Flux for GitOps

MLOps

  • polyaxon: MLOps Tools For Managing & Orchestrating The Machine Learning LifeCycle

Monitoring

  • kube-state-metrics: Add-on agent to generate and expose cluster-level metrics
  • metrics-server: Scalable and efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.
  • OpenSLO: Open specification for defining and expressing service level objectives (SLO)
  • prometheus-operator: AΒ Kubernetes OperatorΒ that provides Kubernetes native deployment and management ofΒ PrometheusΒ and related monitoring components.

Operator & Chart

Policy Controller

  • Kyverno : Kubernetes Native Policy Management
  • OPA Gatekeeper : A customizable cloud native policy controller that helps enforce policies and strengthen governance

Resources Orchestrator

Secret Management

  • external-secrets: External Secrets Operator reads information from a third-party service like AWS Secrets Manager and automatically injects the values as Kubernetes Secrets.
  • vault-secrets-operator: Create Kubernetes secrets from Vault for a secure GitOps based workflow.

Serverless Hosted

  • knative: An Open-Source Enterprise-level solution to build Serverless and Event Driven Applications. Documentation

Service Discovery

  • consul: Β A multi-networking tool that offers a fully-featured service mesh solution
  • coredns: CoreDNS is a DNS server that chains plugin

Service Mesh

  • Istio: Service Mesh. Simplified. Easily build cloud native workloads securely and reliably with Istio, with or without sidecars.
  • linkerd: AΒ service meshΒ for Kubernetes. It makes running services easier and safer by giving you runtime debugging, observability, reliability, and securityβ€”all without requiring any changes to your code.

Service Proxy

  • envoy : Envoy is an L7 proxy and communication bus designed for large modern service oriented architectures
  • kube-proxy: The Kubernetes network proxy runs on each node

Storage Platforms

  • csi-driver-nfs: This driver allows Kubernetes to access NFS server on Linux node
  • Longhorn: Cloud native distributed block storage for Kubernetes
  • MinIO: MinIO Object Storage for Kubernetes
  • Rook: An open source cloud-native storage orchestrator, providing the platform, framework, and support for Ceph storage to natively integrate with cloud-native environments

Threat Intelligence

  • Falco: Detect security threats in real time
  • kubescape: Kubescape is an open-source Kubernetes security platform for your IDE, CI/CD pipelines, and clusters
  • openappsec: A machine learning security engine that preemptively and automatically prevents threats against Web Application & APIs.
  • sysdig: Linux system exploration and troubleshooting tool with first class support for containers
  • teleport: The easiest, and most secure way to access and protect all of your infrastructure.
  • Tetragon : Cilium Tetragon component enables powerful realtime, eBPF-based Security Observability and Runtime Enforcement.

Utilities

  • Instance calculator : Estimate and find the number of max workload can apply for instance
  • botkube: An app that helps you monitor your Kubernetes cluster, debug critical deployments & gives recommendations for standard practices
  • silver-surfer: Kubernetes objects api-version compatibility checker and provides migration path for K8s objects and prepare it for cluster upgrades

Validation

  • kubeconform: A FAST Kubernetes manifests validator, with support for Custom Resources!

Virtualization

  • kubevirt: Provides a unified development platform where developers can build, modify, and deploy applications residing in both Application Containers as well as Virtual Machines in a common, shared environment.