Skip to content

Kubernetes

September 29, 2023
December 11, 2014

Kubernetes by Google
Kubernetes - Wikiwand
community/sig-list.md at master · kubernetes/community
Exploring the New Kubernetes Maturity Model – The New Stack

Play with Kubernetes Classroom
Kubernetes for Beginners
Deploying and Scaling Microservices with Docker and Kubernetes

Kubernetes: The Documentary [PART 1] - YouTube
Kubernetes: The Documentary [PART 2] - YouTube
解读 2017 之容器篇:后 Kubernetes 时代
The rise and future of Kubernetes and open source at Google | Google Cloud Blog
Kubernetes: The smart person's guide - TechRepublic
Kubernetes Craze: 8 Hot Offerings Now On The Market - Page: 1 | CRN
The Kubernetes Hierarchy of Needs - The New Stack
Demystifying Kubernetes as a service - How Alibaba cloud manages 10,000s of Kubernetes clusters | Cloud Native Computing Foundation

TODO: triage these links to Concepts, Learning or Trash

What is Kubernetes?
What Is Kubernetes? - DZone Cloud
What is Kubernetes?
How Kubernetes works | InfoWorld
Kubernetes: An Overview - The New Stack 2016
How Does Kubernetes Work? – The New Stack 2020
A few things I've learned about Kubernetes - Julia Evans
An Introduction to Kubernetes | DigitalOcean
Kubernetes - A Practical Introduction for Application Developers — GoDaddy Open Source Center
Yet Another Kubernetes (k8s) Guide - Better Programming - Medium
Understanding Kubernetes Pods: Deployment, ReplicaSet, and Auto Healing 2023
A deep dive into Kubernetes Deployment strategies 2020-11
Kubernetes? It's all Greek to me. | GitLab
Kubernetes 101 Series' Articles - DEV Community
Kubernetes 101 - YouTube
Kubernetes Crash Course: Learn the Basics and Build a Microservice Application - YouTube 2023-04
Kubernetes Crash Course for Absolute Beginners [NEW] - YouTube 2021-09
Kubernetes Tutorial for Beginners [FULL COURSE in 4 Hours] - YouTube 2020-11

Kubernetes: The Illustrated Children's Guide to Kubernetes
Phippy and Friends - Cloud Native Computing Foundation
Azure/phippyandfriends: Simple demonstration, inspired by the Children's Illustrated Guide to Kubernetes, of AKS.
Kubernetes for dummies tutorial - Spectro Cloud

Deploy code faster: with CI/CD and Kubernetes | Kubernetes Engine | Google Cloud
Kubernetes explained in pictures: the theme park analogy - DEV Community 👩‍💻👨‍💻
The Illustrated Children's Guide to Kubernetes - YouTube

Kubernetes 1.4 makes container orchestration bigger -- and simpler | InfoWorld
What’s new in Kubernetes containers | InfoWorld changelog
What is Kubernetes? Container orchestration explained | InfoWorld
How to get started with Kubernetes | InfoWorld
4 reasons you should use Kubernetes | InfoWorld
Making Kubernetes work for the average engineer—via PaaS | InfoWorld why k8s is complex
Has Kubernetes Already Become Too Unnecessarily Complex for Enterprise IT? - The New Stack
Building Applications to Increase Kubernetes Adoption, and Make Life Easier - Kate Kuchin, Heptio - YouTube "Kubernetes was designed by systems engineers, for systems engineers, which is great, if you’re a systems engineer."
Kubernetes for Sysadmins – Kelsey Hightower at PuppetConf 2016 - YouTube

Getting Started with Kubernetes - via @codeship | via @codeship
Kubernetes Tutorial: Getting Started with Containers & Clusters | Codeship | via @codeship
Using Kubernetes for Deployments - via @codeship | via @codeship
Kubernetes Engine Demos | Kubernetes musings by chrislovecnm

The Kubernetes Effect
Kubernetes: Its Past, Present & Future
Kubernetes is an elegant dump truck: Here's why | Opensource.com
Kubernetes basics: Learn how to drive first | Opensource.com
Future Kubernetes Will Mimic What Facebook Already Does

Forget K9 it's K8S time: A Kubernetes Primer Part I

Scaling Docker with Kubernetes
Demystifying Kubernetes: the tool to manage Google-scale workloads in the cloud
Containers on Google Cloud Platform - Compute Engine — Google Cloud Platform

On the contrary

Maybe You Don't Need Kubernetes | Matthias Endler
Do you really need Kubernetes in your company/startup? - DEV Community 👩‍💻👨‍💻
Kubernetes is a red flag signalling premature optimisation.
A guide for CTO: 8 questions to ask before using Kubernetes
7 things no one will ever tell you about Kubernetes
You Don’t Need Kubernetes - YouTube

Adopting K8s

Thinking in Kubernetes (K8s). Calibrate your brain before your… | by Chris Cooney | Better Programming | Medium
Learn how YOU can get started with Docker and Kubernetes - DEV Community 👩‍💻👨‍💻 Docker and Kubernetes series from Azure

Designing Your First App in Kubernetes: An Overview - Docker Blog
Designing Your First App in Kubernetes, Part 1: Getting Started - Docker Blog
Designing Your First App in Kubernetes, Part 2: Setting up Processes - Docker Blog
Designing Your First Application in Kubernetes, Part 3: Communicating via Services - Docker Blog
Designing Your First Application in Kubernetes, Part 4: Configuration - Docker Blog
Designing Your First Application in Kubernetes, Part 5: Provisioning Storage - Docker Blog

Kubernetes-Intro – WirelessMoves

Deprecated APIs

Kubernetes Deprecation Policy - Kubernetes

Deprecated APIs Removed In 1.16: Here’s What You Need To Know - Kubernetes extensions/v1beta1

Concepts

Kubernetes Documentation
Learn Kubernetes Basics - Kubernetes
Standardized Glossary - Kubernetes

What is Kubernetes? - Kubernetes
Concepts - Kubernetes
Tutorials | Kubernetes

Kubernetes for everyone ☸️💡🎉 - DEV Community 👩‍💻👨‍💻
Kubernetes architecture Quick Introduction - Javascript Developers - Medium
Kubernetes: Core Concepts - Cloud Native Computing Foundation
Key Kubernetes Concepts – Towards Data Science
Components of Kubernetes Architecture - Level Up Coding
Introduction to Kubernetes - Google Slides
jamiehannaford/what-happens-when-k8s: 🤔 What happens when I type kubectl run?
The Kubernetes Bible for Beginners & Developers - Level UpLevel Up
Getting Started With Kubernetes - DZone - Refcardz
A Complete Introduction to Kubernetes — an Orchestration Tool for Containers - DZone Cloud
Kubernetes basic glossary – Kamil Lelonek  -  programming blog
Kubernetes For Developers: Pods (Part 1) | nirmata
Kubernetes For Developers Part 2 – Replica Sets and Deployments | nirmata

Kubernetes pods are a group of containers that act like a single VM: they have a single IP address, they can share a file system, and they typically have similar security settings. The main goal of the pod is to separate processes and their dependencies while maintaining the same network identity.

What the hell is a Pod anyways? – Dominik Tornow – Medium
Kubernetes 101: Pods, Nodes, Containers, and Clusters
docker101/play-with-kubernetes/concepts at master · ajeetraina/docker101

Kubernetes 101: What It Is & Why Apps Need It
Kubernetes 101: What are Containers and Pods
Kubernetes 101: What are Nodes and Clusters?
Kubernetes 101: Container Orchestration in the Cloud
Kubernetes 101: Breaking Down a Kubernetes Deployment

