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
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
Controllers | Remarks |
---|---|
ReplicaSet | |
ReplicationController | use Deployment instead |
Deployment | ReplicaSet with update policy |
StatefulSet | aka. PetSets |
DaemonSet | run 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
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
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
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
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
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:
- S3 bucket for cluster state
- IAM role for cluster management
- EC2 instances
- EBS volumes for etcd
- load balancer
- auto scaling group and launch config
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
- Use Weave Mesh gossip protocol (with
.k8s.local
domain) without the need to setup DNS - Build a terraform model:
--target=terraform
The terraform model will be built inout/terraform
- Build a Cloudformation model:
--target=cloudformation
The Cloudformation json file will be built in 'out/cloudformation' - Specify the k8s build to run:
--kubernetes-version=1.2.2
- Run nodes in multiple zones:
--zones=us-east-1b,us-east-1c,us-east-1d
- Run with a HA master:
--master-zones=us-east-1b,us-east-1c,us-east-1d
one master node per zone - Specify the number of nodes:
--node-count=4
- Specify the node size:
--node-size=m4.large
- Specify the master size:
--master-size=m4.large
- Override the default DNS zone:
--dns-zone=<my.hosted.zone>
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
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
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
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
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
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
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:
- Sonobuoy to ensure proper configuration of Kubernetes clusters.
- Velero (formerly Ark) for disaster recovery and cluster migration.
- Octant for better understanding of Kubernetes clusters
These formed new projects:
- Contour as a more modern ingress framework for Kubernetes.
- Gimbal for managing multi-cluster ingress across OpenStack and Kubernetes.
- Ksonnet for describing your application to deploy to a Kubernetes cluster.
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:
- kube-apiserver (master)
- kube-scheduler (master)
- kube-controller-manager (master)
- kubelet (worker)
- kube-proxy (worker)
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
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
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
- define Helm chart for opertator
- create CRD in YAML, include CRD validation
- use kube-openapi annotations (for
kubectl explain
) - set owner references
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
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
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
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