What Is Kubernetes? An Introduction to the Wildly Popular Container Orchestration Platform
Understanding the Relationships Between Kubernetes Clusters, Nodes, and Pods

Namespaces | Kubernetes
docker101/play-with-kubernetes/concepts/namespace at master · ajeetraina/docker101
All I Need Is A Kubernetes Namespace | by Luc Juggery | Level Up Coding

The DevOps 2.3 Toolkit: Kubernetes Workshop

Objects/CRD

Understanding Kubernetes Objects - Kubernetes
Object Management Using kubectl - Kubernetes

Custom Resources - Kubernetes

cloud-ark/kubediscovery: Kubernetes Aggregated API server for discovering additional information about Custom Resources in your Cluster

Learning

Play with Kubernetes
Introducing PWK (play with K8s) – Marcos Nils – Medium

Learnk8s — the Kubernetes training company
Learn - kubedex.com
Learn Kubernetes - Best Kubernetes Tutorials (2019) | gitconnected
Getting Started with Kubernetes | Pluralsight

Learn Kubernetes with Lessons & Tutorials | Kube by Example by Red Hat OpenShift
Learning Path: Kubernetes – IBM Developer
Introduction to Kubernetes (LFS158) - Linux Foundation - Training
Scalable Microservices with Kubernetes | Udacity
Getting Started with Kubernetes | Pluralsight
Introduction to Kubernetes
Fundamentals of Containers, Kubernetes, and Red Hat OpenShift
Kubernetes Tutorial | Kubernetes | Kubernetes tutorial for beginners - YouTube
magicsandbox
heptio/kubernetes-workshop: Documentation on our Kubernetes Workshops
tkssharma/k8s-learning: Just for learning

A Gentle Introduction to Kubernetes - Faun - Medium
eon01/kubernetes-workshop: ⚙️ A Gentle introduction to Kubernetes with more than just the basics. 🌟 Give it a star if you like it.

Having fun with Kubernetes #1 – Martin Pham
Having fun with Kubernetes #2 – Martin Pham
Having fun with Kubernetes #3 – Martin Pham
Having fun with Kubernetes #4 – Martin Pham
Having fun with Kubernetes #5 – Martin Pham
Having fun with Kubernetes #Final – Martin Pham
Martin Pham / kubernetes-fun · GitLab

A Tutorial Introduction to Kubernetes
The Kubernetes Bible for Beginners & Developers - Level UpLevel Up
Kubernetes Tutorial - YouTube

awesome-kubernetes · GitBook
kelseyhightower/kubernetes-the-hard-way: Bootstrap Kubernetes the hard way on Google Cloud Platform. No scripts.
Learn Kubernetes the Hard Way (the Easy and Cheap Way) – zwischenzugs
Working with Kubernetes API

Kubernetes - from the beginning, Part I, Basics, Deployment and Minikube - DEV Community 👩‍💻👨‍💻
Kubernetes - from the beginning, part II, Pods, Nodes and Services - DEV Community 👩‍💻👨‍💻
Kubernetes - from the beginning, part III scaling my app - DEV Community 👩‍💻👨‍💻
Kubernetes - from the beginning, part IV, autoscaling - DEV Community 👩‍💻👨‍💻

Building Your First Certified Kubernetes Cluster On-Premises, Part 1 - Docker Blog

Designing Your First App in Kubernetes, Part 1: Getting Started - Docker Blog
Designing Your First App in Kubernetes, Part 2: Setting up Processes - Docker Blog
Designing Your First Application in Kubernetes, Part 3: Communicating via Services - Docker Blog
Designing Your First Application in Kubernetes, Part 4: Configuration - Docker Blog
Designing Your First Application in Kubernetes, Part 5: Provisioning Storage - Docker Blog

Kubernetes - YouTube
Kubernetes Best Practices - YouTube
Rancher Labs - YouTube
TGI Kubernetes - YouTube
K8s Primer - YouTube
Kubernetes Tutorial | Udemy: Kubernetes Made Easy | Coupon: YTUBE999 - YouTube some are demo, on GCP
Kubernetes for the Absolute Beginners - YouTube

Controllers

kind in YAML

ControllersRemarks
ReplicaSet
ReplicationControlleruse Deployment instead
DeploymentReplicaSet with update policy
StatefulSetaka. PetSets
DaemonSetrun Pod on all nodes; for monitoring or cluster storage
Garbage Collector
Job
CrobJob

selector is required for ReplicaSet, optional for ReplicationController

Demystifying Kubernetes StatefulSets | YugaByte DB
What I learnt about Kubernetes Controllers – ITNEXT

Using Admission Controllers - Kubernetes
A Guide to Kubernetes Admission Controllers - Kubernetes

Kubernetes Replication Controller, Replica Set and Deployments: Understanding replication options | Mirantis
Understanding ReplicaSet vs. StatefulSet vs. DaemonSet vs. Deployments - Semaphore

paolomainardi/additronk8s-retrogames-kubernetes-controller: A retrogames kubernetes controller built in Javascript

Probes

Configure Liveness and Readiness Probes - Kubernetes
Liveness Probes are Dangerous | SRCco.de
Pod Lifecycle - Kubernetes

Examples

YAML in Kubernetes always contains 4 top level fields:

apiVersion:
kind:
metadata:
spec:

Pod spec will be embedded as spec.template inside a controller.

Red Hat Tutorials & Examples · GitHub
chef-cookbooks/kubernetes: A cookbook that includes resources for deploying Kubernetes Pods, Replication Controllers, and Services

How YOU actually use Kubernetes, starring YAML files - DEV Community 👩‍💻👨‍💻
How to deploy a Cassandra Cluster on Kubernetes with OpenEBS | Containerized Me
How to deploy Jenkins on Kubernetes + OpenEBS | Containerized Me
How to deploy a PostgreSQL Cluster on Kubernetes + OpenEBS | Containerized Me

$65 Kubernetes Cluster on DigitalOcean - Part I – DevsOnDevs – Medium
Add Persistent Volume Support Using DigitalOcean Block Storage - Part II

Production Grade

Provisioning and Lifecycle of a Production Ready Kubernetes Cluster
Kubernetes High Availability: No Single Point of Failure - The New Stack
Kubernetes Performance Trouble Spots: Airbnb's Take - The New Stack
5 Tips to Deploy Production-Ready Applications in Kubernetes – The New Stack
Kubernetes at Scale without GitOps Is a Bad Idea - The New Stack
Kubernetes High Availability – Dominik Tornow – Medium
Kubernetes for Scalability and High Availability in Microservices - DZone Microservices
Migrating to Kubernetes with zero downtime: the why and how
Deploying Rock Solid Applications with Kubernetes – manifoldco
Keep your Kubernetes cluster balanced: the secret to High Availability
Scaling Kubernetes for 25M users – Brendan Rius – Medium
Kubernetes Autoscaling 101: Cluster Autoscaler, Horizontal Pod Autoscaler, and Vertical Pod…
Production-Grade Kubernetes Development
Kubernetes Deployment Strategies
Why Kubernetes Works for Infrastructure Abstraction - The New Stack
5 Best Practices for Configuring Kubernetes Pods Running in Production - The New Stack
Kubernetes Best Practices in Production - Container Journal
What do I need to add on top of Kubernetes? | elastisys day 2 operations

From 0 to 3 Million+ Deployments: Scaling App Platform on Kubernetes - YouTube
Kubernetes Requests, Limits, and Autoscalers: How They (Sometimes Don't) Work Together - YouTube

Kubernetes Deployment Antipatterns - part 1 - Codefresh
Kubernetes Deployment Antipatterns - part 2 - Codefresh
Kubernetes Deployment Antipatterns - part 3 - Codefresh

jthomperoo/custom-pod-autoscaler: Custom Pod Autoscaler base, allows creation of Custom Pod Autoscalers

Who’s Who In Kubernetes Deployment Models? | D2iQ
Which Kubernetes Deployment Model is Right for You? | D2iQ
How to Get Your Kubernetes Deployment Priorities Straight | D2iQ
Lessons Learned Shipping Instana Self-Hosted On Kubernetes - Instana

Scaling SpringBoot with Message Queues and Kubernetes ♦︎ Learnk8s

workshop/k8sprod.md at master · gravitational/workshop

Best Practices to Spring to Kubernetes Easier and Faster Spring, Jib, Scaffold

ilhaan/kubeCDN: Self-hosted CDN based on Kubernetes
How to build your own CDN with Kubernetes – Insight Fellows Program

Kubernetes, are you ready for production? - DEV Community 👩‍💻👨‍💻 2019 Kubernetes trend report

Tips and Tricks

10 Basic Facts About Kubernetes That You Didn’t Know - DZone Cloud
12 ways to get smarter about Kubernetes | The Enterprisers Project
Kubernetes Best Practices — Season One – Google Cloud Platform - Community – Medium
10 Kubernetes Best Practices You Can Easily Apply to Your Clusters - The New Stack
Useful tools for developers running applications in Kubernetes

Adopting Kubernetes? Here's What You Should Definitely Not Do - DZone Cloud
Kubernetes Anti-Patterns: Let's Do GitOps, Not CIOps! - DZone Cloud

Learning Center | Komodor
Kubernetes Failure Stories | SRCco.de
How to detect Kubernetes overspending by measuring idle costs
A Practical Guide to Setting Kubernetes Requests and Limits - Home
How-to guide: Debugging a Kubernetes application | Cloud Native Computing Foundation

Kubernetes Master Class Troubleshooting Kubernetes - YouTube slides
Learn How to Troubleshoot Applications Running on Kubernetes
Kubernetes resources by Rancher, but should be applicable to all K8s cluster

Learning Center | Komodor
Posts in category architecture
Container Design Patterns for Kubernetes - Part 1

Building Optimized Containers for Kubernetes | DigitalOcean
Modernizing Applications for Kubernetes - DEV Community 👩‍💻👨‍💻

How to Treat Your Kubernetes Clusters Like Cattle, Not Pets - The New Stack

Kubernetes patterns: capacity planning | Cloud Native Computing Foundation

Tools

kubedex.com - Discover and learn about everything Kubernetes

4 cool Kubernetes tools for mastering clusters | InfoWorld
3 open source projects that make Kubernetes easier | InfoWorld Heptio, Kubed, Kubicorn
Kubernetes: A Little Guide to Install Options – OpenShift Blog
Top 11 Continuous Delivery Tools for Kubernetes (Part 1) - DZone Cloud
50+ Useful Kubernetes Tools - DZone Cloud
15 tools to tame Kubernetes deployments | InfoWorld
Kubernetes: 6 open source tools to put your cluster to the test | The Enterprisers Project
9 Open Source Developer Tools for Kubernetes - Container Journal
the ULTIMATE kubernetes management tools comparison! - YouTube

Interoperability of open-source tools: the emergence of interfaces | by Katie Gamanji | Medium

cloudnativelabs/kube-shell: Kubernetes shell: An integrated shell for working with the Kubernetes
boz/kail: kubernetes log viewer Tail for k8s

brendanjryan/ccheck: A command line tool for validating Kubernetes configs with rego
"When we started with YAML we never intended it to be the user-facing solution, We saw it as ‘assembly code.’ I’m horrified that we are still interacting with it directly." - Joe Beda

Kubie — command-line utility in Rust // Lib.rs
ahmetb/kubectx: Faster way to switch between clusters and namespaces in kubectl
kubectx/kubens at master · ahmetb/kubectx

Kubeval validating Kubernetes configuration files
Kubernetes YAML Generator

Installation/Distros

Each installer is actually a "distribution" of Kubernetes.

Kubernetes Distributions and 'Kernels' - Tim Hockin & Michael Rubin, Google - YouTube
KubeCon2017-_Kernels_and_Distros.pdf
10 Kubernetes distributions leading the container revolution | InfoWorld
CNCF-Webinar-Navigating-the-Sea-of-Local-Clusters-.pdf
paper11.pdf

Picking the Right Solution
A Comparison of Kubernetes Distributions - DZone Cloud
Kubernetes On-Prem - kubedex.com
Kubernetes On A Laptop - kubedex.com
Evaluate 3 ways to run Kubernetes locally Minikube vs MicroK8s vs K3s
K3s vs K8s: The Best Kubernetes Home Lab Distribution - Virtualization Howto
k0s vs k3s - Battle of the Tiny Kubernetes distros - Virtualization Howto

Introducing Software Certification for Kubernetes - Kubernetes
heptio/sonobuoy: Heptio Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of Kubernetes conformance tests in an accessible and non-destructive manner. Brought to you by Heptio.

Kubernetes On Bare Metal
Bare Metal K8s Clustering at Chick-fil-A Scale – Chick-fil-A Tech Blog – Medium Ansible

How to spin-up Kubernetes HA cluster (19 nodes) with a single of command

kubernetes/kubernetes-anywhere: {concise,reliable,cross-platform} turnup of Kubernetes clusters

platform9/decco: Deployment cluster configuration and operations for Kubernetes

Kubernetes Operating Systems - kubedex.com

Cloud

10 Kubernetes distributions leading the container revolution | InfoWorld

GKE vs AKS vs EKS – Hasura
Kubernetes Cloud Services - kubedex.com

Quick Start for Kubernetes by Heptio on AWS

Project Dolos: Testing Kubernetes on Google and Azure - kubedex.com
Kubedex/dolos: Time how long Kubernetes takes to start on Cloud platforms

Pharos

Kontena Pharos – The simple, solid, certified Kubernetes distribution that just works.
Introduction · Kontena Pharos
Kontena Pharos 2.1 Released
Kubernetes That Just Works: Kontena Pharos 2.0 Released
Kontena Pharos 1.3.0
Kontena Pharos 1.0 Released: Control the Raw Power of Kubernetes

Rancher/RKE

rancher

Quick Start Guide | Rancher Labs
An Introduction to Rancher Kubernetes Engine (RKE) | Rancher Labs
How to Deploy Kubernetes Clusters on AWS using RKE | Rancher Labs

RKE2 - Rancher's Next Generation Kubernetes Distribution

OKD

OKD - The Origin Community Distribution of Kubernetes that powers Red Hat OpenShift.
openshift/origin: Enterprise Kubernetes for Developers

Welcome | About | OKD Latest
System and environment requirements | Installing Clusters | OKD Latest

wksctl

Get started with wksctl — wksctl documentation
weaveworks/wksctl: Open Source Weaveworks Kubernetes System
WKSctl - A New OSS Kubernetes Manager using GitOps

k3sup

rancher#k3s

alexellis/k3sup: k3sup: from Zero to KUBECONFIG in < 1 min

Rancher_Labs 的个人空间 - 哔哩哔哩 ( ゜- ゜)つロ 乾杯~ Bilibili
从 0 到 1 基础入门 全面了解 k3s_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
轻量级 K8S 发行版 k3s 周边工具揭秘:k3d、k3OS、k3c_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
k3s 高可用架构、Containerd_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili k3s 进阶探索(1)
k3s 功能扩展之 Helm、Traefik LB、ServiceLB 存储及 RootFS_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili k3s 进阶探索(2)
边缘 AI 场景中如何管理 GPU_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 實戰(1)
如何使用轻量 K8S 实现 IoT 设备管理_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 實戰(2)

Kubernetes Homelab with Raspberry Pi and k3sup
Self-hosting Kubernetes on your Raspberry Pi

kubeadm

kubeadm does not install network solution, you have to kubtctl apply manually

Kubernetes.io Blog: Production-Ready Kubernetes Cluster Creation with kubeadm - General Discussions - Discuss Kubernetes

Using kubeadm to Create a Cluster | Kubernetes
Setting up a Kubernetes cluster using Docker in Docker | Callista Enterprise with kubeadm
Mirantis/kubeadm-dind-cluster: A Kubernetes multi-node test cluster based on kubeadm

Kubernetes on bare-metal in 10 minutes native with kubeadm, Ubuntu 16.04 packages
Kubernetes on Ubuntu native with kubeadm, install dashboard and test with kube-test-container

How To Create a Kubernetes Cluster Using Kubeadm on Debian 9 | DigitalOcean Ansible + kubeadm

Kubespray
kubernetes-sigs/kubespray: Deploy a Production Ready Kubernetes Cluster
Ansible + kubeadm

microk8s

Zero-ops single-node k8s maintained by Canonical, Minikube killer

sudo snap install microk8s --classic
microk8s.enable dns storage dashboard registrys
microk8s.kubectl version

MicroK8s - Zero-ops Kubernetes for developers, edge and IoT
ubuntu/microk8s: A kubernetes cluster in a snap

Introducing HA MicroK8s, the ultra-reliable, minimal Kubernetes | Ubuntu
From lightweight to featherweight: MicroK8s memory optimisation | Ubuntu
Local Kubernetes for Linux - MiniKube vs MicroK8s
What's the difference between k3 vs microk8's? - General Discussions / microk8s - Discuss Kubernetes
K3s and MicroK8s What’s the Difference? | by Maciej | Medium

Portainer recommends MicroK8s for effortless deployment | Ubuntu
MicroK8s and Portainer Is The Easiest Way to Deploy an Application on Kubernetes - The New Stack
Mikrok8s Automated Kubernetes Install with new Portainer Feature - Virtualization Howto

Introduction to Kubernetes | Drifting Ruby
使用 MicroK8s 架設 Kubernetes 叢集的完整過程解析 | The Will Will Web

​Canonical makes Kubernetes moves | ZDNet
Canonical launches MicroK8s – deploy Kubernetes in seconds | Ubuntu blog
Features of Charmed Distribution of Kubernetes | Ubuntu

Building a Raspberry Pi cluster with MicroK8s | Ubuntu
Tips for running Kubernetes cluster on Raspberry Pi | by Lukasz Raczylo | Apr, 2021 | ITNEXT

Minikube

Zero-ops single-node k8s with VM or Docker

Welcome! | minikube
Running Kubernetes Locally via Minikube
kubernetes/minikube: Run Kubernetes locally
Use --vm-driver=none option to run k8s with Docker in Docker instead of VM
bsycorp/kind: Kubernetes-in-Docker - A single node cluster to run your CI tests against thats ready in 30 seconds minikube in docker
Starting local Kubernetes using kind and Docker – ITNEXT

Local Kubernetes for Windows - MiniKube vs Docker Desktop - Codefresh
Advanced Topics and Tutorials · kubernetes/minikube
Exploring Kubernetes with Minikube » ADMIN Magazine

curl -Lo minikube https://storage.googleapis.com/minikube/releases/$(curl -s https://api.github.com/repos/kubernetes/minikube/releases/latest | grep tag_name | cut -d '"' -f 4)/minikube-linux-amd64
chmod +x ./minikube
sudo mv ./minikube /usr/local/bin/minikube
minikube start --vm-driver=none
kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080
kubectl expose deployment hello-minikube --type=NodePort
kubectl get pod

curl $(minikube service hello-minikube --url)

kubectl delete deployment hello-minikube
minikube stop
# istio exsample
minikube start \
 --extra-config=controller-manager.ClusterSigningCertFile="/var/lib/localkube/certs/ca.crt" \
 --extra-config=controller-manager.ClusterSigningKeyFile="/var/lib/localkube/certs/ca.key" \
 --extra-config=apiserver.Admission.PluginNames=NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota \
 --kubernetes-version=v1.9.0

kops

kubernetes/kops: Kubernetes Operations (kops) - Production Grade K8s Installation, Upgrades, and Management create production-grade, highly available, Kubernetes clusters on cloud

kops will create the following resources:

aws-samples/aws-workshop-for-kubernetes: AWS Workshop for Kubernetes
Manage Kubernetes Clusters on AWS Using Kops | AWS Compute Blog
Installing Kubernetes on AWS with kops
What is Kops? Kubernetes Operations with Kops - Cloud Academy Blog
Create a High-Availability Kubernetes Cluster on AWS with Kops
Creating Kubernetes Clusters on AWS using KOPS - Opcito Technologies

wget -O kops https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '"' -f 4)/kops-linux-amd64
chmod +x ./kops
sudo mv ./kops /usr/local/bin/

kops version
# create cluster specification only
kops create cluster <clustername>
# create/update cloud resources, will update kubecfg settings
kops update cluster <clustername> --yes
# create specification and cloud resources in one go
kops create cluster <clustername> --yes

kops edit cluster <clustername> [flags]
kops edit instancegroup [flags]

kops get clusters
kops delete cluster
# to reuse a existing kops cluster
export KOPS_STATE_STORE=s3://<somes3bucket>
# NAME=<kubernetes.mydomain.com>
kops export kubecfg ${NAME}

kops import cluster --name ${NAME} --region ${AWS_REGION}

docs/README.md at master · kubernetes/kops
docs/cli/kops.md at master · kubernetes/kops
01-path-basics/102-your-first-cluster/instance-groups/readme.adoc at master · aws-samples/aws-workshop-for-kubernetes

Shell

jonmosco/kube-ps1: Kubernetes prompt info for bash and zsh
c-bata/kube-prompt: An interactive kubernetes client featuring auto-complete using go-prompt.
cloudnativelabs/kube-shell: Kubernetes shell: An integrated shell for working with the Kubernetes

Virtual Kubernetes

Loft Labs introduces and open sources virtual Kubernetes clusters - TechRepublic

kn

mhausenblas/kn: A collection of shell functions for Kubernetes native dabbling
Meet kn—a Kubernetes native experience – Hacker Noon

Gravity

Securely Run Your Applications In Any Environment | Gravity | Gravitational Gravity, package K8s stack as app
Gravity 5.5 gives superpowers to Helm: package Kubernetes apps as self-contained tarballs
Gravity: Distributed Application Delivery with Ev Kontsevoy - Software Engineering Daily

Rig.dev

Rig.dev | The open-source application platform for Kubernetes
Introducing Rig.dev: An open-source application platform for Kubernetes - DEV Community

Management

DRY Kubernetes – Jerry Jackson – Medium
Growing Pains: Overcoming Kubernetes' 'Day 2' Challenges - The New Stack
How the U.S. Air Force Deployed Kubernetes and Istio on an F-16 in 45 days - The New Stack

Draft vs Gitkube vs Helm vs Ksonnet vs Metaparticle vs Skaffold
Draft vs. Skaffold: Developing on Kubernetes - DZone Cloud
The ultimate guide for local development on Kubernetes: Draft vs Skaffold vs Garden.io - Codefresh

Simplifying how you define Kubernetes artifacts previously Opencompose, Docker Compose for Kubernetes
kedgeproject/kedge: Kedge : Simple, Concise & Declarative Kubernetes Applications

Kubernetes + Compose = Kompose
Translate a Docker Compose File to Kubernetes Resources | Kubernetes

Koki Short
koki/short: Manageable Kubernetes manifests through a composable, reusable syntax

K9s - Manage Your Kubernetes Clusters In Style

kontena/mortar: The manifest shooter for Kubernetes less complex than Helm

Pimp my Kubernetes Shell – ITNEXT

Kubernetes configuration patterns, Part 1: Patterns for Kubernetes primitives - Red Hat Developer

Introducing kustomize; Template-free Configuration Customization for Kubernetes - Kubernetes
kubernetes-sigs/kustomize: Customization of kubernetes YAML configurations
integrated into kubeadm (experimental in 1.16)

kubectl

kubectl Cheat Sheet
Kubectl Cheat Sheet - Kubernetes Commands — A Cloud Guru
Overview of kubectl - Kubernetes
How does 'kubectl exec' work? · Erkan Erol

Extend kubectl with plugins - Kubernetes stable in 1.14
Boosting your kubectl productivity ♦︎ Learnk8s
Pimp my Kubernetes Shell – ITNEXT
How to set up a serious Kubernetes terminal
GoogleContainerTools/krew: 📦 Package manager for "kubectl plugins"
ahmetb/kubectx: Switch faster between clusters and namespaces in kubectl

kubecfg settings are stored in ~/.kube.

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

kubectl version
# create dashboard in kube-system namespace
kubectl create -f https://git.io/kube-dashboard
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
kubectl proxy  # http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

kubectl create -f https://git.io/weave-kube-1.6 # install Weave CNI plugin
kubectl apply -f https://raw.githubusercontent.com/kubernetes/kops/master/addons/prometheus-operator/v0.19.0.yaml

kubectl cluster-info
kubectl get nodes

kubectl get pods  # all pods
kubectl get pods [pod name]  # filter by pod name
kubectl get pods --namespace kube-system
kubectl get svc  # all services
kubectl api-versions  # list supported API versions

kubectl run <name> --image=image
kubectl run helloworld --image=k8s.gcr.io/echoserver:1.4 --port=8080 --expose=true

kubectl expose deployment helloworld --type=NodePort  # create service
kubectl expose <type name> <identifier/name> [--port=external port] [--target-port=container-port [--type=service-type]  # expose deployment, type=NodePort
kubectl port-forward <pod name> [LOCAL_PORT:]REMOTE_PORT]  # local reverse proxy for remote service

kubectl attach <pod name> -c <container>  # docker attach
kubectl exec [-it] <pod name> [-c CONTAINER] -- COMMAND [args…]  # docker exec
kubectl label [--overwrite] <type> KEY_1=VAL_1 …

Sample configs:
wardviaene/kubernetes-course: Kubernetes Course Files
wardviaene/advanced-kubernetes-course: Course files for the Advanced Kubernetes Usage course

Helm

Helm - The Kubernetes Package Manager
Deploying Kubernetes applications with Helm - Cloud Academy Blog
What is Helm and why you should love it? | IT Svit Blog

Helm Deployments - kubedex.com Helm and other chart managers
alexellis/arkade: Open Source Kubernetes Marketplace

Breaking Changes in Helm 3 (and How to Fix Them) - ITNEXT

The Chart Best Practices Guide | Docs
HELM Best practices · Codefresh | Docs

{ Zero to Helm }. An article series of 1-hour “bytes” for… | by Stephen Rodriguez | Feb, 2021 | Medium
Kubeapps, deploy your applications in Kubernetes Helm app dashboard
Top 10 Helm Charts for Kubernetes - kubedex.com
Beginners Guide to Helm - kubedex.com
How to make a Helm chart in 10 minutes | Opensource.com
Helm Chart Prometheus Exporter - kubedex.com ❗!important
Deploying apps on multiple Kubernetes clusters with Helm
Why I no longer use Terraform for Templating Kubernetes

The How and Why Behind Tiller-less Helm – Official TenX Blog

Building Helm Charts From the Ground Up: An Introduction to Kubernetes [I] - Amy Chen, Heptio - YouTube
Delve into Helm: Advanced DevOps [I] - Lachlan Evenson & Adam Reese, Deis - YouTube

Deploying your Applications in a Repeatable Way on Kubernetes - YouTube slides

Werf

Giterministic CLI tool | werf
werf vs. Helm: Should you even compare them? – Flant blog

Appsody

Appsody provides pre-configured stacks and templates for popular open source runtimes and frameworks, which developers can use to build applications for Kubernetes and Knative deployments

Appsody - Compose a Cloud Native Masterpiece
Appsody – Medium

Flagger

Flagger | A Progressive Delivery Kubernetes Operator
Automated Canary Management to Kubernetes with Flagger, Istio and GitOps Pipelines

Draft

Draft | Streamlined Kubernetes Development

Metaparticle

Metaparticle.io

Blue8s

Deploying and managing stateful applications on Kubernetes

BlueData Announces BlueK8s Open Source Kubernetes Initiative | BlueData
Operation: Stateful. Introducing BlueK8s and Kubernetes Director | BlueData
FOSS Project Spotlight: BlueK8s | Linux Journal

Home · bluek8s/kubedirector Wiki
bluek8s/kubedirector: Kubernetes Director (aka KubeDirector) for deploying and managing stateful applications on Kubernetes
Kubernetes.io Blog: KubeDirector: The easy way to run complex stateful applications on Kubernetes - General Discussions - Discuss Kubernetes
Operation: Stateful. Introducing BlueK8s and Kubernetes Director

Brigade

Brigade | Event-driven scripting for Kubernetes.
Azure/brigade: Event-based Scripting for Kubernetes.
Azure/kashti: Kashti is a dashboard for your Brigade pipelines.

Build your own serverless platform in Kubernetes with Brigade | InfoWorld
Brigade: Scripting Container Workflows on Kubernetes - Cloud Native Computing Foundation

Skaffold

Skaffold
GoogleContainerTools/skaffold: Easy and Repeatable Kubernetes Development
Fast Kubernetes Development with File Sync and Smart Rebuilds
Intro to Skaffold for easy Kubernetes development - Flant - Medium

Tanka

Introduction | Tanka
Spiritual successor of ksonnet, also uses jsonnet underneath

Introducing Tanka, Our Way of Deploying to Kubernetes | Grafana Labs
grafana/tanka: Flexible, reusable and concise configuration for Kubernetes

ksonnet

warning: sunsetted in 2019-02

Home ⋅ ksonnet

ksonnet/kubecfg: A tool for managing complex enterprise Kubernetes environments as code.

Heptio Comes Out of Stealth Mode with a Kubernetes Configuration Tool, ksonnet - The New Stack
ksonnet: Simplify working with Kubernetes configurations
The Next Chapter for ksonnet – Heptio

Super quick view at ksonnet – Alberto García L. – Medium
YAML is for Computers. ksonnet is for Humans - Bryan Liles, Heptio (Any Skill Level) - YouTube

Logs

wercker/stern: ⎈ Multi pod and container log tailing for Kubernetes
boz/kail: kubernetes log viewer
Ultimate Kubernetes Infrastructure Monitoring — Metrics + Logs
Get Kubernetes Cluster Metrics with Prometheus in 5 Minutes
Get Kubernetes Logs with EFK Stack in 5 Minutes
Kubernetes Logging 101
Logs in Kubernetes: expectations vs reality - Flant - Medium
Measuring the performance of a logging subsystem in Kubernetes · Banzai Cloud

Others

10 open-source Kubernetes tools for highly effective SRE and Ops Teams
12 tools that make Kubernetes easier | InfoWorld
The 12 Days of Kubernetes (Tools) - Instana

kubernetes/dashboard: General-purpose web UI for Kubernetes clusters
Alternative Kubernetes Dashboards - Octopus Deploy

Dynamic Kubernetes Informers | FireHydrant

Forge - Fast build system for Kubernetes services

derailed/popeye: 🧭 A Kubernetes cluster resource sanitizer

bloomberg/goldpinger: Debugging tool for Kubernetes which tests and displays connectivity between nodes in the cluster.

Using Kubernetes Ephemeral Containers for Troubleshooting

see container-ecosystem.md#FAAS

Virtual Kubelet

Kubernetes and the Return of the Virtual Machines - The New Stack

KubeVirt.io
kubevirt/kubevirt: Kubernetes Virtualization API and runtime in order to define and manage virtual machines.
KubeVirt: Extending Kubernetes with CRDs for Virtualized Workloads - Kubernetes

virtual-kubelet/virtual-kubelet: Virtual Kubelet is an open source Kubernetes kubelet implementation.
Kubelet interface to call external services

Krustlet

run WebAssembly on Kubernetes

Krustlet
krustlet/krustlet: Kubernetes Rust Kubelet
WebAssembly meets Kubernetes with Krustlet - Open Source Blog
Kubernetes meets WebAssembly in Microsoft’s Krustlet | InfoWorld
Introducing Krustlet, the WebAssembly Kubelet - Deis Labs
@adlrocha - Can WASM become the new Docker?
Containerless! How to Run WebAssembly Workloads on Kubernetes with Rust | Okta Developer

HyperContainer

hyperhq/hyperd: HyperContainer Daemon

Virtlet

Virtlet: run VMs as Kubernetes pods | Mirantis

gVisor

google/gvisor: Container Runtime Sandbox

Google Cloud Platform Blog: Open-sourcing gVisor, a sandboxed container runtime
Interview: Google gVisor and the Challenge of Securing Multitenant Containers - The New Stack
gVisor: Building and Battle Testing a Userspace OS in Go
Sandboxing Docker with Google’s gVisor – zwischenzugs

Security

kubesec.io :: kubesec.io

Authenticating - Kubernetes
Authorization Overview - Kubernetes
Using RBAC Authorization - Kubernetes
Using ABAC Authorization - Kubernetes
5 Kubernetes RBAC Mistakes You Must Avoid | StackRox

Kubernetes hardening: Drilling down on the NSA/CISA guidance | CSO Online
How to Secure Your Kubernetes Clusters With Best Practices - DEV Community

Kubernetes Identity Management: Authentication | Linux Journal
Service Accounts have token without expiration. They should not be leaked or used by application.
User Accounts are authenticated and maintained by external identity provider, e.g. OpenID Connect server. Kubernetes API server only validates the JWT and enforces it. kubectl knows OAuth and will refresh the token, the server will not get hold of the refresh token.

Demystifying RBAC in Kubernetes - Cloud Native Computing Foundation
Testing Kubernetes RBAC – YLD Blog – Medium
RBAC | Helm

Falco the de facto Kubernetes threat detection engine

freach/kubernetes-security-best-practice: Kubernetes Security - Best Practice Guide
11 Ways (Not) to Get Hacked - Kubernetes
9 Kubernetes Security Best Practices Everyone Must Follow - Cloud Native Computing Foundation
7 container security tools to lock down Docker and Kubernetes | InfoWorld

Single Sign-On for Kubernetes: An Introduction - The New Stack
Single Sign-On for Kubernetes: The Command Line Experience - The New Stack
Managing Access to All Your Clusters at Scale – The New Stack

Extended authorization model/

enforces policies beyond RBAC

policy-management#OPA on Kubernetes

A Practical Guide to Setting Kubernetes Requests and Limits - Home

PotCtl
Kubernetes Extended Authentication Model
Kubernetes Policies

Image scan

Kube-hunter by Aqua
aquasecurity/kube-hunter: Hunt for security weaknesses in Kubernetes clusters
Kube-hunter - an open source tool for Kubernetes penetration testing

Configuration

Configure a Pod to Use a ConfigMap - Kubernetes

Configuration - Kubernetes

Polaris | Kubernetes Deployment Strategy | Fairwinds
Fairwinds Polaris 1.0 - Best Practices for Kubernetes Workloads

Secrets

Secrets - Kubernetes
Painless migration of existing Helm's Tiller setup to Kubernetes Secrets - DEV Community 👩‍💻👨‍💻
Effective Secrets with Vault and Kubernetes – ITNEXT
Make Kubernetes more secure with HashiCorp Vault - My personal blog - Björn Wenzel

Soluto/kamus: A## Testing
n open source, git-ops, zero-trust secret encryption and decryption solution for Kubernetes applications

Can Kubernetes Keep a Secret? It all depends what tool you’re using

Vault and Secret Management in Kubernetes [I] - Armon Dadgar, HashiCorp - YouTube

Testing

Kubernetes End-to-end Testing for Everyone - Kubernetes

Automated Testing for Kubernetes and Helm Charts using Terratest
gruntwork-io/terratest: Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.

sverrirab/kube-test-container: Kubernetes Test Container

Heptio

VMWare acquisition affects Heptio's open source projects
Heptio org will be closing, projects moved to VMWare Tanzu

Open Source in VMware Tanzu

Welcoming Heptio Open Source Projects to VMware - Cloud Native Apps

An Interview with Heptio, the Kubernetes Pioneers | Linux Journal
VMware Tanzu Portfolio | VMware Tanzu
VMware Tanzu

Quick Start for Kubernetes by Heptio heptio/aws-quickstart

These are moved to Tanzu:

These formed new projects:

Service Catalog

Documentation | Service Catalog - Kubernetes
Service Catalog - Kubernetes
kubernetes-incubator/service-catalog: Consume services in Kubernetes using the Open Service Broker API

kubedex.com - Discover and share new Kubernetes applications

Service Catalog implements this API: Open Service Broker

Agones

Agones Dedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes
GoogleCloudPlatform/agones

FLOSS 571: Agones - TWiT Shows / FLOSS Weekly - TWiT.Community

Internals

Components and defaults
Provisioning: SaltStack (internal)
Service registry: Etcd
Monitoring?: heapster, node-problem-detector, Prometheus?
Volume driver: CSI
Network: kubenet (bridge mode)
DNS: kubedns
Scheduler: Kubernetes scheduler

Kubernetes run with 5 services:

Learning the Kubernetes codebase - DEV Community 👩‍💻👨‍💻 entry level
The Mechanics of Kubernetes – Dominik Tornow – Medium
Joe Beda Explains Some of The Inner Workings of Kubernetes - Cloud Native Computing Foundation

Kubernetes Deconstructed: Understanding Kubernetes by Breaking It Down - Carson Anderson, DOMO - YouTube
Kubernetes: What is "reconciliation"? - Speaker Deck
Kubernetes Deconstructed - Carson on Vimeo
kube-decon | Kubecon 2017 - Kubernetes Deconstructed
Code Walkthroughs - YouTube

kubernetes/community: Kubernetes community content

SaltStack's "Big" Role in Google Kubernetes and Why Immutable Infrastructure Makes The Cloud a Giant Computer - The New Stack

History

Kubernetes is an evolution of Borg, which is used by Google for more than 10 years. It can be run standalone or on top of Mesos.

From Google to the world: the Kubernetes origin story | Google Cloud Blog
Kubernetes Origins with Craig Mcluckie | Software Engineering Daily
Borg, Omega, and Kubernetes - ACM Queue
Borg, Omega, and Kubernetes – Google Research
Cluster Management at Google

How did that sidecar get there? – Dow Jones Tech – Medium
Large-scale cluster management at Google with Borg
Google Unveils Details about Borg
Docker 背后的容器集群管理——从 Borg 到 Kubernetes(一)
Docker 背后的容器集群管理——从 Borg 到 Kubernetes(二)
The InfoQ eMag: Kubernetes: Past, Present and Future
The Changelog #250: The Backstory of Kubernetes with Tim Hockin and Aparna Sinha | Changelog | News and podcasts for developers

API Extension

Extending Kubernetes - Kubernetes
The Kubernetes API - Kubernetes

Introduction · The Kubebuilder Book
kubernetes-sigs/kubebuilder: Kubebuilder - SDK for building Kubernetes APIs using CRDs
Introducing Kubebuilder: an SDK for building Kubernetes APIs using CRDs - Kubernetes

Extend the Kubernetes API
Custom Resource Definitions
The State of Custom Resource Definitions in Kubernetes
Kubernetes API Server, Part I – Dominik Tornow – Medium

kubernetes/apimachinery
kubernetes-sigs/controller-runtime: Repo for the controller-runtime subproject of kubebuilder (sig-apimachinery)

Kubernetes deep dive: API Server - part 1 – OpenShift Blog
Kubernetes Deep Dive: API Server – Part 2 – OpenShift Blog

Device Plugins - Kubernetes

Resources

Managing Compute Resources for Containers - Kubernetes

cdk8s Documentation
Write Your Kubernetes Infrastructure as Go Code — “cdk8s-plus” in Action! | by Abhishek Gupta | Jul, 2022 | Better Programming
Write Your Kubernetes Infrastructure as Go Code — Extend “cdk8s” With Custom Constructs | by Abhishek Gupta | Aug, 2022 | Better Programming

Operators

Welcome to Operator framework
Operator Framework

Operator pattern | Kubernetes
Operators on Red Hat OpenShift
OperatorHub.io | The registry for Kubernetes Operators
Welcome to Operator framework
Introducing the Operator Framework: Building Apps on Kubernetes
Kubernetes Application Operator Basics – OpenShift Blog
How to explain Kubernetes Operators in plain English | The Enterprisers Project
Kubernetes Operators in Depth - Red Hat Developer Blog
operator-framework/awesome-operators: A resource tracking a number of Operators out in the wild.

OperatorHub.io | The registry for Kubernetes Operators

Kubernetes Universal Declarative Operator (KUDO) | KUDO
KUDO Automates Kubernetes Operators – The New Stack
Announcing Kudo - A declarative, no-code approach to Kubernetes Day 2 Operators - Mesosphere
Day 2 for the Operator Ecosystem - DevOps.com

Analysis of Open source Kubernetes Operators – CloudARK – Medium

Kubernetes Operators - kubedex.com
WTH is a Operator Lifecycle Manager? – ITNEXT
Make a Kubernetes Operator in 15 minutes with Helm – Red Hat OpenShift Blog
Comparing Kubernetes Operator Pattern with alternatives

[Podcast] PodCTL #33 - Operators Framework – OpenShift Blog

SDK

Introducing Kubebuilder: an SDK for building Kubernetes APIs using CRDs - Kubernetes
The Kubebuilder Book
kubernetes-sigs/kubebuilder: Kubebuilder - SDK for building Kubernetes APIs using CRDs
Expose service's management and operation logic as Kubernetes API, e.g. MySQL API that can be managed by kubectl
Kubernetes API = Application Controller, Operator

operator-framework/operator-sdk: SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding.

Samples

Building an operator for Kubernetes with the sample-controller
Building an operator for Kubernetes with kubebuilder
Building an operator for Kubernetes with operator-sdk

kubernetes/sample-apiserver: Reference implementation of an apiserver for a custom Kubernetes API.
kubernetes/sample-controller: Repository for sample controller. Complements sample-apiserver

Runtime (CRI)

CRI: container runtime interface

Kubernetes uses CRI to interface Docker runtime (via cri-containerd) since 1.7.

community/container-runtime-interface.md at master · kubernetes/community
kubernetes-incubator/cri-o: Open Container Initiative-based implementation of Kubernetes Container Runtime Interface initiated by RedHat as a replacement of containerd by Docker

containerd/cri: Containerd Plugin for Kubernetes Container Runtime Interface
Whose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes - {code}
container-runtime-series Blog Posts - Ian Lewis
Containerd Brings More Container Runtime Options for Kubernetes
Kubernetes Containerd Integration Goes GA - Kubernetes

containerd/cri: Containerd Plugin for Kubernetes Container Runtime Interface
containers/conmon: An OCI container runtime monitor.

Storage (CSI)

CSI: container storage interface
The Current State of the State for Cloud Native Storage - The New Stack

spec/spec.md at master · container-storage-interface/spec
examples/staging/volumes/nfs at master · kubernetes/examples

Storage - Kubernetes
Volumes - Kubernetes
Kubernetes: State and Storage – OpenShift Blog
Container Storage Architectures: How Does Kubernetes, Docker, and Mesos Compare? - {code}
Introduction to Container Storage Interface (CSI) | Containerized Me
Dynamically Expand Volume with CSI and Kubernetes - Kubernetes 0.2.0
Kubernetes 1.14: Local Persistent Volumes GA - Kubernetes
Dynamic Provisioning and Storage Classes in Kubernetes - Kubernetes

Cloud Native Storage for Kubernetes | StorageOS
Container Native Storage
Why Kubernetes is Changing Storage

Kubernetes Storage: Dynamic Volumes & the Container Storage Interface
Kubernetes Storage: Minikube Tutorial for Dynamic Provisioning of Persistent Storage

Planning highly available persistent storage
Understanding Kubernetes storage basics

To run or not to run a database on Kubernetes: What to consider | Google Cloud Blog

Kubernetes FAQ: How do I configure storage for a bare metal Kubernetes cluster?

kubernetes-incubator/external-storage: External storage plugins, provisioners, and helper libraries

K8s Storage Developments for Stateful Workloads
Get unstuck with AWS EBS: a primer on how to use Docker and EBS halt at detaching/attaching EBS to nodes
Cloud storage-2.pdf Instance storage vs Block Storage service
Example: Deploying WordPress and MySQL with Persistent Volumes - Kubernetes

Container Attached Storage

OpenEBS - Kubernetes storage simplified.
openebs/openebs: Leading Open Source Container Attached Storage, built using Cloud Native Architecture, simplifies running Stateful Applications on Kubernetes.
Austin KubeCon — Persistent Storage Round-up and Looking beyond!

Container Attached Storage: A Primer - Cloud Native Computing Foundation
A year later - updating Container Attached Storage - Cloud Native Computing Foundation

Persistent Storage with Kubernetes in Production

Stateful App

Best practices for building Kubernetes Operators and stateful apps | Google Cloud Blog
Stateful Kubernetes with Saad Ali - Software Engineering Daily
Top 5 Considerations for Running Stateful Apps on Kubernetes | YugaByte DB
How Kubernetes conquers stateful cloud-native applications | InfoWorld
How to Solve Kubernetes Persistent Storage Challenges – The New Stack
Different Approaches for Building Stateful Kubernetes Applications - The New Stack
Migrating your app to Kubernetes: what to do with files?

What you need to know to successfully run databases in production on Kubernetes - YouTube slides
Setting up a Kubernetes Database | Database Deployment
Database Cluster | Vitess MySQL | Kubernetes MySQL Cluster

Kasten | Kanister - An extensible framework for application-level data management on Kubernetes

Databases on Kubernetes

To run or not to run a database on Kubernetes: What to consider | Google Cloud Blog
Databases on Kubernetes: Confusion on Adoption Persists - The New Stack
Postgres with Kubernetes: Self-Managed or Managed Service? – The New Stack

Kubernetes and Databases: Deploying Database on Kubernetes with StatefulSets
Why a Cloud-Native Database Must Run on K8s - Container Journal
A Maturity Model for Cloud-Native Databases - Container Journal

Network (CNI)

CNI: container network interface

containernetworking/cni: Container Network Interface - networking for Linux containers
Kubernetes Network Plugins - kubedex.com
Network Plugins - Kubernetes
kops/networking.md at master · kubernetes/kops

Benchmark results of Kubernetes network plugins (CNI) over 10Gbit/s network (Updated: April 2019)
Choosing a CNI Network Provider for Kubernetes | Kubernetes musings by chrislovecnm
Rancher | 应用开发者必须了解的 Kubernetes 网络二三事 | Rancher

A Hacker’s Guide to Kubernetes Networking - The New Stack ❗!important
Kubernetes Networking 101
Kubernetes Networking
Planning in-cluster and external networking for apps
Debugging network stalls on Kubernetes - The GitHub Blog

How Does The Kubernetes Networking Work? : Part 1 - Level UpLevel Up
How Does The Kubernetes Networking Work? : Part 2 - Level UpLevel Up
How Does The Kubernetes Networking Work? : Part 3 - Level UpLevel Up

Choosing a CNI Network Provider For Kubernetes | Kubernetes musings by chrislovecnm

How Does The Kubernetes Networking Work? : Part 1 - Level UpLevel Up
Kubernetes network deep dive: Did you make the right choice?

Networking with Kubernetes - YouTube
June 2018 Online Meetup: Kubernetes Networking Master Class - YouTube
June Online Meetup: Kubernetes Networking Master Class | Rancher Labs

Ingress

Kubernetes FAQ - How can I route traffic for Kubernetes on bare metal? suggest MetalLB, but Træfik is more mature

Ingress
Service

Get a LoadBalancer for your private Kubernetes cluster
inlets/inlets-operator: Public IP LoadBalancer for local Kubernetes clusters

Ingress - kubedex.com
Ingress Archives - kubedex.com
Comparing Ingress controllers for Kubernetes | by Flant staff | Flant | Medium
Kubernetes Ingress Controllers: How to choose the right one: Part 1
Kubernetes Ingress with Nginx Example - Kubernetes Book
Ingress Controllers: The Swiss Army Knife of Kubernetes – The New Stack

Get Automatic HTTPS with Let's Encrypt and Kubernetes Ingress
math-nao/certs: A Let's Encrypt certificates manager for Kubernetes
Can you expose your services with an API gateway in Kubernetes?

Deploy a Multicluster Ingress on Google Kubernetes Engine - The New Stack
Dynamic Ingress in Kubernetes - Kubernetes
IPVS-Based In-Cluster Load Balancing Deep Dive - Kubernetes

Sticky Sessions in Kubernetes – Zhimin Wen – Medium
gRPC Load Balancing on Kubernetes without Tears - Kubernetes with Linkerd

Load Balancing with Kubernetes: concepts, use cases, and implementation details - YouTube slides

kube-vip

Documentation | kube-vip load balancer for both services and control plane

NGINX Ingress

kubernetes/ingress-nginx: NGINX Ingress Controller for Kubernetes docs
Setting up Nginx Ingress on Kubernetes – Hacker Noon
gokulchandra/k8s-ingress-setup

Pain(less) NGINX Ingress – Daniel Martins
Kubernetes Ingress – Jay Gorrell – Medium
Setting up Nginx Ingress on Kubernetes - Solan - Medium

kubernetes-ingress/nginx-ingress-controllers.md at master · nginxinc/kubernetes-ingress kubernetes/ingress-nginx vs nginxinc/kubernetes-ingress
nginxinc/kubernetes-ingress: NGINX and NGINX Plus Ingress Controllers for Kubernetes
Announcing NGINX Ingress Controller for Kubernetes Release 1.4.0 - NGINX

Træfik

Kubernetes - Træfik
Kubernetes Ingress - Træfik

Wildcard Certificates with Traefik + cert-manager + Let's Encrypt in Kubernetes Tutorial - YouTube
Wildcard Certificates with Traefik + cert-manager + Let's Encrypt in Kubernetes Tutorial | Techno Tim Documentation

Configuring Traefik 2 Ingress for Kubernetes | Techno Tim Documentation

Envoy

see microservice.md#envoy

Envoy Proxy - Home
Making it easy to use Envoy as a Kubernetes load balancer
Deploying Envoy as a Front Proxy – Turbine Labs
How we migrated Dropbox from Nginx to Envoy - Dropbox

Kubernetes-native microservices API gateway: Ambassador built on Envoy
How to Create an API Gateway using Ambassador on Kubernetes
Deploying Ambassador to Kubernetes | Ambassador

Kuma

Contour
projectcontour/contour: Contour is a Kubernetes ingress controller using Lyft's Envoy proxy.
Kubernetes Contour Ingress Controller for Envoy Proxy

projectcontour/gimbal: Gimbal is an ingress load balancing platform capable of routing traffic to multiple Kubernetes and OpenStack clusters. Built by Heptio in partnership with Actapio.
gimbal/gimbal-architecture.md at master · projectcontour/gimbal

Skipper

Skipper
zalando/skipper: An HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress

Try this Kubernetes HTTP router and reverse proxy | Opensource.com

MetalLB

MetalLB, bare metal load-balancer for Kubernetes
google/metallb: A network load-balancer implementation for Kubernetes using standard routing protocols
Kubernetes metallb bare metal loadbalancer | AdminTome Blog
MetalLB: a load balancer for bare metal Kubernetes clusters | IT Svit Blog

Rancher

rancher/lb-controller: Load Balancer for Rancher services via ingress controllers backed up by a Load Balancer provider of choice
Load Balancing on Kubernetes with Rancher | Rancher Labs
Let's Encrypt with Rancher 2.x and nginx ingresses - YouTube

AWS

AWS ALB Ingress Controller for Kubernetes
AWS Cost Savings by Utilizing Kubernetes Ingress with Classic ELB

HTTPS

Welcome to cert-manager’s documentation! — cert-manager documentation
How to Set Up an Nginx Ingress with Cert-Manager on DigitalOcean Kubernetes | DigitalOcean

Get Automatic HTTPS with Let's Encrypt and Kubernetes Ingress
TLS/HTTPS - NGINX Ingress Controller

Scheduler

Scheduling, Preemption and Eviction | Kubernetes
How does the Kubernetes scheduler work? - Julia Evans
The Kubernetes Scheduler – Dominik Tornow – Medium
Kubernetes Scheduler 101

Assigning Pods to Nodes | Kubernetes attract pods
Taints and Tolerations | Kubernetes taints prevents pods from scheduled, tolerations add whitelist to pods
Kubernetes - Taints and Tolerations - The IT Hollow

Improving Kubernetes Scheduler Performance

Federation

Multi region cluster

Federation - Kubernetes
Kubernetes Federation Evolution - Kubernetes

kubernetes/federation: Cluster Federation
kubernetes-sigs/federation-v2: Kubernetes Federation v2 v1 was designed before CRD was introduced

To Multicluster, or Not to Multicluster: Inter-Cluster Communication Using a Service Mesh

ClusterAPI — A Guide on How to Get Started | by Katie Gamanji | Product and Engineering at Condé Nast | Medium