Kubernetes
“Kubernetes is not for application development but for platform development. Its magic is in enterprise standardization, not app portability” (Kelsey Hightower)
- Must know Kubernetes concepts
- Introduction
- Kubernetes Open Source Container Orchestation
- KubeCon
- kubeconfig
- Kubernetes Manifests
- Docker and Kubernetes
- Kubernetes Admission Controllers
- Kubernetes Mutating Webhooks
- Kubernetes Cloud Controller Manager
- Kubernetes Resources
- Kubernetes Pods
- Kubernetes ConfigMaps
- Kubernetes Secrets
- Kubernetes Volumes
- Kubernetes Namespaces and Multi Tenancy. Self Service Namespaces
- Kubernetes Labels and Selectors
- Kubernetes Taints and Tolerations
- Kubernetes Deployment, ReplicaSet, Rollling Updates and Rollbacks
- Kubernetes StatefulSet
- Kubernetes DaemonSets
- Kubernetes Jobs and Cron Jobs
- Kubernetes Services
- Kubernetes Deployment Strategies
- Kubernetes API
- Kubernetes Health Checks/Probes. Startup, Liveness, Readiness
- Reserved CPU and memory in Kubernetes nodes
- Kubernetes Quality of Service QOS. Kubernetes Resource and Capacity Management. Capacity Planning. Resource Quotas per namespace, LimitRanges per namespace, Limits and Requests per POD
- Kubernetes Scheduler. Kube Scheduler
- Kubernetes etcd
- Kubernetes Sidecars
- Kubernetes Annotations
- Kubernetes Best Practices and Tips
- Disruptions
- Cost Estimation Strategies
- Architecting Kubernetes clusters. Node Size. Multi Clusters and Hybrid Cloud
- Client Libraries for Kubernetes
- Helm Kubernetes Tool
- Templating YAML in Kubernetes with real code. YQ YAML processor
- Extending Kubernetes
- Kubernetes Community
- Enforcing Policies and governance for kubernetes workloads with Conftest
- Kubernetes Patterns and Antipatterns. Service Discovery
- Kubernetes Scheduling and Scheduling Profiles
- Cloud Development Kit (CDK) for Kubernetes
- Serverless with OpenFaas and Knative
- Virtual Kubernetes Clusters
- Multi-Cluster Federation. Hybrid Cloud Setup Tools
- Multi-Regional Architecture
- Kubernetes in Kubernetes
- Kubernetes Scripts
- Spot instances in Kubernetes
- Kubernetes on Windows
- Kubernetes Incident Report Plan IRP
- Kubernetes Certifications. CKA, CKAD and CKS
- Books and eBooks
- Famous Kubernetes resources of 2019
- Famous Kubernetes resources of 2020
- Compliant Kubernetes
- PCI SSC (Payment Card Industry Security Standards Council)
- Kubernetes Slack Channel
- Bunch of images
- Videos
- Spanish Videos
- Tweets
- Tweets 2
- Memes
Must know Kubernetes concepts
- Workloads: Node, Cluster, Pod, Namespace
- Pod Controllers: Deployment, ReplicaSet, DaemonSet, StatefulSet, HPA PodDisruptionBudget, Job, CronJob
- Configuration: ConfigMaps, Secrets
- Networking: Ingress, Service, Network Policy
Introduction
- Wikipedia.org: Kubernetes
- cloud.google.com: What is Kubernetes? ๐
- Kubernetes Glossary ๐
- “Kubernetes magic is in enterprise standardization, not app portability” (Kelsey Hightower) ๐
- twitter.com/kubernetesio
- techbeacon.com: 25 Kubernetes experts you should follow on Twitter
- enterprisersproject.com: Kubernetes: Everything you need to know (2020) ๐
- padok.fr: Kubernetesโ Architecture: Understanding the components and structure of clusters ๐
- opensource.com: Explaining Kubernetes in 10 minutes using an analogy
- medium: A Practical Step-by-Step Guide to Understanding Kubernetes Deploy a distributed application and understand key underlying concepts.
- medium: Kubernetes, a practical introduction
- itnext.io: Kubernetes is Hard! ๐ But, where thereโs Kubernetes, thereโs a way!
- medium: Starting with kubernetes
- thenewstack.io: Kubernetes Is the New Standard for Computing, Including the Edge
- thenewstack.io: How does kubernetes work?
- cloudsavvyit.com: How Does Kubernetes Work?
- elmanytas.es: Kubernetes para impostores III
- enterprisersproject.com: How to explain Kubernetes in plain English How do you explain Kubernetes and orchestration to non-technical people? Listen to the experts
- maximilianmichels.com: Kubernetes in a Nutshell: 10 Things You Need to Know
- brennerm.github.io: Kubernetes Overview Diagrams ๐
- thenewstack.io: Kubernetes Lifecycle Management! So Important! (Day 0, Day 1, Day 2) ๐
- lemoncode.net: Hola Kubernetes: Definiciones ๐
- opensource.com: A beginner’s guide to Kubernetes container orchestration Understanding the building blocks of container orchestration makes it easier to get started with Kubernetes.
- luminousmen.com: Kubernetes 101
- css-tricks.com: Kubernetes Explained Simply: Containers, Pods and Images
- auth0.com: Kubernetes Tutorial - Step by Step Introduction to Basic Concepts Learn about the basic Kubernetes concepts while deploying a sample application on a real cluster.
- thenewstack.io: Why developers should learn kubernetes
- thenewstack.io: This Week in Programming: Kubernetes from Day One? ๐
- nextplatform.com: KUBERNETES EXPANDS FROM CONTAINERS TO INFRASTRUCTURE MANAGEMENT ๐ More and more in the middleware layer, not in the hardware
- thenewstack.io: Monolithic Development Practices Kill Powerful Kubernetes Benefits ๐๐ “Itโs not about the economy of data, itโs about speed and nimbleness of data. The benefits of using Kubernetes and microservices is incredible โ just make sure you know how to fully wield its power!”
- dev.to: Getting Started Tutorial for Learning Kubernetes ๐
- tech.showmax.com: Developers’ basic guide to kubernetes
- dev.to: How to start with Kubernetes for begginer
- blogs.mulesoft.com - K8s: 8 questions about Kubernetes
- devcentral.f5.com: What is Kubernetes?
- docs.google.com: Kubernetes For Everyone ๐๐ A consolidated document on Kubernetes by: Pavan Belagatti
- hackernoon.com: The Ultimate Beginners Guide To Kubernetes and Container Orchestration
- k21academy.com: Kubernetes Architecture. An Introduction to Kubernetes Components
- dzone: Introduction To Kubernetes ๐ An orchestration tool takes care of provisioning and deployment, allocation of resources, load balancing, and many other important aspects of any system.
- weave.works: Kubernetes components that make up its architecture ๐ Great intro
- dzone refcard: Advanced kubernetes ๐
- loginradius.com: Understanding Basics of Kubernetes
- redhat.com: Kubernetes basics for sysadmins Learn when Kubernetes can be effectively used and how the containers it manages might be better than virtual machines.
- redhat.com: Kubernetes Components - A sysadmin’s guide to basic Kubernetes components ๐ Kubernetes control plane nodes and worker nodes, their features, and how they interact.
- learnsteps.com: How Kubernetes works on reconciler pattern ๐
- devopsunlocked.com: Kubernetes: Learning Material
- cncf.io: Kubernetes 101: An Introduction ๐
- millionvisit.blogspot.com: Kubernetes for Developers #1: Kubernetes Architecture and Features ๐
- redhat.com: Start learning Kubernetes from your local machine
- medium: Pratyush Mathur - Kubernetes Architecture
- medium: Kubernetes Fundamentals For Absolute Beginners: Architecture & Components
- learnsteps.com: What is a control plane? Basics on Kubernetes
- infoworld.com: No one wants to manage Kubernetes anymore ๐ The availability of solid and varied managed kubernetes options has seen more and more companies shy away from managing their own clusters.
- eximiaco.tech: when to choose Kubernetes? ๐
- thenewstack.io: Living with Kubernetes: Cluster Upgrades ๐
- thenewstack.io: 5 Things Developers Need to Know About Kubernetes Management
- How to handle environment variables with Kubernetes? ๐
- weave.works: The Definitive Guide to Kubernetes in Production ๐๐
- vmblog.com: The Rise of Modern Day Kubernetes Operations
- elastisys.com: Evaluation of Caching Methodologies for Microservice-Based Architectures in Kubernetes
- thenewstack.io: What Workloads Do Businesses Run on Kubernetes?
- dzone: Getting Started With Kubernetes In 2 Days Check out these tools to help you deploy and manage your K8s clusters from the ground up…
- itnext.io: The subtleties of ensuring zero downtime during pod lifecycle events in Kubernetes
- tutorialworks.com: The differences between Docker, containerd, CRI-O and runc Since Docker kicked off this explosion in containers, thereโs been a growing family of tools and standards to help govern how to use this technology.
- searchitoperations.techtarget.com: Ensure Kubernetes high availability with master node planning Kubernetes ensures high availability in its worker nodes, but for a mission-critical workload, IT teams should take these extra steps for redundancy in the master node components.
- thenewstack.io: The New Stackโs Top Kubernetes Stories of 2021
- ostechnix.com: Kubernetes Features Explained In Detail
- kodekloud.com: Kubernetes Features Every Beginner Must Know
- learnsteps.com: Kubernetes: What to learn from a long term perspective
- joshgav.github.io: Kubernetes isn’t about containers Kubernetes offers a standard interface for managing software-defined infrastructure - cloud, in other words. Kubernetes is a standard API framework for cloud services.
- medium: Do I need to learn Kubernetes?
- medium.com/@david.alvares.62: Kubernetes Control Plane for newbies Kubernetes has a reputation for being a very complex system, difficult to master in terms of administration and security. Today I suggest you better understand an essential component of Kubernetes: the control plane.
- divya-mohan0209.medium.com: Getting started with K8s in 2022 And a list of resources structured to help you learn!
- docs.google.com: Kubernetes For Everyone
- medium.com/paypal-tech: Scaling Kubernetes to Over 4k Nodes and 200k Pods Learn the challenges PayPal had to face when they started scaling the cluster to over 4000 nodes and 200k pods.
- learnsteps.com: What is kubelet and what it does: Basics on Kubernetes
- pauldally.medium.com: Kubernetes Application High-Availability โ Part 1 (The Very-Basic Basics)
- buttondown.email: Two reasons Kubernetes is so complex
- opensource.com: A guide to Kubernetes architecture Learn how the different components of Kubernetes architecture fit together so you can be better equipped to diagnose problems, maintain a healthy cluster, and optimize your own workflow.
- medium.com/@olivier.gaumond: Why am I able to bind a privileged port in my container without the NET_BIND_SERVICE capability?
- kubesphere.io: Kubernetes High Availability Essential Practices Simply Explained
- ecem.dev: Kubernetes Basics, Core Components & Yaml Files
- medium.com/netcracker: Version Control of Configuration Files Using Kubernetes
- If your applications have configuration files, following situation must be familiar to you: you develop an application, and then you create a configuration file and document it. After a while, you need to add some settings as the old ones do not meet all the requirements and, in general, it is better to change the structure.
- What to do? If you do not change the configuration format, over time, it will turn into a bunch of things that โwe need to deal with for historical reasonsโ. And if you change itโฆ In this case, you always need to check if the configuration files are compatible with the product version you are installing for the customer. The operation team, customers, and many others will not really like this.
- These problems can be solved by multi-version configurations. Borrowing them from the Kubernetes, we have developed and applied them. Now letโs discuss how it works.
- aws.plainenglish.io: Kubernetes Deep Dive: CRI (Container Runtime Interface)
- blog.devgenius.io: Choosing an Optimal Kubernetes Worker Node Size for Your Startup ๐
- blog.scaleway.com: How to deploy and distribute the workload on a multi-cloud Kubernetes environment ๐ This article will guide you through the best practices to deploy and distribute the workload on a multi-cloud Kubernetes environment
- cloudtechtwitter.com: KubeApiServer components ๐ Kube API Server is the only component that as a user we will directly interact with.
- medium.com/@portainerio: Kubernetes, the ultimate enabler of automation
- marcusnoble.co.uk: Managing Kubernetes without losing your cool ๐ In this article, you will find 10 tips for working with Kubernetes clusters all day long.
- cloudtechtwitter.com: Introduction to Kubernetes ๐๐๐
- medium.com/@kajan26: The Myth of scalability in Kubernetes
- medium.com/@raymon_dut: Whatโs the relationShip between Pod, Deployment, ReplicaSet, and Service in Kubernetes? ๐ In this article, you will work out the relationships between Pod, Deployment, ReplicaSet, and Service in Kubernetes by using kubectl and inspecting a live deployment.
- cloudnatively.com: The State of Stateful apps on Kubernetes ๐
- iximiuz.com: How Kubernetes Reinvented Virtual Machines (in a good sense) ๐๐ Wonder why the history of Ops took us from imperative, state-full, pets centric prod on VMs, to declarative, ephemeral, and disposable Ops on Containers?
- How Virtual Machines are used to deploy services
- How Containers try to improve shortcomings of VMs
- What new problems Containers introduce
- How Kubernetes is just one but a clever way to cook Containers
- spiceworks.com: How to Get Started With Kubernetes the Right Way: DevOps Experts Weigh In ๐ Kubernetes deployments need meticulous planning and resource allocation like any other software infrastructure solution. Here, experts discuss the best strategies to deploy Kubernetes seamlessly.
- dev.to: What Problem Is Kubernetes Actually Trying To Solve? ๐
- “It’s funny: everyone thinks CPU requests are only used for scheduling (WRONG) and memory requests determine who gets OOMKilled (WRONG) but it’s actually the opposite! At runtime, memory requests do nothing, but CPU requests DO” ๐
- developers.redhat.com: Kubernetes 101 for developers: Names, ports, YAML files, and more Kubernetes 101 for developers:
- Running multiple containers
- Port management
- Names
- Secrets
- Rolling updates
- Dependencies
- YAML files
- myhistoryfeed.medium.com: Kubernetes Terminologies You Should Know! ๐๐๐
- medium.com/@litombeg: Kubernetes High-Level Architecture
- Top 5 kubernetes challenges and their solutions
- jaffarshaik.medium.com: Kubernetes Architecture and components ๐
- syedasadrazadevops.medium.com: Deep Dive Into Kubernetes: Who to run pod, node container in Kubernetes (K8s)
- dzone.com: Kubernetes Architecture Diagram ๐๐๐ This article will explain each Kubernetes architecture example step, the entire structure, what itโs used for, and how to use it.
- levelup.gitconnected.com: 5 Tricks to take your Kubernetes skills to the next level Whether you like Python, Java, or another language โ youโll probably need Kubernetes anyway.
- thenewstack.io: Donโt Pause Your Kubernetes Adoption โ PaaS It Instead! Adopting a PaaS abstraction can fast-track Kubernetes for software engineering teams of all sizes and shapes.
- iximiuz.ck.page: Ivan on Containers, Kubernetes, and Backend Development
- blog.devgenius.io: Kubernetes(k8) High-level overview
- waltercode.medium.com: Understanding Kubernetes
- anirudhdaya.hashnode.dev: Kubernetes Explained- Part 1
- medium.com/@sakshampaliwal: What is Kubernetes(in short)?
- medium.com/@hnaveed221: A Quick Intro To Kubernetes K8s is a highly extensible system, comprises of many components that do one job and do it well, in this blog, my first attempt at explaining the brief intro of k8s with its architecture, role of master/worker node.
- medium.com/the-techlife: Application life cycle management | Kubernetes Overview of configmaps, secrets, multi-container, and init-containers
- hamees.hashnode.dev: Kubernetes: Explain like I’m 5
- medium.com/siot-govtech: Kubernetes from Scratch
- blog.learncodeonline.in: Kubernetes! An Architectural Overview
- ajay-yadav.medium.com: Internals of Kubernetes
- enterprisersproject.com: A 15-minute primer on Kubernetes Brush up on your Kubernetes knowledge in less than 15 minutes with our new downloadable white paper
- spacelift.io: What Is Kubernetes Architecture? โ Components Overview Kubernetes is a distributed system. It horizontally scales containers across multiple physical hosts termed Nodes. This produces fault-tolerant deployments.
- medium.com/@Zard-x: A detailed explanation of Kubernetes architecture principles
- blog.frankel.ch: Back to basics: accessing Kubernetes pods
- faun.pub: Kubernetes Architecture Explained โ Under 5 Minutes
- okteto.com: What is Kubernetes Architecture?
- blogs.opentext.com: Understanding Kubernetes within containers
- techtarget.com: How many Kubernetes nodes should be in a cluster? ๐๐๐ There’s no one-size-fits-all answer in terms of how many nodes should make up a Kubernetes cluster. Instead, that number varies based on specific workload requirements.
- blog.acethecloud.com: The Kubernetes Handbook: A Comprehensive guide of 100 Q&A ๐
- medium.com/@madhankannan7: Kubernetes in Production: Key Considerations
- medium.com/@harsh.manvar111: Donโt confuse the difference between stateless and stateful ๐ Why not use Kubernetes Statefulset for stateless applications?
- geeksforgeeks.org: Kubernetes โ Concept of Containers
- dev.to: Why Developers Should Learn Docker and Kubernetes in 2023 ๐
- dev.to: Build my own Kubernetes journey (10 Part Series) | Jonatan Ezron
- thenewstack.io: Why Kubernetes Has Emerged as the โOSโ of the Cloud Increased usage of Kubernetes, the Google-created open source system orchestrator isn’t seen in all sectors of IT infrastructure, but it sure is taking charge of cloud native app deployments.
- aws.amazon.com: Kubernetes as a platform vs. Kubernetes as an API ๐๐
- symbiosis.host: Benchmarking cluster creation time for 8 managed Kubernetes providers You might find this report interesting if you care about Kubernetes cluster creation time. This benchmark compares 8 providers of managed Kubernetes to determine how long they take to initialize. Are you planning to run CI tests in a production-like environment? Perhaps you are running short-lived workloads in separate clusters? If so, you might care about cluster boot times. We ran a benchmark across 8 different providers of managed Kubernetes to determine how long they take to initialize. We compared the providers by creating a cluster with a single node and measuring the time from creation until the node was in a ready state.
- medium.com/@deepeshjaiswal6734: An Introduction to Kubernetes Architecture && Kubernetes Object deep dive-1 ๐
- dev.to: Kubernetes 101, part I, the fundamentals | Leandro Proenรงa
- cncf.io: THE ILLUSTRATED CHILDRENโS GUIDE TO KUBERNETES ๐
- dev.to/leandronsp: Kubernetes 101, part I, the fundamentals
- dev.to/leandronsp: Kubernetes 101, part II, pods
- dev.to/leandronsp: Kubernetes 101, part III, controllers and self-healing
- dev.to/leandronsp: Kubernetes 101, part IV, deployments
- dev.to/leandronsp: Kubernetes 101, part V, statefulsets
- dev.to/leandronsp: Kubernetes 101, part VI, daemonsets
- dev.to/leandronsp: Kubernetes 101, part VII, jobs and cronjobs
- dev.to/leandronsp: Kubernetes 101, part VIII, networking fundamentals
- yuminlee2.medium.com: Kubernetes: Understanding Kubernetes Architecture through a Restaurant Chefโs Analogy
- medium.com/jamf-engineering: How three lines of configuration solved our gRPC scaling issues in Kubernetes ๐ It all started with a question I asked our senior software engineer: โForget the speed of communication. Is it really better for you to develop communication in gRPC instead of REST?โ The answer I didnโt want to get came immediately: โAbsolutely yes.โ
- thenewstack.io: A Platform for Kubernetes Kubernetes community can greatly benefit from internal developer platforms to simplify its adoption and day-to-day usage.
- blog.devgenius.io: DevOps in K8s โ Deployment Rolling Update DevOps in K8s bootcamp series
- medium.com/@walissonscd: Creating a Kubernetes Pod with Multiple Containers and a Shared Volume ๐
- devopscube.com: Kubernetes Daemonset: A Comprehensive Guide
- medium.com/@rphilogene: Turning Kubernetes into a Developer-Friendly Product
- linkedin.com: DAY 01: Kubernetes : Understanding Architecture, Components, Installation and Configuration
- medium.com/@vvsevel: A Guide to Kubernetes Application Resource Tuning โ part 1 This 3-part series aims at providing a good understanding of container resource sizing in Kubernetes. It also includes a case study with 50m VMs and guides you through the thought process of selecting the right requests and limits for memory and CPU.
- medium.com/@vinothiniraju: Streamlining Kubernetes Deployment with Ready-Built Developer Platform
- faun.pub: Kubernetes Nginx Deployments: Simplified Management and Increased Scalability
- semaphoreci.com: Understanding ReplicaSet vs. StatefulSet vs. DaemonSet vs. Deployments Explore the differences between them, so that you can understand how exactly we use each set, how they differ from each other, and the purpose that each serves.
- medium.com/@a.j.abbott24: Kubernetes: Multi Environment Config Management
- medium.com/@extio: Understanding Kubernetes Annotations: Enhancing Flexibility and Extensibility
- aws.plainenglish.io: $ kubectl get kubernetes -o architecture
- freecodecamp.org: How to Deploy an Application to a Kubernetes Cluster
- medium.com/@kylelzk: Kubernetes Theory - Understanding Kubernetes Components: A Deep Dive
- medium.com/@bijit211987: Kubernetes Roadmap Kubernetes has quickly become the de facto standard for container orchestration and management. As more organizations adopt Kubernetes, there is a growing need for Kubernetes skills and expertise. This comprehensive roadmap will take you from Kubernetes fundamentals all the way to advanced management, security, and governance.
- serokell.io/blog/kubernetes-guide: A Guide to Kubernetes Modern cloud native computing heavily relies on the use of containers and the adoption of Kubernetes. Despite being a relatively new technology, it is deployed by many global enterprises to manage business-critical applications in their production environments. The popularity of Kubernetes is driven by a growing range of features, such as enhanced security, better management of microservices, improved observability, and more efficient scaling and resource use. In this article, we take a look at the essence of technology, its architecture, and its real-world applications.
Kubernetes Jobs Market
- kube.careers: Kubernetes jobs market (Q2 2021) We analyzed all the 113 Kubernetes jobs posted in the past 3 months (Apr-May-Jun 2021) and extracted metrics for:
- Kubernetes salary ranges
- Remote vs office offers
- Popular cloud providers
- kube.careers: Kubernetes jobs market trends for 2021 (Q4) What’s the average salary for a Kubernetes engineer? Do you need a Kubernetes certification to apply for a job? What technologies and cloud providers are often used with Kubernetes? We analyzed 276 Kubernetes jobs from 2021 and found that:
- If you know AWS and Python, the world is your oyster.
- CKA is the top Kubernetes certification. But only a few employers require one.
- Jenkins is more alive than ever.
- Prometheus is synonymous with monitoring. No one comes close.
- Terraform and Ansible lead IaC.
- kube.careers: Kubernetes jobs market trends for 2022 Q2
- What’s the average salary for a Kubernetes engineer?
- What are the skill sets required for a Kubernetes job?
- How much technical experience do you need in the current job market?
- kube.careers: Kubernetes jobs market trends for 2022 Q3
- kube.careers: Kubernetes jobs market trends for 2022 Q4 What’s the average salary for a Kubernetes engineer? It’s โฌ82,554 in Europe & $133,918 in North America. How necessary are certifications? Not as much as you think. A lot more questions answered in our yearly report for 2022
- infoworld.com: How to beat the Kubernetes skills shortage While Kubernetes container management is key to digital transformation, Kubernetes talent is in short supply. Follow these 4 strategies of successful companies to fill the gap.
- medium.com/@dfrancisczok: Introduction to Kubernetes โ other Kubernetes components and abstract concepts | Dave Frank
- levelup.gitconnected.com: Kubernetes 101: Understanding the Basics of Container Orchestration Kubernetes is a container orchestration system that helps you to automates the process of deploying, scaling, and managing containerized apps across multiple hosts
- medium.com/@walissonscd: Understanding Your Kubernetes Cluster
Certified Kubernetes Offerings
The State of Cloud-Native Development
- Cloud-Native Development Survey Details Kubernetes, Serverless Data Detailed data on the use of Kubernetes, serverless computing and more.
Kubernetes Failure Stories
- k8s.af ๐
- thenewstack.io: Kubernetes Horror Stories
- techbeacon.com: Why teams fail with Kubernetesโand what to do about it
- kodekloud.com: Kubernetes Features Every Beginner Must Know
Kubernetes Maturity Model
- fairwinds.medium.com: Kubernetes Maturity Model
- fairwinds.medium.com: An Introduction to the Kubernetes Maturity Model โ How to Use It
- The Fairwinds team developed the Kubernetes Maturity Model over a year ago, and they continue to update and refine it to reflect the five stages you go through in your journey to Kubernetes maturity.
- If the Kubernetes Maturity Model is new to you, this is a helpful introduction and guide on how to use it.
- Before you do anything, consider what a cloud-native journey means to you and your organization. Kubernetes isnโt right for everyone, so make sure you understand where to start and how to prove value by embracing Kubernetes.
- Any maturity model is a process, and youโre likely to move back and forth between phases, and some will take longer than others. Even once youโve reached phase five, youโll always be working on ongoing optimization, removing human error and effort, and improving reliability and efficiency.
Cloud Native Learn by doing platforms
- openshift sandbox
- Kubebyexample.com - kubernetesbyexample.com ๐๐ A free learning platform covering the fundamentals of how to develop, deploy, manage, and automate containers in cloud-native environments.
- https://killer.sh CKS CKA CKAD Simulator
- https://acloudguru.com
- https://cloudacademy.com
- https://cloudyuga.guru
- https://instruqt.com
- https://katacoda.com
- https://kodekloud.com
- https://learning.oreilly.com
- https://play-with-docker.com
- https://play-with-k8s.com
Kubernetes Scalability Thresholds
Kubernetes Installation Methods
- itnext.io: Kubernetes Installation Methods The Complete Guide
- medium.com/@DevOpsfreak: Top 12 Kubernetes Installation Errors You Canโt Afford to Miss Common Errors Encountered During Kubernetes Installation and How to Resolve Them
Kubernetes Knowledge Hubs
- kubernetes.io
- reddit.com/r/kubernetes
- Kubernetes README: kubernetesreadme.com What to Read to Learn More About Kubernetes
- dev-k8sref-io.web.app Kubernetes Reference - k8sref.io
- learnk8s.io: Kubernetes Research. Research documents on node instance types, managed services, ingress controllers, CNIs, etc. A research hub to collect all knowledge around Kubernetes. Those are in-depth reports and comparisons designed to drive your decisions. Should you use GKE, AKS, EKS? How many nodes? What instance type?
- jamiehannaford/what-happens-when-k8s ๐ค What happens when I type kubectl run?
Kubernetes Podcasts
- kubernetespodcast.com
- weave.works: Podcast: Kubernetes has won the enterprise
- kubelist.com/podcast: The Kubelist Podcast Exploring the ever evolving ecosystem of Kubernetes, SIGS, and the CNCF through interviews with the developers and project managers responsible for sandbox, incubating and graduated projects and technologies. Hosted by Replicated CTO, Marc Campbell and Shipyard CEO, Benjie De Groot.
Kubernetes Blogs
- nativecloud.dev
- learnk8s.io/blog
- kubermatic.com
- containerjournal.com
- cloudowski.com
- dev.to/t/kubernetes
- kubernetes-on-aws.readthedocs.io
- opensource.com/tags/kubernetes
- itnext.io/tagged/kubernetes
- thenewstack.io/category/kubernetes
- k21academy.com/category/docker-kubernetes
- weave.works/blog/category/kubernetes
- learnsteps.com/tag/basics-on-kubernetes
- devopscube.com
- thecloudblog.net
- rcarrata.com
- blog.palark.com
Spanish Kubernetes Blogs
Kubernetes Open Source Container Orchestation
- kubedex.com Discover, Compare and Share Kubernetes Applications
- medium.com: A Year Of Running Kubernetes at MYOB, And The Importance Of Empathy
- labs.mwrinfosecurity.com: Attacking Kubernetes through Kubelet
- itnext.io: Successful & Short Kubernetes Stories For DevOps Architects
- platform9.com: Kubernetes CI/CD Pipelines at Scale
- 4 trends for Kubernetes cloud-native teams to watch in 2020
- 5 open source projects that make Kubernetes even better: Prometheus, Operator framework, Knative, Tekton, Kubeflow ๐ Open source projects bring many additional capabilities to Kubernetes, such as performance monitoring, developer tools, serverless capabilities, and CI/CD workflows. Check out these five widely used options
- 4 trends for Kubernetes cloud-native teams to watch in 2020 Today’s software architectural landscape seems to change like the weather. Stay ahead of the curve with these cloud-related trends, including GitOps and service meshes.
- Creating a Kubernetes cloud provider, doesn’t required boiling the ocean
- opensource.com: 5 ways to boost your Kubernetes knowledge
- blog.container-solutions.com: 7 Cloud Native Trends to Watch in 2020
- snyk.io: Shipping Kubernetes-native applications with confidence
- medium: Delivering value on Kubernetes
- blocksandfiles.com: Kubernetes is in a bit of state about state Kubernetes is โfour to five years awayโ from being a stable distribution capable of running stateful apps, according to Redis Labs chief product officer Alvin Richards.
- medium: Then he asked me โIs Kubernetes right for us?โ
- loft.sh: Kubernetes: Virtual Clusters For CI/CD & Testing
- jfrog.com: Kubernetes in Production with Jessica Deen at swampUP 2020
- lambda.grofers.com: Learnings From Two Years of Kubernetes in Production
- medium: 3 Years of Kubernetes in ProductionโHereโs What We Learned
- revistacloudcomputing.com: Los mejores proveedores de Kubernetes
- containerjournal.com: Overcoming Kubernetes Infrastructure Challenges
- medium: Installing cf-for-k8s on a Kubernetes Cluster Running on Digital Ocean If you want to install Cloud Foundry on Kubernetes on Digital Ocean, you might find this article relevant.
- itnext.io: Lessons learned from managing a Kubernetes cluster for side projects (GKE)
- projectcalico.org: Using Kubernetes to orchestrate VMs
- lastweekinaws.com: Is ECS deprecated? Has Kubernetes won?
- opensource.com: 8 Kubernetes insights for 2021 Review the top five Kubernetes articles of 2020, then preview three tools you should learn about in 2021.
- srcco.de: Zalando - Many Kubernetes Clusters instead of 1 huge cluster Running 80+ Kubernetes clusters in production? Yes, Zalando runs 100+ Kubernetes clusters on AWS.
- Each cluster runs in its own AWS account.
- They always create a pair of prod/non-prod clusters per “product community”, i.e. only half of their clusters (50+) are marked as “production” and have full 24x7 on-call support.
- They decided to go with “many” (that’s relative) clusters for various reasons:
- Kubernetes has no strong story for multi-tenancy, having “smaller” clusters mitigates part of this problem
- Some infrastructure is shared per cluster, e.g. Prometheus and the Ingress proxy (Skipper) — this requires appropriate (vertical) scaling of these components, smaller clusters make this easier to handle
- The blast radius is limited — anything going wrong in one cluster (outage, security incident, ..) does not necessarily affect the whole organization
- Cost attribution is easier (every cluster belongs to a cost center)
- The cluster (and its AWS account) serves as a natural trust boundary for access control (you can either deploy via CI/CD to a cluster or not)
- platform9.com: The Gorilla Guide to Kubernetes in the Enterprise Discover key capabilities for Kubernetes at scale.
- A complete Enterprise Kubernetes infrastructure needs proper DNS, load balancing, Ingress, stateful services, K8โs role-based access control (RBAC), integration with LDAP and authentication systems, and more. Once Kubernetes is deployed, day-2 operational challenges and life-cycle management comes into play: monitoring, alerting, troubleshooting, upgrades, security patching, compliance checking and much more.
- The Gorilla guide to Kubernetes in the Enterprise is your resource to ensure the success of your Enterprise Kubernetes projects by thinking through critical decisions around deployment options, day-2 operational considerations, use cases, and choosing your Kubernetes implementation solutions.
- magalix.com: Influencing Kubernetes Scheduler Decisions To ensure maximum possible performance and availability given the infrastructure at hand, the scheduler uses complex algorithms to ensure the most efficient Pod placement. In this article, we discuss how the scheduler selects the best node to host the Pod and how we can influence its decision.
- medium: Making Sense of Taints and Tolerations in Kubernetes
- devopscube.com: 10 Key Considerations for Kubernetes Cluster Design & Setup ๐
- blog.pixielabs.ai: Building Kubernetes Native SaaS applications: iterating quickly by deploying in-cluster data planes
- itnext.io: CKS Exam Series #9 RBAC v2 Kubernetes CKS Example Exam Question Series
- infoq.com: Experts Discuss Top Kubernetes Trends and Production Challenges
- blog.appstack.one: How to run Ghost blog inside Kubernetes
- learnk8s.io: Scaling Celery workers with RabbitMQ on Kubernetes In this article, you will explore how to use Kubernetes and KEDA to scale Celery workers based on the number of messages in a RabbitMQ queue.
- Learn how to set up a metrics pipeline
- How you can drive autoscaling based on metrics from RabbitMQ.
- Why KEDA might be an alternative to prometheus+adapters
- superuser.openstack.org: Run Your Kubernetes Cluster on OpenStack in Production
- andrewlock.net: Series: Deploying ASP.NET Core applications to Kubernetes
- infoq.com: The Evolution of Distributed Systems on Kubernetes What Comes After Microservices:
- Yet Microservices gives us the guiding principles on how to split a monolithic application into separate business domains.
- After that came serverless and Function-as-a-Service (FaaS), where we said we could split those further by operations, giving us extreme scaling - because we can scale each operation individually.
- The author argues that maybe FaaS is not the best model - as functions are not the best model for implementing reasonably complex services where you want multiple operations to reside together when they have to interact with the same dataset.
- Probably, multi-runtime as the author calls it Mecha architecture, where you have your business logic in one container, and you have all the infrastructure-related concerns as a separate container.
- They jointly represent a multi-runtime microservice. Maybe that’s a more suitable model because it has better properties.
- You get all the benefits of microservice. You still have all your domain, all the bounded contexts in one place.
- You have all the infrastructure and distributed application needs in a separate container, and you combine them at runtime.
- Probably, the closest thing that’s getting to that right now is Dapr.
- medium: Graceful shutdown of fpm and nginx in Kubernetes
- fairwinds.com: Over-Provisioned and Over-Permissioned Containers & Kubernetes
- betterprogramming.pub: How to Implement Your Distributed Filesystem With GlusterFS And Kubernetes Learn the advantages of using GlusterFS and how can it help in achieving a highly-scalable, distributed filesystem.
- medium: Scaling Kubernetes with Assurance at Pinterest
- blog.deckhouse.io: How we enjoyed upgrading a bunch of Kubernetes clusters from v1.16 to v1.19
- openshift.com: Topology Aware Scheduling in Kubernetes Part 1: The High Level Business Case
- Kubernetes setup with CRI-O Runtime Example to build Kubernetes Clusters using CRI-O runtime instead of Docker
- blog.min.io: Kubernetes, Consistency and Commoditization - The Way of the Cloud
- hjrocha.medium.com: Add a Custom Host to Kubernetes
- rancher.com: The Three Pillars of Kubernetes Container Orchestration ๐
- qwinix.io: What Is Kubernetes? K8s Uses, Benefits, & More
- thenewstack.io: Governance, Risk and Compliance with Kubernetes
- zhimin-wen.medium.com: Custom Notifications with Alert Managerโs Webhook Receiver in Kubernetes
- harness.io: Introducing Recommendations API: Find Potential Cost Savings Programmatically
- blog.harbur.io: Demystifying stateful apps on Kubernetes by deploying an etcd cluster In this tutorial you will learn how to deploy an etcd cluster in Kubernetes
- blog.kintone.io: Rebooting a LOT of Kubernetes nodes in a declarative way
- infoworld.com: How Kubernetes works If you want to understand containers, microservices architecture, modern application development, and cloud native computing, you need to understand Kubernetes.
- infoq.com: Cloud Native and Kubernetes Observability: Expert Panel
- kubernetes.io: Don’t Panic: Kubernetes and Docker
- thenewstack.io: Exploring the New Kubernetes Maturity Model
- blog.bandowski.eu: Tools that should be used in every Kubernetes cluster ๐
- ArgoCD for deploying your resources the GitOps way
- MetalLB in case you need a load balancer when running Kubernetes on-prem and not in a cloud
- external-secrets to easily sync the secrets of your external secret manager with your Kubernetes cluster
- cert-manager ๐ to easily retrieve and/or generate new certificates on the fly
- external-dns to manage your DNS entries automatically
- redhat.com: Building containers by hand: The PID namespace The PID namespace is an important one when it comes to building isolated environments. Find out why and how to use it.
- infoq.com: The Kubernetes Effect
- dustinspecker.com: iptables: How Kubernetes Services Direct Traffic to Pods
- dustinspecker.com: Scaling Kubernetes Pods using Prometheus Metrics ๐ one of Kubernetes many features is auto-scaling workloads. Typically, Horizontal Pod Autoscalers scale pods based on CPU or memory usage. During other times we could better scale by using custom metrics that Prometheus is already scraping. Fortunately, Horizontal Pod Autoscalers can support using custom metrics. Iโm a fan of the kube-prometheus ๐ project, but it wasnโt apparent how to set up a Horizontal Pod Autoscaler using custom metrics. This post walks through:
- Deploying kube-prometheus (Prometheus operator, Prometheus adapter, Grafana, and more)
- Creating a custom metrics APIService
- Configuring Prometheus adapter to support our custom metrics
- Deploying a Horizontal Pod Autoscaler for Grafana using a custom metric
- dev.to: How to switch container runtime in a Kubernetes cluster
- digizoo.com.au: How to Master Admission Webhooks In Kubernetes (GKE) (Part One) Admission webhooks are HTTP callbacks that receive admission requests (for resources in a K8s cluster) and do something with them. You can define two types of admission webhooks, validating admission webhook and mutating admission webhook.
- itnext.io: Breaking down and fixing etcd cluster
- itnext.io: Kubernetes: what are Endpoints
- medium.com: Using kubernetes custom resources to manage our ephemeral environments Building a Kubernetes operator with kubebuilder to manage ephemeral environments.
- medium: Running Apache Flink on Kubernetes
- learnsteps.com: How exactly kube-proxy works: Basics on Kubernetes
- medium.com: Connect services across Kubernetes clusters using Teleproxy Teleproxy is a shell script that lets you quickly replace a Kubernetes deployment by a single pod that forwards incoming traffic to another pod running in a destination Kubernetes cluster.
- medium: Kubernetes DNS for Services and Pods
- edgehog.blog: Getting Started with K8s: Core Concepts
- siderolabs.com: Is Vanilla Kubernetes Really Too Heavy For The Raspberry Pi?
- infoq.com: Kubernetes Workloads in the Serverless Era: Architecture, Platforms, and Trends
- blog.kintone.io: Tolerating failures in container image registries This article will show you several ways to ensure your Kubernetes clusters can always pull images even while an upstream registry is failing.
- blog.px.dev: How etcd works and 6 tips to keep in mind
- containerjournal.com: Kubernetesโ True Superpower is its Control Plane
- dev.to: A Deep Dive Into Kubernetes Schema Validation
- tremolosecurity.com: Pipelines and Kubernetes Authentication The Right Way To Authenticate to Your Clusters From Your CI/CD Pipelines:
- Don’t use ServiceAccount tokens outside of your cluster
- Create service accounts inside of your authentication identity provider, assign RBAC privileges
- Easy with Okta and OpenUnison
- usepine.com: Improving cert-manager HTTP01 self-check speed This post describes how to improve cert-manager self-check speed, by pointing the cluster to Google nameservers, and disabling DNS caching
- datree.io: A Deep Dive Into Kubernetes Schema Validation ๐ Great overview of different schema validation tools, incl. server-side ,dry-runโ. But I think with tools like kind in CI itโs actually less of a burden to spin up K8s and do proper server-side validation (which catches all issues as mentioned in the post).
- community.suse.com: Stupid Simple KubernetesโโโDeployments, Services and Ingresses Explained
- infracloud.io: Avoiding Kubernetes Cluster Outages with Synthetic Monitoring Synthetic monitoring consists of pre-defined checks to proactively monitor the critical elements in your infrastructure. These checks simulate the functionality of the elements. We can also simulate the communication between the elements to ensure end-to-end connectivity. Continuous monitoring of these checks also helps to measure overall performance in terms of availability and response times.
- talos-systems.com: Is Vanilla Kubernetes Really Too Heavy For The Raspberry Pi?
- towardsdatascience.com: Kubernetes 101: Cluster Architecture They say a picture is worth a thousand (or a million) words
- blog.kintone.io: Tolerating failures in container image registries ๐
- thenucleargeeks.com: Taints and Tolerations in Kubernetes
- humanitec.com: Benchmark your Kubernetes setup against 500+ other teams and find out how well (or not) you are doing
- devopshubproject/cka-lab This repo contains set of practice questions which will help you to get ready for the cka exam.
- medium: Run Kubernetes Production Environment on EC2 Spot Instances With Zero Downtime: A Complete Guide
- shayn-71079.medium.com: Scaling Kubernetes Clusters The below figure presents a schematic diagram of how cluster auto-scaling is done in AWS EKS clusters.
- itnext.io: Kubernetes Essential Tools: 2021
- thenewstack.io: Living with Kubernetes: Multicluster Management
- tigera.io: Comparing kube-proxy modes: iptables or IPVS?
- fairwinds.com: K8s Clinic: How to Run Kubernetes Securely and Efficiently ๐
- With the adoption of containers, software packaging is increasingly shifting left, which means (depending on your organization) that developers are taking on responsibility for the containerization of applications. Developers may also be responsible for some parts of Kubernetes configuration. As that process shifts left, developers need support to make the right decisions for the organization in order to run Kubernetes securely and efficiently.
- Many companies are adopting cloud native technologies to deliver speed to market. For businesses seeking to compete in today’s marketplace, itโs important to ship new features and meet customer needs where they are โ and increasingly those needs are being met through software.
- weave.works: Production Ready Checklists for Kubernetes ๐
- containerjournal.com: The Rise of the KubeMaster ๐
- It wasnโt obvious while it was happening, probably because everyone was focused on dealing with a global pandemic, but your IT environment became more complex. Cloud technology continued to evolve, and while that was happening, cloud use grew. Hybrid cloud use, already growing before the pandemic, became much more established with a year-over-year annual growth rate of 17.8%, according to Quince Market Insights. And with more distinct technology advances from each of the major cloud service providers, multi-cloud use also became more established.
- This more complex environment encouraged the use of containers, and Kubernetes became the preferred means of managing them. Unfortunately, the great irony of Kubernetes is that the technology created to make the management of modern cloud applications easier is, itself, incredibly difficult to manage. Just to deploy and manage a single application in your own data center requires working familiarity with a Kubernetes distribution and working integrations with a number of supporting systems and enterprise software including code registries, CI/CD, secrets management, storage management, networking, logging and monitoring, service mesh, backup and disaster recovery (DR). Thatโs just for one environment. In a hybrid infrastructure, perhaps using one of the leading cloud service providers such as AWS, Azure or GCP, you could double this overhead.
- This rapid growth combined with immense complexity means not every Kubernetes implementation has been successful, and in the worst cases, misconfigurations have led to security breaches and significant application downtime. Overwhelmed teams with insufficient training only make the problem worse, putting these implementations farther behind as Kubernetes management becomes increasingly difficult. As such, I believe the time is now for a new role to emerge in the enterpriseโKubernetes Manager. This is a job function that more and more companies will need to hire as operating and managing Kubernetes becomes a significantly larger part of the engineering operation than ever before. Let me explain.
- okteto.com: Run your Pull Request Preview Environments on Kubernetes
- allanjohn909.medium.com: Kubernetes Ingress with Traefik, CertManager, LetsEncrypt and HAProxy
- asishmm.medium.com: Discussion on Horizontal Pod Autoscaler with a demo on local k8s cluster
- piotrminkowski.com: Kubernetes Multicluster with Kind and Submariner
- civo.com: Get up and running with Kubeflow on Civo Kubernetes
- blog.palark.com: Failure stories #2. How to destroy Elasticsearch while migrating it within Kubernetes
- dbafromthecold.com: Adjusting pod eviction time in Kubernetes
- doordash.engineering: Gradual Code Releases Using an In-House Kubernetes Canary Controller Gradual code releases with canary deployments and a custom Kubernetes controller
- itnext.io: How to deploy a cross-cloud Kubernetes cluster with built-in disaster recovery ๐
- getambassador.io: Getting Started with Kubernetes for JavaScript Developers
- blog.cloudflare.com: Automatic Remediation of Kubernetes Nodes
- pulumi.com: Kubernetes Fundamentals Part One - Python instead of YAML ๐
- ubuntu.com: How to test the latest Kubernetes 1.22 release candidate with MicroK8s
- thenewstack.io: 10 Steps to a Successful Kubernetes Technical Transformation ๐
- medium: Kubernetes Scaling & Replicas ๐ Whenever we talk about โScalingโ, we need to discuss the states of the application. There are two types: Stateful and Stateless Applications.
- Stateful: A stateful application can remember at least some of the things(from the past) about its state when it runs each time. For example: It stores our preferences, keeps track of window size and location, and remembers what files they have opened recently. Their Attributes are:
- persistence Storage
- gracefully deployment and scaling
- gracefully deletion and termination
- Automated rolling updates
- Stateless: A stateless application requests are self-contained, i.e. everything is contained within the request, and handled in two distinct phases - a โrequestโ and a โresponse.โ Their Attributes are:
- Scaling can be done independently
- Mortal (Kubernetes Pods are mortal. They are born and when they die, they are not resurrected)
- No persistence Storage
- Client Cookies can be used to make service stateless
- Stateful: A stateful application can remember at least some of the things(from the past) about its state when it runs each time. For example: It stores our preferences, keeps track of window size and location, and remembers what files they have opened recently. Their Attributes are:
- cncf.io: Advanced Kubernetes pod to node scheduling In this article, you’ll review some of the use cases for advanced pod scheduling in Kubernetes as well as best practices for implementing it in real-world situations.
- medium: Create A Pod In Kubernetes Cluster Learn what is Pod and how to create a Pod in the Kubernetes cluster.
- cloudsavvyit.com: How to Scale Docker Containers Across Servers Using Kubernetes
- Kubernetes. Label and Selector. Important Topic. Identify object in cluster. CKA Exam Tips
- thenewstack.io: Cloud Foundry Summit: Kubernetes Must Do Better by Developers
- itnext.io: How to create Kubernetes home lab on an old laptop with K3s
- itnext.io: How to deploy a single Kubernetes cluster across multiple clouds using k3s and WireGuard
- itnext.io: How to Add MySql & MongoDB to a Kubernetes .Net Core Microservice Architecture How to add a MySQL DB and a MongoDB replica set in K8S on Docker desktop using persistent volumes and access the databases from ASP.NET Core, C# and Angular
- itnext.io: Expose Open Policy Agent/Gatekeeper Constraint Violations for Kubernetes Applications with Prometheus and Grafana
- thenewstack.io: How Airbnb and Twitter Cut Back on Microservice Complexities
- Some useful and promising Kubernetes projects to follow:
- submarinerio multicluster direct networking
- shipwrightio building container images
- microcksio testing API and messaging
- telepresenceio development tool
- k0sproject new Kubernetes distro
- redkubes.com: DIY Kubernetes-based platform building โ part 3
- hobby-kube/guide ๐ Kubernetes clusters for the hobbyist. This guide answers the question of how to setup and operate a fully functional, secure Kubernetes cluster on a cloud provider such as Hetzner Cloud, DigitalOcean or Scaleway. It explains how to overcome the lack of external ingress controllers, fully isolated secure private networking and persistent distributed block storage.
- wecloudpro.com: Watchers in Kubernetes
- learnk8s.io: Kubernetes wallpapers A collection of free Kubernetes wallpapers for your computer.
- youtube: Tinder’s Move to Kubernetes - Chris O’Brien & Chris Thomas, Tinder
- medium: How to enable Kubernetes container RuntimeDefault seccomp profile for all workloads
- doordash.engineering: Gradual Code Releases Using an In-House Kubernetes Canary Controller
- infoq.com: Six Tips for Running Scalable Workloads on Kubernetes
- Assess managed Kubernetes services for your workloads. Managed services from cloud providers can simplify Kubernetes deployment but create some snags in a multi-cloud model. Follow three steps to see if these services can benefit you.
- itnext.io: Evolution of PaaSes to Platform-as-Code in Kubernetes world
- medium: Wordpress High Availability on Kubernetes Wordpress is configured to support two separate ingress paths โ a private for edits and a public for read-only traffic. By โread-onlyโ, mean that Wordpress is only able to execute SELECTs on the DB. The HA MySQL cluster is accomplished using oracleโs mysql-operator. This makes it extremely easy to handle the master-slave replication for the DB side of things.
- cloudfoundry.org: Deploy A Laravel Application To Kubernetes Using Cloud Foundry This tutorial uses the Google Kubernetes Engine (GKE). However, the steps followed in this guide can be applied to Kubernetes clusters running on any cloud provider, as long as Cloud Foundry (cf-for-k8s) has been installed on it. Also, the series of install steps outlined here can function for any โcomposerโ based PHP application such as Drupal, Symfony, etc.
- thenewstack.io: The State of Kubernetes: Key Challenges and the Role of AI
- learnsteps.com: Basics on Kubernetes: What exactly is a ReplicaSet
- ithands-on.com: Kubernetes 101 : Switching namespaces
- juju.is: Kubernetes and cloud native operations report 2021 Data from 1200 respondents on hybrid and multi-cloud operations, Kubernetes, VMs, bare metal, goals, benefits, challenges, operators, advanced usage, edge, and more.
- medium.com: Tinderโs move to Kubernetes
- blog.palark.com: Best practices for deploying highly available apps in Kubernetes. Part 1
- danielmangum.com: How Kubernetes validates custom resources
- ronaknathani.com: How a Kubernetes Pod Gets an IP Address
- opensource.com: How the Kubernetes ReplicationController works A ReplicationController is responsible for managing the pod lifecycle and ensuring that the specified number of pods required are running at any given time.
- containerjournal.com: When is Kubernetes Service Ownership the Right Fit?
- Why is Kubernetes service ownership emerging as the way for software delivery and operations teams to establish full โownershipโ of the services they support? Because ownership covers the lifespan of software from development to deployment to the sunsetting process. And this shift to full-spectrum accountability brings about dramatic improvements in the overall speed, reliability, security and cost of applications.
- Of course, itโs not always easy to determine which organizations need this level of ownership. When businesses grow, they typically discover that pushing the delivery of applications and services through a gate of operations is challenging at best, impossible at worst. Even so, the DevSecOps mindset is on the rise, which means teams are now seeking ways to make this type of shift into more meaningful and effective ownership. It is the shift that enables a deep fundamental change to occur within an organization.
- itnext.io: Kubernetes โ Running Multiple Container Runtimes In this post, you’ll learn how to run multiple OCI container runtimes on Kubernetes. You will see how to configure containerd to run both runC and Kata Containers
- iximiuz.com: Why and How to Use containerd from the Command Line
- medium: Kubernetes for dummies: introduction. Part 1
- iximiuz.com: Containers vs. Pods - Taking a Deeper Look All pod’s containers run on the cluster node, their lifecycle is synchronized, and mutual isolation is weakened to simplify the inter-container communication. A deep-dive into how containers work in a Pod.
- kubermatic.com: The Ultimate Checklist for Running Kubernetes in Production
- vadosware.io: So you need to wait for some Kubernetes resources? There are at least two ways to wait for Kubernetes resources you probably care about: kubectl wait for Pods, initContainers for everything else
- vxav.fr: Interacting with containerd runtime for kubernetes
- medium: Exploring Kubernetes Node Architecture
- mayankshah.dev: Demystifying kube-proxy
- arthurchiao.art: Cracking kubernetes node proxy (aka kube-proxy) This post analyzes the Kubernetes node proxy model, and provides 5 demo implementations (within couples of lines of code) of the model, each based on different tech-stacks (userspace/iptables/ipvs/tc-ebpf/sock-ebpf).
- blog.brujordet.no: Using custom hardware in kubernetes
- technos.medium.com: Kubernetes Workflow for Absolute Beginners
- cloud.google.com: The past, present, and future of Kubernetes with Eric Brewer
- kmitevski.com: Writing a Kubernetes Validating Webhook using Python
- medium.com/@hinsulak: Multi-node lightweight Kubernetes setup
- kubernetes.io: Kubernetes is Moving on From Dockershim: Commitments and Next Steps
- blog.px.dev: Where are my container’s files? Inspecting container filesystems
- medium.com/codex: How to Deploy WordPress On Kubernetes โ Part 2 Learn how to deploy the WordPress on Kubernetes and connect with MySQL Pod.
- freecodecamp.org: Learn Kubernetes and Start Containerizing Your Applications
- komodor.com: Kubernetes Nodes โ The Complete Guide K8s node is a machine that runs containerized workloads as part of a K8s cluster. Node can be physical machine or VM, and hosted on-prem or in the cloud..Cluster can have large number of nodes -upto 5,000 nodes
- medium.com/techbeatly: Chain of events behind a running Pod What exactly happens behind the scenes when you create a pod/deployment?
- thenewstack.io: What Does It Take to Manage Hundreds of Kubernetes Clusters?
- medium.com/pareture: Kubernetes Scaling, Capacity and Resource Planning in Complex Clusters
- blog.runx.dev: 3 Things I Hate About Kubernetes
- devopslearners.com: What is a Kubernetes Ephemeral Container?
- opensource.com: A visual map of a Kubernetes deployment Gain a better understanding of Kubernetes by looking at the 10 steps that take place when you create a pod or a deployment.
- devopslearners.com: Different Container Runtimes and Configurations in the same Kubernetes Cluster
- itnext.io: Measuring Patching Cadence on Kubernetes with GitOps
- thenewstack.io: The Rush to Fix the Kubernetes Failover Problem
- vidhitakher.medium.com: Understanding the Kubernetes cluster components Component-wise deep-dive into Kubernetes cluster architecture
- medium.com/@kennethtcp: How to spread replica pods into nodes evenly by topologySpreadConstraints
- medium.com/@norlin.t: Build a managed Kubernetes cluster from scratch โ part 1
- medium.com/@norlin.t: Build a managed Kubernetes cluster from scratch โ part 2
- medium.com/@norlin.t: Build a managed Kubernetes cluster from scratch โ part 3
- medium.com/@norlin.t: Build a managed Kubernetes cluster from scratch โ part 4 Implementing a first stage of Service Mesh
- medium.com/@norlin.t: Build a managed Kubernetes cluster from scratch โ part 5
- topcloudops.com: Kubernetes Security, Rootless Containers Understanding docker and how to run container safely without compromising the host.
- topcloudops.com: Kubernetes Draining Nodes Properly We describe the best way to drain without downtime
- medium.com/devops-mojo: Kubernetes โ Open Standards (OCI, CRI, CNI, CSI, SMI, CPI) Overview
- itnext.io: Introduction to Kubernetes extensibility
- faun.pub: Deep into Container โ How Kubernetes works with Container Runtime In this article, you’ll learn how Kubernetes uses the Container Runtime to create containers. You will also discuss different types of container runtimes.
- blog.axiomio.com: Seven Kubernetes Trends to Watch in Upcoming Years
- vivek-syngh.medium.com: Running Highly Available Apps on Kubernetes In this blog post, you’ll learn a few tips for running highly available applications on Kubernetes:
- Using deployments
- RollingUpdate update strategy
- Spreading pods
- Pod disruption budgets
- medium.com/@Paddy_Adallah: How to Choose Kubernetes Platforms for Enterprise Deployments
- sunnykkc13.medium.com: Deep Dive into Kubernetes
- medium.com/@issy972: Balancing reliability, cost and performance with Kubernetes
- imoisharma.medium.com: How Leader election works in Kubernetesโ By M. Sharma In this post, you’ll learn how you can use Kubernetes to easily perform leader elections in your distributed application
- howtogeek.com: How to Clean Up Old Containers and Images in Your Kubernetes Cluster An active Kubernetes cluster can accumulate old containers and images. Ensuring discarded resources are removed when redundant helps to free up resources on your clusterโs nodes. Hereโs how to approach garbage collection in Kubernetes
- medium.com/blablacar: Operating Node.js in Kubernetes at scale at BlaBlaCar In this case study, you will learn how BlaBlaCar uses CPU and memory metrics and other Kubernetes features to configure scaling for Node.js apps
- infoworld.com: How to beat the Kubernetes skills shortage While Kubernetes container management is key to digital transformation, Kubernetes talent is in short supply. Follow these 4 strategies of successful companies to fill the gap.
- blog.kubesimplify.com: DIY: How To Build A Kubernetes Policy Engine With the help of Kubernetes Admission Controller, Go, cert-manager and ko!
- faun.pub: Git Clone using Init-container | Kubernetes
- itnext.io: K8s Tips: Accessing the API Server From a Pod Donโt let this happen unless it is really necessary
- medium.com/@tamerberatcelik: When and why to use Kubernetes?
- kymidd.medium.com: Letโs Do DevOps: EKS K8s & Python Fuzzy Staging with AWS Secrets Manager, K8s Init disk, Secrets Injection In this tutorial, you’ll learn how to create a python program that uses IAM for Service Account to search for secrets in Secrets Manager and store them in a volume. The script can be used as an init container to inject secrets into any pod.
- medium.com/geekculture: K8s โ Kubelet The kubelet is the primary โnode agentโ that runs on each node. It can register the node with the apiserver using one of: the hostname; a flag to override the hostname; or specific logic for a cloud provide
- medium.com/@AceTheCloud-Abhishek: 50 Shades of Containers and Kubernetes
- dev.to: How to make exclusive locks in Kubernetes In this tutorial, you will learn how to protect an application deployed in Kubernetes from any modifications โ except if those modifications are coming from a predefined actor - https://github.com/robert-nemet/klock
- faun.pub: Optimize Kubernetes Resource Management with Time-To-Live (TTL) for Cleaner Cluster Streamline Kubernetes Resource Management: Learn How to Use Time-To-Live (TTL) to Keep Your Cluster Clean and Optimized.
- github.com/genuinetools: contained.af A stupid game for learning about containers, capabilities, and syscalls.
- abhii85.hashnode.dev: How to get started with K8s contributions In this article, you’ll explore how to contribute to the Kubernetes project, discuss the skills you need to get started and learn the best ways to get your first Pull Request accepted
- itnext.io: Kubernetes Sandbox Environments with Virtual Clusters Achieving strong isolation without sacrificing resource utilization with Virtual Clusters.
- medium.com/@alexmogfr: ZEvent Place: How we handled 100k+ CCU on a real-time collective canvas In this case study, you will learn how Alexandre & William designed and scaled a Kubernetes cluster to 250k concurrent users for a charity event
- blog.devgenius.io: DevOps in K8s โ Pod Cgroups DevOps in K8s bootcamp series
- engineering.prezi.com: How to avoid global outage โ Seamlessly migrating DaemonSet labels In this case study, you’ll learn how the team at Prezi managed to update the CSI driver installed as DaemonSet. This required working around the immutable
spec.selector.matchLabel
andspec.template.metadata.labels
fields. - medium.com/trendyol-tech: Kubernetes IO Problem Investigation During one of the load tests, the team at Trendyol ran into a latency issue between two APIs deployed in Kubernetes. In this case study, you will learn how the team narrowed down the issue to cAdvisor and IO operations.
- github.com/kairos-io/kairos: Kairos - Kubernetes-focused, Cloud Native Linux meta-distribution The immutable Linux meta-distribution for edge Kubernetes. With Kairos, you can build immutable, bootable Kubernetes and OS images for your edge devices as easily as writing a Dockerfile. Optional P2P mesh with distributed ledger automates node bootstrapping and coordination.
- medium.com/@GranulateIntel: The Fundamental Principles of Kubernetes Capacity Management
- thenewstack.io: Optimizing Kubernetes for Peak Traffic and Avoiding Setbacks Machine learning and automation can help platform teams tame complexity and meet user demand with confidence.
- tech.bigbasket.com: Atlas: Streamlining BigBasketโs 40+ lines of testing across 80+ Microservices in Non-Production Environments BigBasket’s non-prod setup is complex due to multiple environments and service versions (each service can run multiple versions of itself). Learn how the team solved this with a custom proxy, header-based routing, and automated Nginx config generation.
- hervekhg.medium.com: 3 years managing Kubernetes clusters, my 10 lessons
- medium.com/@.anders: Lessons From Our 8 Years Of Kubernetes In Production โ Two Major Cluster Crashes, Ditching Self-Managed, Cutting Cluster Costs, Tooling, And More In this case study, you will find the (hard) lessons learned from running Kubernetes in production for eight years: two major cluster crashes, ditching self-managed offerings, cutting cluster costs, tooling, and more
- trstringer.com: What Determines if a Kubernetes Node is Ready?
- medium.com/@bgrant0607: Advantages of storing configuration in container registries rather than git ๐
- medium.com/@jainal: Mastering Graceful Shutdown in Distributed Systems and Microservices This article discusses the importance of mastering graceful shutdown in distributed systems and microservices. It provides strategies for implementing graceful shutdown and explains its context in Kubernetes integration.
- rpadovani.com: How Kubernetes picks which pods to delete during scale-in Have you ever wondered how K8s choose which pods to delete when a deployment is scaled down? Given it is not documented, I dived in the source code to learn.
KubeCon
kubeconfig
- medium: Mastering the KUBECONFIG file
- rcarrata.github.io: Regenerating Kubeconfig for system:admin user in OpenShift clusters You missed your kubeconfig file of your OpenShift cluster? Your dog ate your kubeconfig file? No worries! Letโs regenerate it in a easy and automated way!
- devopscube.com: Kubeconfig File Explained With Practical Examples ๐
- iamunnip.medium.com: Merging kubeconfig Files
Kubernetes Manifests
- medium.com/@yogitakothadia: A Manifest File in Kubernetes Learn the basics of the manifest file in Kubernetes.
- betterprogramming.pub: Setup Microservices on Kubernetes โ Write a Configuration File Deployed the microservice to Kubernetes
- faun.pub: Understanding the Kubernetes Manifest
Docker and Kubernetes
- kruyt.org: Migrate from Docker to Containerd in Kubernetes
- opensourcerers.org: How to go from Docker to Kubernetes the right way ๐
- loft.sh: Docker Compose to Kubernetes: Step-by-Step Migration ๐
- linuxtechi.com: How to Setup Private Docker Registry in Kubernetes (k8s)
- itnexst.io: Docker and Kubernetes โ root vs. privileged
- containerjournal.com: Best of 2020: How Docker and Kubernetes Work Together
- blog.sighup.io: How to run Kubernetes without Docker Sooner or later this moment had to come, and it finally has: Kubernetes is deprecating Docker as a Container Runtime Interface in favor of the other supported runtimes. Let’s try to explain why Docker seems really replaceable.
- betterprogramming.pub: How to Migrate From Docker Compose to Kubernetes Move your services from docker-compose files to Kubernetes resources and deploy them
Kubernetes vs Docker
- cloudify.co: Docker Vs. Kubernetes
- kinsta.com: Kubernetes vs Docker: The Difference Explained If youโre trying to decide between Docker and #Kubernetes, youโre unlikely to reach a definitive answer. These two technologies are so fundamentally different that you canโt compare them directly.
Kubernetes vs Docker Swarm
- dynatrace.com: Kubernetes vs Docker: Whatโs the difference?
- imaginarycloud.com: Docker VS Kubernetes? It should be Docker + Kubernetes
- decipherzone.com: Kubernetes vs Docker Swarm: A Container Orchestration Tools Comparison
Kubernetes Admission Controllers
- sysdig.com: Kubernetes admission controllers in 5 minutes
- blog.rewanthtammana.com: Creating Malicious Admission Controllers
- loft.sh: Kubernetes Admission Controllers: What They Are and Why They Matter
- kubernetes.io: Using Admission Controllers to Detect Container Drift at Runtime
- slack.engineering: A Simple Kubernetes Admission Webhook
- blog.nillsf.com: How to run your own admission controller on Kubernetes
- medium.com/@visweswara: What are Kubernetes Admission Controllers?
- medium.com/@jonathan_37674: Kubernetes Admission Controller: The Definitive Guide What is Kubernetes Admission Controller? Kubernetes Admission Controller is an advanced plugin for gating and governing the configuration changes and workload deployment in a cluster.
- pradeepl.com: Introduction to Kubernetes Admission Controllers Admission controllers are a key component of the admission process performed by the Kubernetes API server. They enable fine-grained control over the object creation, update, and deletion process.
Kubernetes Mutating Webhooks
- medium.com/@pflooky: Intro to Kubernetes Mutating Webhooks (get more out of Kubernetes)
- In its simplest terms, a MutatingWebhookConfiguration defines a webhook application to alter a Kubernetes resource when a particular action is taken on it. For example, if I wanted to add particular labels to all the pods that are created, it could be done by a mutating webhook which watches for all CREATE POD events and adds the labels to that pod before it gets deployed.
- Why: As the development teams put larger workloads into Kubernetes, managing all of the resources becomes quite difficult as there may be different deployment patterns and life cycles. Mutating webhooks give you the ability to target changes to any Kubernetes resource regardless of their deployment mechanisms and alter them before or after any point within the life cycle.
- Some use cases where it could be used include:
- Metadata management: include useful metadata about team, environment or type of workload to each Kubernetes resource
- Attaching sidecar processes: add a log listener to particular pods
- Secret management: apply consistent secret retrieval across all resources
- Deployment configuration: could add environment variables or configmaps on the fly to pods
Kubernetes Cloud Controller Manager
Kubernetes Resources
- medium: Kubernetes Resources ๐
- enterprisersproject.com: Managing Kubernetes resources: 5 things to remember Kubernetes automates much of the work of managing containers at scale. But containerized applications commonly share pooled resources, so you need to allocate and manage them properly
- stackify.com: The Advantages of Using Kubernetes and Docker Together
- linuxadvise.com: Kubernetes Node Affinity
- linuxadvise.com: Kubernetes Daemon Sets
- magalix.com: Team Productivity: Resource Management ๐ Resource Requests, Limits and Quota
Kubernetes Pods
- medium.com: kubernetes Pod Priority and Preemption
- itnext.io: K8s prevent queue worker Pod from being killed during deployment How to prevent a Kubernetes (like RabbitMQ) queue worker Pod from being killed during deployment while handling a message?
- medium: How to configure and manage Pod in Kubernetes Cluster (K8s) There are two types of Pods: Single container pod & Multi container pod.
- howtoforge.com: How to create Multi-Container Pods in Kubernetes
- Discovering Running Pods By Using DNS and Headless Services in Kubernetes When retrieving all serviceโs connected pods is desired
- Kubernetes Tip: What Happens To Pods Running On Node That Become Unreachable?
- medium: Kubernetes Pod Redundancy Strategies
- medium: Discovering Running Pods By Using DNS and Headless Services in Kubernetes ๐ When retrieving all serviceโs connected pods is desired.
- iximiuz.com: Service proxy, pod, sidecar, oh my!
- linuxadvise.com: Kubernetes Static Pods
- linuxadvise.com: Kubernetes Pod Security Policy
- medium: Discovering Running Pods By Using DNS and Headless Services in Kubernetes
- medium: Notes on Graceful Shutdown in Kubernetes ๐
- didil.medium.com: Building a Kubernetes Mutating Admission Webhook A โmagicโ way to inject a file into Pod Containers
- thenucleargeeks.com: Introduction to Kubernetes Pods
- speakerdeck.com: Kubernetes Pod internals with the fundamentals of Containers
- kubernetes.io: PodSecurityPolicy Deprecation: Past, Present, and Future ๐
- dustinspecker.com: IPVS: How Kubernetes Services Direct Traffic to Pods
- returngis.net: Organizar los pods en Kubernetes usando taints y tolerations
- medium: How to Schedule Pods on Nodes in Kubernetes
- medium: Kubernetes: Evenly Distribution of Pods Across Cluster Nodes |Puru Tuladhar
- medium: Understanding PodSecurity in Kubernetes
- blog.searce.com: Single Pod Access Mode for Persistent Volumes on Kubernetes This article will explore a new feature introduced by Kubernetes v1.22, a fourth access mode used for CSI volumes.
- thecloudblog.net: Kubernetes Container Lifecycle Events and Hooks
- shramikawale.medium.com: PodsDisruptionBudget: Why you will need in Kubernetes? PodDisruptionBudget is quite important if your team has an Service Level Agreement (SLA). Granted, it is not absolutely mandatory as we discussed before - if the cluster you manage has enough spare capacity in CPU/memory, the rollout can uneventfully finish without impacting the workload more often than not. Nevertheless, it is still a recommended approach to have control in the event of a voluntary disruption.
- bytes.devopscube.com: Kubernetes Pod Priority & Preemption Pod priority is a Kubernetes scheduling feature that allows Kubernetes to make scheduling decisions comparing other pods based on priority number. To assign a pod a certain priority, you need a priority class.
- aws.plainenglish.io: Pods in Kubernetes โ The Smallest Deployable Units of Computing ๐ Understand the basics of pods including the podsโ lifecycle in Kubernetes
- chrisedrego.medium.com: Power of PriorityClass in Kubernetes ๐ PriorityClass ensures that production or mission-critical workloads are allocated resources/nodes on priority over other non-critical resources
- yashwanth-nimmala.medium.com: Kubernetes: Graceful shutdown of SpringBoot Pod
- devopslearners.com: Kubernetes Pod Priority, PriorityClass, and Preemption Explained ๐
- medium.com/@r_chan: Kubernetes Pods Termination Lifecycle
- blog.devgenius.io: K8s โ Core Concept: Pod
- blog.devgenius.io: K8s โ Pod Life Cycle (Part 1)
- blog.devgenius.io: K8s โ Pod Life Cycle (Part 2) In this article you’ll learn Pod status, restart strategy, container initialization, Hooks for Pod, Pod Health check and resource configuration.
- betterprogramming.pub: Understanding Kubernetes Multi-Container Pod Patterns A guide to Sidecar, Ambassador, and Adapter patterns with hands-on examples.
- medium.com/@danielaaronw: K8s Pod Anti-affinity How to ensure high availability when scheduling pods on a kubernetes cluster.
- mouliveera.medium.com: How to update configmap on POD without restart
- devopscube.com: Kubernetes Pod Priority, PriorityClass, and Preemption Explained ๐
- medium.com/@meng.yan: What Happens When Deleting a Pod
- itnext.io: Kubernetes Graceful Shutdown | Daniele Polencic ๐ - community.ops.io: How do you gracefully shut down Pods in Kubernetes? Get tips on smoothly decommissioning your k8s pods. In this article, you will learn what happens when a pod is deleted (voluntarily or not) in the cluster and how Kubernetes handles graceful shutdown.
- nunoadrego.com: Abusing Pod Priority Pod Priority can be useful for some use cases, such as prioritizing critical applications, but definitely can catch you off guard if you don’t have the right guardrails in place. This post illustrates the potential consequences of not having them.
- blog.devgenius.io: DevOps in K8s โ Pod Downward API The K8s Downward API is a feature that allows containers running in a pod to access metadata about themselves and the pod they are running in. This metadata can be exposed as environment variables or as files within the containerโs file system.
- itnext.io: POD rebalancing and allocations in kubernetes | Daniele Polencic ๐๐ Does Kubernetes rebalance your Pods? If there’s a node that has more space, does Kubernetes recompute and balance the workloads?
- kubernetes.io: Protect Your Mission-Critical Pods From Eviction With PriorityClass Pod priority and preemption help to make sure that mission-critical pods are up in the event of a resource crunch by deciding order of scheduling and eviction.
- neonmirrors.net: Reducing Pod Volume Update Times Changes to a Secret of ConfigMap mounted into a pod can take 60 to 90 seconds to propagate to the container. In this article, you’ll discuss how you could speed up the process with a Kyverno policy.
- itnext.io: Kubernetes Scheduler Deep Dive | Daniele Polencic
- kubernetes.io: configure-pod-container / Use a User Namespace With a Pod
- InPlacePodVerticalScaling (kubernetes v1.27): ==engineering.doit.com: No Restarts, No Disruptions: Seamless Pod Resource updates with In-Place Resizing Kubernetes v1.27 introduces InPlacePodVerticalScaling, allowing seamless pod resource resizing without restarts. This feature enhances efficiency, reduces downtime, and offers cost savings
- devopscube.com/kubernetes-pod What is Kubernetes Pod? Explained With Practical Examples
Kubernetes ConfigMaps
- blog.palark.com: ConfigMaps in Kubernetes: how they work and what you should remember ๐
- medium: ConfigMaps in Kubernetes (K8s)
- itnext.io: Working with kubernetes configmaps, part 1: volume mounts
- blog.gopaddle.io: Strange things you never knew about Kubernetes ConfigMaps on day one ๐๐
- k21academy.com: Kubernetes ConfigMaps and Secrets: Guide to Create and Update ๐
- kubermatic.com: Keeping the State of Apps Part 3: Introduction to ConfigMaps ๐
- medium.com/codex: Kubernetes ConfigMaps Explained
- linuxadvise.com: Kubernetes Config Maps
- aditya-sunjava.medium.com: Externalizing Configurations in Kubernetes Using ConfigMap and Secret
- thenewstack.io: How to Make the Most of Kubernetes Environment VariablesEnvironment variables play an important role in Kubernetes. You can use them not only to provide basic information about the operating system to your application, but also as the main configuration mechanism for your pods or for passing sensitive information. Itโs not uncommon in Kubernetes to extract as much configuration as possible as info ConfigMaps and environment variables to keep your Docker images as generic as possible. As you can see, even something simple like environment variables have a few options in Kubernetes.
- medium.com/@shrishtishreya: Kubernetes ConfigMaps Explained A ConfigMap is an API object that lets you store configuration for other objects to use. Unlike most Kubernetes objects that have a spec, a ConfigMap has data and binaryData fields.
- medium.com/open-devops-academy: Learn Kubernetes: ConfigMap โ Inject the values of a ConfigMap in a container as a volume
- thorsten-hans.com: Hot-Reload .NET Configuration in Kubernetes with ConfigMaps
- devopsparthu.hashnode.dev: Day 35: Mastering ConfigMaps and Secrets in Kubernetes
Kubernetes Secrets
- linuxadvise.com: Kubernetes Secrets
- https://blog.newrelic.com/engineering/how-to-use-kubernetes-secrets/
- mixi-developers.mixi.co.jp: Comparing External Secrets Operator with Secret Storage CSI as Kubernetes External Secrets is Deprecated In this article, you will compare the External Secrets Operator with Secret Storage CSI for using external secrets in a Kubernetes cluster. You will compare:
- Architecture
- Authorization management
- Resource usage
- GitOps friendliness
- medium.com/4th-coffee: State of Kubernetes Secrets Management in 2022
- auth0.com: Shhhh… Kubernetes Secrets Are Not Really Secret! Learn how to setup secure secrets on Kubernetes using Sealed Secrets, External Secrets Operator, and Secrets Store CSI driver. Sealed Secrets is a great solution to secure secrets in Git. For larger teams and projects, the External Secrets Operator or the Secrets Store CSI Driver is a better solution to manage secrets securely. Learn the pros and cons in this article.
- faun.pub: Encrypting Kubernetes Secrets at Rest A guideline to encrypt kubernetes secrets data.
- vinothecloudone.medium.com: Kubernetes Configuration Patterns 101
- levelup.gitconnected.com: Kubernetes 101: Secrets
Kubernetes Volumes
Kubernetes Namespaces and Multi Tenancy. Self Service Namespaces
- Self-Service Kubernetes Namespaces Are A Game-Changer ๐
- qvault.io: How to Restart All Pods in a Kubernetes Namespace
- medium: How to create Namespaces in Kubernetes? ๐
- starwindsoftware.com: Remove a Kubernetes namespace blocked with Terminating status
- opensource.com: Configure multi-tenancy with Kubernetes namespaces ๐ Namespaces provide basic building blocks of access control for applications, users, or groups of users.
- Kubernetes Hierarchical Namespace Controller (slides from Kubernetes Multitenancy Working Group) ๐
- kubernetes.io: Introducing Hierarchical Namespaces
- Hierarchical namespaces make it easier to share your Kubernetes cluster. For example, you can create additional namespaces under your team’s namespace, even if you don’t have cluster-level permission to create namespaces
- medium: Kubernetes Multi-Tenancy โ A Best Practices Guide ๐
- vamsitalkstech.com: Kubernetes Multi-tenancy Best Practices & Architecture Model..(2/2)
- loft.sh: Kubernetes Multi-Tenancy: Why Virtual Clusters Are The Best Solution
- kubesphere.io: Kubernetes Multi-tenancy in KubeSphere
- kubernetes.io: Three Tenancy Models For Kubernetes What are your tenancy options with Kubernetes? This post calls out three: by namespace, by cluster, by control plane.
- thenewstack.io: Avoiding the Pitfalls of Multitenancy in Kubernetes
- blog.sighup.io: Hierarchical Namespace Controller (HNC): a look into the future of Kubernetes Multitenancy Hierarchical Namespace Controller (HNC) is bringing a better multi-tenancy model to Kubernetes. In this article we are exploring the current state of the project and useful use-cases.
- vamsitalkstech.com: Introduction to Kubernetes Multi-tenancy..(½)
- asonisg.medium.com: Multi-tenancy with Kubernetes (Part-1)
- openshift.com: The Hidden Dangers of Terminating Namespaces ๐
- medium: Kubernetes Namespaces vs. Virtual Clusters
- engineering.salesforce.com: Project Agumbe: Share Objects Across Namespaces in Kubernetes ๐
- p3r.one: Delete namespace stuck in Terminating State
- loft.sh: Multi-Tenant Kubernetes Clusters: Challenges and Useful Tooling
- infracloud.io: Introduction to Multi-Tenancy in Kubernetes
- redhat.com: Kubernetes architecture: How to use hierarchical namespaces for multiple tenants Hierarchical namespaces make it easier to manage individual tenants’ permissions and capabilities in a multi-tenant Kuberentes architecture.
- kubernetes.io: Multi-tenancy ๐๐๐
- thinksys.com: Understanding Multi-Tenancy in Kubernetes ๐
- containiq.com: Kubernetes Multi-Tenancy | Best Practices in 2022 In Kubernetes, multi-tenancy is when multiple users share a single cluster. In this article, youโll learn when to consider multi-tenancy, its benefits, and how to get the most out of it.
- doordash.engineering: Fast Feedback Loop for Kubernetes Product Development in a Production Environment
- towardsaws.com: Kubernetes Multi-Tenancy Approach Using Minikube For Demonstration. In this article, you’ll compare 2 approaches to multi-tenancy:
- Using RBAC and namespaces
- Using the Capsule operator
- loft.sh: 10 Essentials For Kubernetes Multi-Tenancy
- Resource Limits
- Cost Tracking
- Audit Logging
- Network Policies
- RBAC
- Virtual Clusters
- Pod Security
- Usage Metrics
- Secrets Encryption at Rest
- Policy Engines
- medium.com/@het.trivedi05: Designing Multi-Tenant Applications on Kubernetes
- blog.joshgav.com: Clusters for all! - 16 May 2022 on Multitenancy, Clusters In this article you will compare different tools for multitenancy in Kubernetes:
- vcluster
- Cluster API Provider Nested (CAPN)
- HyperShift
- kcp
- divya-mohan0209.medium.com: Moโ tenancy, Moโ problems. A curated (but not exhaustive) list of FOSS projects addressing multi-tenancy challenges in K8s.
- cast.ai: Kubernetes Namespace: How To Use It To Organize And Optimize Costs
- medium.com/adeo-tech: A walkthrough guide for Multi-Tenancy with GKE
- itnext.io: Multi-Tenancy in Kubernetes | Daniele Polencic ๐๐
- faun.pub: Hierarchical Namespaces in Kubernetes
- blog.jessfraz.com: Hard Multi-Tenancy in Kubernetes (2018)
Kiosk Multi-Tenancy Extension for Kubernetes
- loft-sh/kiosk kiosk Multi-Tenancy Extension For Kubernetes - Secure Cluster Sharing & Self-Service Namespace Provisioning.
- Kubernetes is designed as a single-tenant platform, which makes it hard for cluster admins to host multiple tenants in a single Kubernetes cluster. However, sharing a cluster has many advantages, e.g. more efficient resource utilization, less admin/configuration effort or easier sharing of cluster-internal resources among different tenants.
- While there are hundreds of ways of setting up multi-tenant Kubernetes clusters and many Kubernetes distributions provide their own tenancy logic, there is no lightweight, pluggable and customizable solution that allows admins to easily add multi-tenancy capabilities to any standard Kubernetes cluster.
Creating Users
- cloudhero.io Creating Users for your Kubernetes Cluster. Learn how to use x509 certificates to authenticate users in your cluster.
Kubernetes Labels and Selectors
- sandeepbaldawa.medium.com: K8s Labels & Selectors In this post, we will look at What Kubernetes(K8s) Labels and Selectors are, Why do we need them, How to use them.
- blog.kubecost.com: The Guide to Kubernetes Labels
- millionvisit.blogspot.com: Kubernetes for Developers #8: Kubernetes Object Name, Labels, Selectors and Namespace
- millionvisit.blogspot.com: Kubernetes for Developers #11: Pod Organization using Labels
- linuxadvise.com: Kubernetes Node Selectors
- ithands-on.com: Kubernetes 101 : Changing a Pod’s label on the fly
- blog.newrelic.com: Kubernetes Fundamentals, Part 4: How to Organize Clusters
- cast.ai: Kubernetes Labels: Expert Guide with 10 Best Practices With Kubernetes labels, DevOps teams can troubleshoot issues faster, apply configuration changes en masse, and respond quickly to issues. Labels also give crucial insights into your costs, boosting your monitoring, allocation, and management capabilities. Following best practices when using labels helps you realize tremendous benefits from infrastructure visibility and efficient operations.
- itnext.io: Labels & Annotations in Kubernetes | Daniele Polencic In Kubernetes, you can use labels to assign key-value pairs to any resources. Labels are ubiquitous and necessary to everyday operations such as creating services. However, how should you name and use those labels? - dev.to: Labels and annotations in Kubernetes
Kubernetes Taints and Tolerations
- thenucleargeeks.com: Taints and Tolerations in Kubernetes
- faun.pub: Taints And Toleration Basics In Kubernetes
- blog.learncodeonline.in: Kubernetes Scheduling - Taints and Tolerations
- kamsjec.medium.com: Kubernetes Taints and Tolerations
- trstringer.com: Kubernetes Taints, Tolerations, and Understanding the PreferNoSchedule Effect
- medium.com/@sam.euchaliptus: Tolerations & NodeAffinity for Deterministic Pod Scheduling in Kubernetes A pod relies on the Kubernetes scheduler to be placed in a node. This article explains how you can influence allocation decisions with tolerations and node affinity.
Kubernetes Deployment, ReplicaSet, Rollling Updates and Rollbacks
- medium: How to Deploy a Web Application with Kubernetes Learn how to create a Kubernetes cluster from scratch and deploy a web application (SPA+API) in two hours.
- itnext.io: Kubernetes rolling updates, rollbacks and multi-environments
- linuxadvise.com: Kubernetes Rolling Updates and Rollbacks
- medium: How Rolling and Rollback Deployments work in Kubernetes
- medium: Kubernetes Deployment โ Rolling Updates and Rollbacks Explained Learn how to update the application once created a Deployment in the Kubernetes cluster and how to rollback.
- thenewstack.io: How do applications run on kubernetes?
- deepsource.io: Breaking down zero downtime deployments in Kubernetes An in-depth analysis of deployments in Kubernetes
- k21academy.com: Kubernetes Deployment and Step-by-Step Guide to Deployment: Update, Rollback, Scale & Delete
- medium: Kubernetes Deployment: Connect Your Front End to Your Back End With Nginx
- sbg.technology: Zero-Downtime Kubernetes Deployments
- Zero-Downtime Kubernetes Deployments
- mirantis.com: Introduction to YAML: Creating a Kubernetes deployment
- medium: Kubernetes Deployment Explained Learn what is Deployment in the Kubernetes cluster and learn the advantages of the Deployment object.
- redhat.com: 10 considerations for Kubernetes deployments - Checklist
- learnk8s.io: Graceful shutdown and zero downtime deployments in Kubernetes In this article, you will learn how to prevent broken connections when a Pod starts up or shuts down. You will also learn how to shut down long-running tasks gracefully.
- thoughtbot.com: Zero Downtime Rails Deployments with Kubernetes
- medium: Deployment types in Kubernetes
- hackernoon.com: How To Deploy Code Faster Using Kubernetes
- fosstechnix.com: Rolling out and Rolling back updates with Zero Downtime on Kubernetes Cluster
- medium: 5 Things We Overlooked When Deploying Our First App on Kubernetes
- Our Journey to Zero Downtime Rolling Updates with Ambassador In this article you will cover: How Kubernetes lifecycle hooks can be used to shutdown applications gracefully. How pods are removed from the system and why it is necessary to understand and carefully handle the shutdown sequence appropriately.
- medium: Kubernetes Tip: How Statefulsets Behave Differently Than Deployments When Node Fails? What happens to the Pods when a node fails in Kubernetes?
- learnsteps.com: Basics on Kubernetes: What exactly is a deployment?
- polarsquad.com: Check your Kubernetes deployments!
- yankeexe.medium.com: How Rolling and Rollback Deployments work in Kubernetes
- medium.com/okteto: Beginnerโs Guide to Kubernetes Deployments
- blog.devgenius.io: Zero downtime deployment with Kubernetes using Rolling update Strategy
- dinushad92.medium.com: Building a resilient deployment on Kubernetes-part 3: Keep the deployment up to date with the latest releases In this article, you’ll learn the two strategies to update a Kubernetes deployment and their benefits:
- Rolling update
- Recreate
- medium.com/@chamakenjefi: Kubernetes deployments using a ConfigMap with a custom index.html page
- medium.com/@vrnvav97: Canary Deployment in Kubernetes Canary deployment is pattern used to rollout changes to apps in controlled & safe manner. It involves releasing new version of app to a subset of users/nodes, allowing new version to be tested in prod-like environment.
- lovethepenguin.com: Kubernetes: How to Create a deployment
- medium.com/@the.nick.miller: Custom Deployments with Kubernetes
- amolmote.hashnode.dev: ReplicaSet & Deployment In Kubernetes ๐ In this article, you’ll learn the basic concepts of the ReplicaSet and Deployment, how they are different and when you should use one or the other
- teplyheng.medium.com: Understand the difference between Deployments and ReplicaSet ๐
- teplyheng.medium.com: In-depth understanding of Deployments in Kubernetes When running apps on Kubernetes, most of you must have used Deployments to manage ReplicaSet and Pods. However, itโs hard to say that weโve used Deployments effectively.
- levelup.gitconnected.com: Kubernetes 101: Deployment vs Statefulset
- routerhan.medium.com: Understanding Kubernetes Deployment โ A Beginnerโs Guide In K8s, a Deployment is a resource object that defines the desired state of an app or workload. It provides a way to declaratively manage the deployment & scaling of containerized apps.
- blog.devgenius.io: Blue Green Deployment with Kubernetes
- itnext.io: Sticky sessions canary releases in kubernetes Daniele Polencic Sticky sessions or session affinity is a convenient strategy to keep subsequent requests always reaching the same pod.
- learnk8s.io: How do you rollback deployments in Kubernetes? ๐
Kubernetes StatefulSet
- medium: Kubernetes โ Difference between Deployment and StatefulSet in K8s
- kubermatic.com: Keeping the State of Apps 6: Introduction to StatefulSets
- loft.sh: Kubernetes StatefulSet - Examples & Best Practices
- tom-sapak.medium.com: Deployment vs. StatefulSet for stateful applications
- itnext.io: Kubernetes StatefulSet Initialization with Unique Configs per Pod How to mount a unique configuration per pod for a stateful application (e.g. how to mount separate configurations for master and slave database pods)
- niravshah2705.medium.com: Play with volume for statefulsets Unlike Deployments, StatefulSets require some special care if you want to:
- Increase the available storage space
- Move the data to another zone or region
- medium.com/@arton.demaku: Managing Stateful Applications with Kubernetes StatefulSets
Kubernetes DaemonSets
- Getting a shell on each node Learn how you can use a DaemonSet to expose an SSH shell on each node of your cluster (even if you don’t have SSH installed)
- thenewstack.io: Kubernetes DaemonSets: A Detailed Introductory Tutorial
- blog.learncodeonline.in: Kubernetes Scheduling - DaemonSet What is Kubernetes Daemon Set! How it is different from ReplicaSet!
Kubernetes Jobs and Cron Jobs
- ithands-on.com: Kubernetes 101 : Performing tasks in kubernetes - Jobs
- How we learned to improve Kubernetes CronJobs at Scale (Part 1 of 2)
- opensource.com: A beginner’s guide to Kubernetes Jobs and CronJobs Use Jobs and CronJobs to control and manage Kubernetes pods and containers.
- medium: Jobs & Cronjobs in Kubernetes Cluster
- devopscube.com: How To Create Kubernetes Jobs/Cron Jobs โ Getting Started Guide
- containiq.com: Kubernetes Jobs | Use Cases, Scheduling, and Failure Learn more about Kubernetes best practices and job cases. This article will even teach you how to create kubernetes jobs and how to handle failures.
- medium.com/geekculture: Setup a CronJob to execute Kubectl or AWS commands Kubernetes Tricks | AWS CLI | CronJob | Secrets | Backup Databases | Postgres Backup in Kubernetes
- dwdraju.medium.com: Kubernetes Job or CronJob: Which One to Use and When? ๐
- blog.devgenius.io: K8s โ Why Use Job Instead of Pod Directly?
- medium.com/kudos-engineering: Migrating our cron jobs to Kubernetes In this case study, you will learn how the Engineering team at Kudos migrated all of their scheduled tasks to Kubernetes CronJobs
- kubernetes-sigs/kueue: Kubernetes-native Job Queueing Kueue is a set of APIs and controller for job queueing. It is a job-level manager that decides when a job should be admitted to start (as in pods can be created) and when it should stop (as in active pods should be deleted).
- spacelift.io: CronJob in Kubernetes โ Automating Tasks on a Schedule
- medium.com/@abhinav.ittekot: Running Kubernetes jobs with sidecar containers
- github.com/alexellis/run-job Run a Kubernetes Job and get the logs when it’s done ๐โโ๏ธ
- blog.devops.dev: Understanding Jobs and CronJobs in Kubernetes
- infoq.com: The Great Lambda Migration to Kubernetes Jobsโa Journey in Three Parts ๐
Kubernetes Services
- blog.alexellis.io: A Primer: Accessing services in Kubernetes Learn how to access your applications on Kubernetes and the differences between a LoadBalancer, NodePort, port-forwarding and Ingress through examples
- faun.pub: Kubernetes โ Active/Passive Load Balancing with Services There can be a number of reasons one might want to do active/passive load balancing, for example licensing constraints, etc. In this article, you will learn how to do so in Kubernetes using labels and services
- harness.io: Kubernetes Services Explained ๐ This tutorial will explain the difference between four Kubernetes service types, and how you should choose the best one for your application.
- devineer.medium.com: Kubernetes Services Explained
- sharadregoti.com: Kubernetes Services Explained: Cluster IP, NodePort, Loadbalancer, Ingress, Ingress Controllers This article covers:
- How Kubernetes solves Service Discovery
- How a Load Balancer Service provisions a (cloud) Load Balancer
- How a production-ready Kubernetes cluster exposes its apps
- The difference between Ingress & Ingress controllers
- whyk8s.substack.com: Why Services? Could Kubernetes have been built with only Pods and Deployments? What do load balancers and DNS have to do with it?
- medium.com/@ankitrai_13207: Kubernetes: Deployment & Service
- betterprogramming.pub: An Overview to Kubernetes Services Know the different types of Kubernetes Services and Ingress controllers
- nitishblog.hashnode.dev: Kubernetes Services - Your way to connect with your application In this post, you’ll take a closer look at what are Kubernetes services and how they help you to connect with your application running on various Pods. The article includes a complete hands-on demo for a better understanding of Kubernetes Services
- sumanprasad.hashnode.dev: Everything About Kubernetes Services - Discovery, Load Balancing, Networking
- dev.to/vromanov: Kubernetes Services ๐ This article provides an in-depth overview of Kubernetes Services: ClusterIP, LoadBalancer, Headless, and NodePort services. It explains how those facilitate IP assignment, load balancing, and direct communication with specific pods within a cluster.
- blog.devops.dev: Kubernetes Services: Explained with Examples
Kubernetes Deployment Strategies
- youtube: deployment strategies in kubernetes | recreate | rolling update | blue/green | canary
- auth0.com: Deployment Strategies In Kubernetes Learn what are the different deployment strategies available in Kubernetes and how to use them.
- educative.io: A deep dive into Kubernetes Deployment strategies
- weave.works: Kubernetes Deployment Strategies ๐
- sivalabs.in: Kubernetes - Blue/Green Deployments
- medium.com: Kubernetes Canary Deployment #1 Gitlab CI
- semaphoreci.com: Continuous Blue-Green Deployments With Kubernetes
- medium: Fully automated canary deployments in Kubernetes
- auth0.com: Deployment Strategies In Kubernetes Learn what are the different deployment strategies available in Kubernetes and how to use them.
- blog.knoldus.com: Introduction to Kubernetes Deployment Strategies
- dzone: Advanced Kubernetes Deployment Strategies This article reviews concepts in Kubernetes deployment, as well as delves into various advanced Kubernetes deployment strategies, pros and cons, and use cases.
- blog.devgenius.io: Kubernetes Blue-Green Deployment
- prakashkumar0301.medium.com: Blue-Green Deployment with Kubernetes
- emirayhan.medium.com: Kubernetes (k8s) Deployment Strategies
- faun.pub: Kubernetes Deployment Strategies In this post, we will delve into Kubernetes (K8s) deployment concepts and some common strategies, looking at the advantages and disadvantages of each. A suitable deployment strategy enables you to minimize downtime, enhance your customer experience, and increase reliability when releasing your application.
- blog.devgenius.io: Kubernetes Deployment Strategy Explained ๐
- developers.redhat.com: Run the Canary Deployment pattern on Kubernetes ๐ In this activity, you will use basic Kubernetes skills to understand and implement the Canary Deployment.
- blog.werf.io: Canary releases in Kubernetes based on Ingress-NGINX Controller
- medium.com/@bubu.tripathy: Blue-Green Deployment using Kubernetes
- blog.developersteve.com: Canary Deployments in Kubernetes: Safely Releasing New Features with Confidence
Kubernetes API
- kubernetes.io: Kubernetes API
- thenewstack.io: Living with Kubernetes: API Lifecycles and You
- blog.tilt.dev: Kubernetes is so Simple You Can Explore it with Curl
- learndevops.substack.com: Hitting prometheus API with curl and jq ๐ Determine offending pods that use more RAM than requested, causing OOM, with Prometheus and jq.
- thenewstack.io: Kubernetes Is Not Just About Containers โ Itโs About the API ๐
- kubernetes.io: Alpha in Kubernetes v1.22: API Server Tracing
- evancordell.com: 16 things you didn’t know about Kube APIs and CRDs
- martinheinz.dev: Could Kubernetes Pods Ever Become Deprecated? ๐ Could a core object or API in Kubernetes, such as Pod, Deployment or Service be removed and if so, how would that go?
- trstringer.com: Discover Kubernetes API Calls from kubectl
- iximiuz.com: Working with Kubernetes API - Resources, Kinds, and Objects
-
iximiuz.com: How To Call Kubernetes API using Simple HTTP Client ๐๐๐ The new
kubectl create token
command is pretty handy! Updated the article with the simplified way to call the Kubernetes API with curl (or alike).- How to get the API server address
- How to authenticate API server to clients
- How to authenticate clients to API server
- How to call Kubernetes API from Pods
- CRUD operations on resources with cURL
- And more!
-
iximiuz.com: Working with Kubernetes API If you are working in Go with the Kubernetes API, these articles are pure gold. Get the full difference between resources and kinds.
- iximiuz.com: How To Extend Kubernetes API - Kubernetes vs. Django In this article, you’ll learn how to extend Kubernetes API with:
- Kubernetes Custom Resources
- Kubernetes Custom Controllers
- Kubernetes Admission Webhooks
- dev.to: The Kubernetes API architecture | Daniele Polencic ๐
- medium.com/cp-massive-programming: Kubernetes API Server Discovery A little excursion into the Kubernetes API server
- itnext.io: Working with the kubernetes API | Daniele Polencic ๐ Working with Kubernetes API. Learn how to navigate and issue requests to the Kubernetes API with curl or your favourite programming language. Kubernetes exposes a robust API that lets you control every aspect of the cluster. Most of the time, it’s hidden behind kubectl. But, you can also use the K8s API directly. Find out how in this post.
- medium.com/linux-shots: Find Deprecated API Resources used in a Kubernetes Cluster In this article, you will discuss the challenges of how to upgrade clusters with breaking changes and use kube-no-trouble to test the upgrade path.
- blog.jimmyray.io: Discover K8s Through Its APIs In this article, you will learn how to use the Kubernetes APIs through the Swagger UI. You will learn how to retrieve the full config for the kubelet, as well as how to use gron for easier JSON processing.
Multi-Cluster Services API
- thenewstack.io: Extending Kubernetes Services with Multi-Cluster Services API
- kubernetes.io: Introducing ClusterClass and Managed Topologies in Cluster API The Cluster API community is happy to announce the implementation of ClusterClass and Managed Topologies, a new feature that will greatly simplify how you can provision, upgrade, and operate multiple Kubernetes clusters in a declarative way.
Kubernetes Health Checks/Probes. Startup, Liveness, Readiness
- medium: How to Perform Health checks in Kubernetes (K8s)
- If you have a livenessProbe that takes over one second, itโll fail when you update to kubernetes 1.20, because a long-standing bug with how the default was handled has been fixed. You must override the ExecProbeTimeout if your probe takes more than 1s
- Liveness and Readiness Probes for Kubernetes in Phoenix application
- Kubernetes Liveness and Readiness Probes
- loft.sh: Kubernetes Readiness Probes - Examples & Common Pitfalls
- millionvisit.blogspot.com: Kubernetes for Developers #12: Effective way of using K8 Liveness Probe
- millionvisit.blogspot.com: Kubernetes for Developers #13: Effective way of using K8 Readiness Probe
- andrewlock.net: Deploying ASP.NET Core applications to Kubernetes - Part 6 - Adding health checks with Liveness, Readiness, and Startup probes
- itnext.io: Kubernetes Probes: Startup, Liveness, Readiness
- itnext.io: Kubernetes Readiness Probes โ Examples & Common Pitfalls
- youtube: Kubernetes 101: Get Better Uptime with K8s Health Checks
- returngis.net: Pruebas de vida de nuestros contenedores en Kubernetes
- blog.newrelic.com: Kubernetes Fundamentals, Part 2: How to Use Health Checks
- komodor.com: Kubernetes Liveness Probes: A Practical Guide
- martinheinz.dev: Improving Application Availability with Pod Readiness Gates Making sure your app running in Kubernetes is available and ready to serve traffic can be easy with Pod liveness and readiness probes. However, not all applications are built to use probes. Is there any solution for when Pod probes aren’t enough?
- thenewstack.io: Kubernetes Health Checks Using Probes
- faun.pub: Straight to the Point: Kubernetes Probes Both readiness and liveness probe run in parallel throughout the life of a container. Use the liveness probe to detect an internal failure and restart the container (e.g. HTTP server down). Use the readiness probe to detect if you can serve traffic (e.g. established DB connection) and wait (not restart) for the container. A dead container is also not a ready container. To serve traffic, all containers within a pod must be ready.
- guyzsarun.medium.com: Kubernetes Liveness, Readiness Probe Explained
- hmh.engineering: Dive into Kubernetes Healthchecks (part 1) ๐ In this article, you’ll learn about health checks and:
- How Kubernetes validates the state of your app
- How to troubleshoot common issues
- How to configure the deployment manifest of your application to efficiently report its state
- hmh.engineering: Dive into Kubernetes Healthchecks (part 2)
- medium.com/devops-mojo: Kubernetes โ Probes (Liveness, Readiness, and Startup) Overview Introduction to Types of Probes and Configure Health Checks using Probes in Kubernetes.
- doordash.engineering: How to Handle Kubernetes Health Checks In this article, the team at DoorDash shares the lessons learned from not paying enough attention to the Kubernetes probes and how those contributed to an outage during Black Friday
- datree.io: 6 Best Practices for Effective Readiness and Liveness Probes
- containiq.com: Kubernetes Liveness Probe | Practical Guide Itโs often helpful to check if your Kubernetes application responds to requests in a healthy manner. In this post, youโll learn about liveness probes, including when and how to use them.
- thenewstack.io: Kubernetes Probes (and Why They Matter for Autoscaling) ๐ In addition to validating our workloadsโ health, we can use them to monitor and gather information about other events affecting containers.
- faun.pub: Kubernetes Liveness Probes In this article, we will take a look at Liveness Probes in Kubernetes (K8S), with some useful examples. Defining probes correctly can improve pod resilience and availability.
- dev.to: Configure Kubernetes Readiness and Liveness Probes - Tutorial | Pavan Belagatti ๐
- dnastacio.medium.com: The Art and Science of Probing a Kubernetes Container In this article, you’ll learn how to author Kubernetes container probes, with particular attention to the relatively new addition of startup probes to the mix
- medium.com/@eumaho: Setting up readiness and liveness health-check probes in Kubernetes with SpringBoot ๐
- kamsjec.medium.com: liveness and readiness probesโฆ
- dev.to/otomato_io: Liveness Probes: Feel the Pulse of the App This article provides some helpful examples to correctly configure your liveness, startup and readiness probes in Kubernetes
Reserved CPU and memory in Kubernetes nodes
- medium.com/@danielepolencic: In Kubernetes, are there hidden costs to running many cluster nodes? Yes, since not all CPU and memory in your Kubernetes nodes can be used to run Pods.
Kubernetes Quality of Service QOS. Kubernetes Resource and Capacity Management. Capacity Planning. Resource Quotas per namespace, LimitRanges per namespace, Limits and Requests per POD
- cloudtechtwitter.com: Kubernetes Quality of Service (QoS) class Quality of Service (QoS) class to determine which pod to kill first in Kubernetes
- itnext.io: Kubernetes Resource Management in Production Requests, Limits, Overcommitment, Slack/Waste, Throttling
- medium: Ultimate Kubernetes Resource Planning Guide
- learnk8s.io: Setting the right requests and limits in Kubernetes ๐ By far the best read on requests and limits in Kubernetes.
- openshift.com: Sizing Applications in Kubernetes
- magalix.com: Capacity Planning When we have multiple Pods with different Priority Class values, the admission controller starts by sorting Pods according to their priority. What happens when there are no nodes with available resources to schedule a high-priority pods?
- sysdig.com: Kubernetes capacity planning: How to rightsize the requests of your cluster
- kubernetes.io Policy Limit Ranges
- sysdig.com: Understanding Kubernetes limits and requests by example ๐ Choosing the optimal limits for our Kubernetes cluster is key in order to get the best of both energy consumption and costs. In this article, you will learn how to set the right requests and limits for your containers.
- dev.to/aurelievache: Understanding Kubernetes: part 22 โ LimitRange
- dzone: Dive Deep Into Resource Requests and Limits in Kubernetes This article will be helpful for you to understand how Kubernetes requests and limits work, and why they can work in an expected way.
- sysdig.com: How to rightsize the Kubernetes resource limits
- medium: Understanding resource limits in kubernetes: cpu time
- blog.newrelic.com: Kubernetes Fundamentals, Part 1: How to Manage Cluster Capacity with Requests and Limits
- john-tucker.medium.com: Kubernetes CPU Resource Requests at Runtime While it is well documented how CPU resource request impact the scheduling of Pods to Nodes, it is less clear of the impact once Pods (and their Containers) are running on a Node.
- faun.pub: Practical example of how to set requests and limits on Kubernetes
- home.robusta.dev: For the love of god, stop using CPU limits on Kubernetes ๐๐ Do you really understand CPU limits and requests on Kubernetes?
- netdata.cloud: Kubernetes Throttling Doesnโt Have To Suck. Let Us Help! ๐๐ CPU limits are probably the most misunderstood concept in Kubernetes CPU resources allocation and management.
- dnastacio.medium.com: Why you should keep using CPU limits on Kubernetes ๐๐ Or why staying away from unused CPU may be good for your containers.
- komodor.com: Kubernetes CPU Limits and Throttling CPU throttling means that applications are granted more constrained resources when they are near to the containerโs CPU limit.
- github.com/FairwindsOps: Goldilocks is a utility that can help you identify a starting point for resource requests and limits
- levelup.gitconnected.com: How to guess the right size for your Kubernetes Pods? Guessing the right size for your Kubernetes resources and FinOps management using Goldilocks
- medium.com/omio-engineering: CPU limits and aggressive throttling in Kubernetes
- Have you seen your application get stuck or fail to respond to health check requests, and you canโt find any explanation? It might be because of the CPU quota limit. We will explain more here.
- TL;DR: We would highly recommend removing CPU Limits in Kubernetes (or Disable CFS quota in Kublet) if you are using a kernel version with CFS quota bug unpatched. There is a serious, known CFS bug in the kernel that causes un-necessary throttling and stalls.
- hackernoon.com: Kubernetes Resource Quotas
- containiq.com: Kubernetes CPU Limits and Throttling In this post, youโll learn how Kubernetes CPU limits and throttling work, including the core concepts, uses, how to assign resources to containers and pods, and how to troubleshoot issues.
- home.robusta.dev: You can’t have both high utilization and high reliability ๐ Everyone wants high utilization and high reliability. The hard truth about Kubernetes is that you need to pick one or the other. A Kubernetes pod uses 2 CPUs on average and occasionally spikes to 3 CPUs. What should its resource allocation look like? This article explores the answers with a few strategies (and some tradeoffs)
- dev.to: Kubernetes Capacity and Resource Management: It’s Not What You Think It Is ๐ In this article, you’ll learn how to manage resources and capacity in Kubernetes. Takeaways:
- Set Resource Quotas for each namespace;
- Set LimitRanges for each namespace;
- Enforce rations between requests and limits
- faun.pub: Optimize Kubernetes Resource Management with Time-To-Live (TTL) for Cleaner Cluster Streamline Kubernetes Resource Management: Learn How to Use Time-To-Live (TTL) to Keep Your Cluster Clean and Optimized
- itnext.io: Memory Request + Limit in Kubernetes | Daniele Polencic ๐๐ - - community.ops.io: Memory requests and limits in Kubernetes | Daniele Polencic
- In Kubernetes, you have 2 ways to specify how much memory a pod can use:
- Requests โ usually set to the process consumption
- Limits set the max number of resources allowe
- In Kubernetes, you have 2 ways to specify how much memory a pod can use:
- itnext.io: CPU Request + Limit in Kubernetes | Daniele Polencic ๐๐ In Kubernetes, what should I use as CPU requests and limits?
- dev.to/pavanbelagatti: Learn How to Set Kubernetes Resource Requests and Limits
- iceburn.medium.com: Kubernetes Resource Requests and Resource Limits
- home.robusta.dev: When is a CPU not a CPU? Benchmark of Kubernetes Providers and Node Efficiency ๐๐ TLDR: On some cloud providers, you get half the CPU you expect due to burstable nodes. Without burstable nodes, overhead is improved but still significant.
- piotrminkowski.com: Resize CPU Limit To Speed Up Java Startup on Kubernetes In this article, you will learn how to solve problems with the slow startup of Java apps on Kubernetes related to the CPU limit. We will use a new Kubernetes feature called โIn-place Pod Vertical Scalingโ. It allows resizing resources (CPU or memory) assigned to the containers without pod restart. We can use it since the Kubernetes 1.27 version. However, it is still the alpha feature, that has to be explicitly enabled. In order to test we will run a simple Spring Boot Java app on Kubernetes.
- medium.com/@mark.andreev: How to configure Kubernetes memory limits for Java application This article explores the JVM memory structure and flags that can be used to limit memory usage and how those map back to Kubernetes and cgroups v2.
- sosiv.io: A Deep Dive into Kubernetes Resource Requests and Limits
- medium.com/pipedrive-engineering: How we choked our Kubernetes NodeJS services Learn from the Pipedrive engineering team experience how to manage memory and CPU resources properly in NodeJS and Kubernetes without slowing down your services
- medium.com/@eliran89c: For the love of god, learn when to use CPU limits on Kubernetes In this article, you’ll explore how CPU requests and limits work, why they were introduced, and how to monitor CPU usage
- wbhegedus.me: Demystifying Kubernetes CPU Limits (and Throttling) In this article, you will discuss a clear example of CPU throttling on Kubernetes and how you could monitor and fix it
- medium.com/@jettycloud: Making Sense of Kubernetes CPU Requests And Limits
- loft.sh: How to Set Up Kubernetes Requests and Limits
- dev.to: Impacts Of Not Setting Requests, Limits, and Quotas | Michael Levan
- faun.pub: Kubernetes Chronicles:(K8s#04)|K8s Series | POD Resource Request & Limits
- hwchiu.medium.com: Why does my 2vCPU application run faster in a VM than in a container? ๐๐ This article explores the performance of running apps in VMs versus containers. It delves into the impact of CPU limits, thread usage, and CPU distribution, offering insights on how to avoid CPU throttling and improve application performance
- ardanlabs.com: Kubernetes CPU Limits and Go
- medium.com/nordnet-tech: Unlocking Kubernetes Performance with no CPU Resource Limits This article dives into requests & limits and argues that CPU limits are only for preventing the use of CPU leftovers, not to prevent noisy neighbours or to protect your nodes from overallocation
- medium.com/@danielepolencic: Challenge 16: Throttled ๐ CPU limits in Kubernetes are not always obvious and can lead to a spike in latency. To understand why, itโs important to remember how they work. There are two popular articles about (not) setting CPU limits:
- home.robusta.dev: For the Love of God, Stop Using CPU Limits on Kubernetes (Updated)
- dnastacio.medium.com: Why You Should Keep Using CPU Limits on Kubernetes Or why staying away from unused CPU may be good for your containers
- medium.com/@frommeyerc: Containers and the JVM: About CFS and how to deal with it This article explores the interaction between containers, the JVM, and the CFS scheduler in the Linux Kernel. It explains how CPU time is allocated, the impact of CPU requests and limits in Kubernetes, and the consequences of throttling.
- lalatron.hashnode.dev: When Kubernetes and Go don’t work well together ๐ Go is not aware of the limits set for its container, causing some issues not easy to track. This is a story about how I stumbled into one of them. This article discusses an issue in which a pod was repeatedly restarted due to an OOM error. The problem stemmed from Go’s garbage collector not being aware of the container’s memory limits, which caused memory allocation to exceed these limits.
- foxutech.com: Kubernetes Namespace Resource Quota and Limits ๐ - youtube
- medium.com/directeam: Kubernetes resources under the hood โ Part 1 ๐
- medium.com/directeam: Kubernetes resources under the hood โ Part 2 ๐ Do you think that CPU requests are just used for scheduling? Think again. Introducing CPU Shares, and laying the grounds for removing your limits! This 3-part series covers how Kubernetes resources (CPU and memory) work. You will learn the following:
- CFS (Completely Fair Scheduler)
- Pod priorities
- Quality of Services
- How scheduling works
- OOM
- medium.com/directeam: Kubernetes resources under the hood โ Part 3 ๐ Kubernetes resources, breaking the limits! Understand the biggest Kubernetes misunderstanding and why you should remove your CPU limits and unleash your cluster’s full potential
- medium.com/directeam: Kubernetes resources under the hood โ Part 2 ๐ Do you think that CPU requests are just used for scheduling? Think again. Introducing CPU Shares, and laying the grounds for removing your limits! This 3-part series covers how Kubernetes resources (CPU and memory) work. You will learn the following:
- [reddit.com/r/kubernetes: CPU Limits](https://www.reddit.com/r/kubernetes/comments/12he7aa/cpu_limits/]
- gokatalyst.io: Katalyst: A QoS-based resource management system for workload colocation on kubernetes ๐
- stormforge.io: Automated Kubernetes resource management for platform engineering teams to continuously rightsize workloads with HPA compatibility Stop Setting Kubernetes Requests and Limits. Let machine learning and automation do it for you.
- medium.com/@mathieuces: How to calculate CPU for containers in k8s dynamically ? ๐ Learn how to dynamically calculate CPU for containers in Kubernetes using a strategy that optimizes resource allocation by considering average CPU usage and a safety coefficient
- kondense ๐ Kondense is an automated resource sizing tool. It runs as a sidecar in kubernetes pods.
Kubernetes Scheduler. Kube Scheduler
- opensource.com: How the Kubernetes scheduler works Understand how the Kubernetes scheduler discovers new pods and assigns them to nodes.
- medium.com: The Kubernetes Scheduler: this series aims to advance the understanding of Kubernetes and its underlying concepts
- All you need to know to get started with the Kube Scheduler
- medium: K8S - Creating a kube-scheduler plugin The k8s scheduler assigns Pods to Nodes. Then, the attempt to schedule a pod is split into two phases: the Scheduling and the Binding cycle. Learn how you can build a Kube-scheduler plugin from scratch!
- faun.pub: Multiple Schedulers in Kubernetes
Pod rebalancing and allocations. Pod Priorities
- community.ops.io: Pod rebalancing and allocations in Kubernetes ๐ Does Kubernetes rebalance your Pods? If there’s a node that has more space, does Kubernetes recompute and balance the workloads?
- faun.pub: How to utilize priorities in Kubernetes? A powerful feature to save the work-life balance of on-call engineers. Priorities is a fundamental concept in Kubernetes and one reason it is powerful. For instance, in your production environment, you donโt want critical services to be evicted because of less important ones. Using priorities, you can tackle this problem. In this blog, we will learn more about priorities and how we can utilize them the most.
- towardsdatascience.com: Maximizing the Utility of Scarce AI Resources: A Kubernetes Approach Optimizing the use of limited AI training accelerators. The article discusses optimizing GPU and TPU resources with Kubernetes using Pod Priorities. It addresses Kubernetes’ complexities and suggests exploring tools like Kueue and Volcano to manage jobs
Kubernetes etcd
- blog.palark.com: How to modify etcd data of your Kubernetes directly (without K8s API)
- medium: Getting Started with Kubernetes etcd
- sysdig.com: How to monitor etcd Learning how to monitor etcd is of vital importance when running Kubernetes in production. Monitoring etcd will let you validate that things work as expected, while detecting and troubleshooting issues that could take your entire infrastructure down.
- learnk8s.io: How etcd works with and without Kubernetes
- itnext.io: Breaking down and fixing etcd cluster
- medium: ETCD - the Easy Way | Vaibhav Rajput This is a guide which will help you get started with etcd and help you understand how it is used in a kubernetes setup.
- derganodr.medium.com: Rearchitecting Kubernetes for a more resilient Container Orchestration In large etcd clusters, the throughput decreases and the latency increases when there are writes to the database. This also affects Kubernetes since ~30% of all usage of etcd is writing values. This paper describes the issue and offers some workarounds.
- kubernetes.io: Operating etcd clusters for Kubernetes Securing etcd clusters. Access to etcd is equivalent to root permission in the cluster so ideally only the API server should have access to it. It is recommended to grant permission to only those nodes that require access to etcd clusters.
- dev.to: A Detailed Brief About Offence and Defence on Cloud Security - Etcd Risks In this article, you will assess the correct configuration for an etcd cluster in Kubernetes and discuss a few attack scenarios.
Kubernetes Sidecars
- bsucaciu.com: What is a Sidecar?
- medium: Kubernetes โ Learn Sidecar Container Pattern Understanding Sidecar Container Pattern With an Example Project
- ithands-on.com: Kubernetes 101 : Extending the container’s functionalities - Sidecar containers
- atul-agrawal.medium.com: Library vs Service vs Sidecar
- banzaicloud.com: Sidecar container lifecycle changes in Kubernetes 1.18 ๐
- medium: Delaying application start until sidecar is ready Taking advantage of a peculiar Kubernetes implementation detail to block containers from starting before another container starts.
- pauldally.medium.com: Kubernetes โ An Introduction to Sidecars
- thenewstack.io: Sidecars are Changing the Kubernetes Load-Testing Landscape Sidecars don’t just capture traffic. They can replay it as well. They can also transform any metadata, like timestamps, before it sends it to your application.
- saurabhdashora.hashnode.dev: Implementing Sidecar Design Pattern with Kubernetes Pod Build a Git Workflow with Sidecar. In this post, you will cover the theoretical aspects of the sidecar pattern and different use cases. Then, you will implement a complete Git workflow using a Kubernetes pod to demonstrate the sidecar pattern.
- dev.to/fermyon: Scaling Sidecars to Zero in Kubernetes
Kubernetes Annotations
- kubernetes.io: Annotating Kubernetes Services for Humans A Convention for annotations in Kubernetes.
- getambassador.io: Kubernetes Annotations and Labels: Whatโs the Difference?
Kubernetes Best Practices and Tips
- diegolnasc/kubernetes-best-practices ๐ A cookbook with the best practices to working with kubernetes.
- blog.pipetail.io: 10 most common mistakes using kubernetes
- Optimize Kubernetes cluster management with these 5 tips Effective Kubernetes cluster management requires operations teams to balance pod and node deployments with performance and availability needs.
- techradar.com: Three tips to implement Kubernetes with open standards
- 10 most common mistakes when using Kubernetes
- resources - requests and limits
- liveness and readiness probes
- LoadBalancer for every http service
- non-kubernetes-aware cluster autoscaling
- Not using the power of IAM/RBAC
- geekflare.com: 10 Kubernetes Best Practices for Better Container Orchestration
- wideops.com: Kubernetes best practices: Setting up health checks with readiness and liveness probes
- containerjournal.com: 10 Best Practices Worth Implementing to Adopt Kubernetes
- medium: Kubernetes Tip: How Does OOMKilled Work?
- cloud.google.com: Kubernetes Best Practices A collection of blog posts aimed at guide you through the Kubernetes best practices
- releasehub.com: Kubernetes Health Checks - 2 Ways to Improve Stability in Your Production Applications
- stackpulse.com: Kubernetes and SRE: 5 Best Practices for K8s Reliability in Production
- fairwinds.com: Never Should You Ever In Kubernetes: #1 Do K8S The Hard Way
- fairwinds.com: Never Should You Ever In Kubernetes Part 2: Kubernetes Security Mistakes
- fairwinds.com: Never Should You Ever In Kubernetes Part 3: 6 K8s Reliability Mistakes
- fairwinds.com: Never Should You Ever In Kubernetes Part 4: Three K8s Efficiency Mistakes
- stackpulse.com: Challenges of Running Services With K8s Reliably
- blog.lukechannings.com: Mistakes made and lessons learned with Kubernetes and GitOps
- fairwinds.com: An Intro to Kubernetes Best Practices: Start Your K8s Right
- itnext.io: Lifecycle of Kubernetes Network Policies and Best Practices In this blog post, you’ll learn the lifecycle of Kubernetes Network Policies (e.g. creation, editing, governance, debugging)
- learnk8s.io: Kubernetes production best practices A curated checklist of best practices designed to help you release to production.
- github.com/PacktPublishing: Kubernetes in Production Best Practices
- medium: 10 Most Common Mistakes When Using Kubernetes Avoid your cluster from falling over in production by implementing these best practices
- thenewstack.io: 5 Best Practices for Configuring Kubernetes Pods Running in Production
- containiq.com: Setting and Rightsizing Kubernetes Resource Limits | Best Practices Part of managing a Kubernetes cluster is making sure your clusters arenโt using too many resources. Letโs walk through the concepts of setting and rightsizing resource limits for Kubernetes.
- freecodecamp.org: How to Make Your Enterprise Kubernetes Environment Secure, Efficient, and Reliable
- geekflare.com: Diez mejores prรกcticas de Kubernetes para una mejor orquestaciรณn de contenedores
- containerjournal.com: 4 Expert-Level Things I Wish Iโd Known About Kubernetes
- dev.to: Prevent Configuration Errors in Kubernetes
- komodor.com: Four Best Practices to Migrate to Kubernetes (Part 1)
- komodor.com: Five Kubernetes Deployment Best Practices (Part 2) ๐
- Maintaining Good YAML Hygiene (AKA Your K8s Deployment Manifest)
- Stateless Apps FTW!
- Logging, but Specifically for Kubernetes
- Separation of Environments
- Invest in Proper Monitoring
- komodor.com: Five Kubernetes Deployment Best Practices (Part 2) ๐
- bridgecrew.io: 5 common Kubernetes misconfigs and how to fix them
- snapt.net: Best Practices for Load Balancing Kubernetes Containers
- vladimir.varank.in: Making sense of requests for CPU resources in Kubernetes ๐
- harness.io: Kubernetes Mistakes: A Beginnerโs Guide To Avoiding Common Pitfalls
- martinheinz.dev: Keeping Kubernetes Clusters Clean and Tidy ๐ As your cluster grows, so does the number of resources, volumes or other API objects and sooner or later you will reach the limits somewhere. In this article, youโll learn how to keep it clean and tidy.
- onurcill.medium.com: Kubernetes Best Practices
- pionative.com: 6 Important things you need to run Kubernetes in production
- youtube: Common Kubernetes Mistakes - CPU and Memory Requests (part 1) | Robusta
- medium.com/mycloudseries: Must-haves for your Kubernetes Cluster to be Production Ready
- cloudogu.com: Kubernetes least privilege implementation using the Google Cloud as an axample How are you avoiding accidental changes to #kubernetes? This post describes what cloudogu do featuring “kubectl sudo”, ” helm sudo” and “sudo context”.
- blog.runx.dev: 5 Common Kubernetes Mistakes and how to avoid them
- medium.com/@valentin.marlier: How to setup a Managed Kubernetes cluster the good way ?
- hackernoon.com: Kubernetes Cluster Must-Haves To Be Production Ready
- argonaut.dev: Choosing an Optimal Kubernetes Worker Node Size ๐ This post focuses on helping you choose the optimal number of worker nodes and their sizes to run applications reliably while minimizing the waste of resources.
- cncf.io: Kubernetes best practice: How to (correctly) set resource requests and limits
- medium.com/@krishnendupatra: Best practices to achieve Zero downtime on Kubernetes deployments
- levelup.gitconnected.com: How to guess the right size for your Kubernetes Pods? Guessing the right size for your Kubernetes resources and FinOps management using Goldilocks
- itnext.io: Integrating Compliance for Kubernetes Pipeline Security should be at the heart when designing and developing complex and advanced systems targeted at end-users or giant firms. The most efficient way for build a complex application or system is by using microservices and Kubernetes as a containerized deployment engine. As developers and architects, it is our responsibility to make sure we have the best and most secure products and applications to deliver by avoiding any weak points that can be a security threat or a vulnerability to the whole ecosystem. This post provides the best practices to keep in mind when building containerized applications in a CI/CD pipeline.
- medium.com/saas-infra: Stabilize Kubernetes MicroServices โ The Right Resources Settings
- techbeacon.com: 5 Best Practices for Deploying Kubernetes
- Use an Integrated Secrets Vault
- Define Access Controls Using IAM
- Keep Configuration Data Inside K8s Deployments
- Configure Integrated Logging
- Define Resource Minimumsโbut not Maximums
- medium.com/application-driven-infrastructure: Best Practices for Understanding Kubernetes Costs
- collabnix.com: 10 Kubernetes Best Practices to Get You Started As a developer, understanding Kubernetes best practices is crucial to ensure smooth deployments, efficient operations, and enhanced security.
- armosec.io: How to avoid Kubernetes misconfigurations Misconfigurations are quite common in the deployment of Kubernetes if recommendations are not followed. Misconfigurations lead to several issues, including vulnerability to attacks and open access to sensitive information.
- nextplatform.com: Kubernetes Clusters Have Massive Overprovisioning Of Compute And Memory ๐
- thenewstack.io: Does Kubernetes Really Perform Better on Bare Metal vs. VMs? ๐ A detailed comparison of CPU, RAM, storage and network performance between Kubernetes clusters on virtual machines and bare metal.
- dzone.com: Optimizing Kubernetes Clusters for Better Efficiency and Cost Savings ๐ At the core of constructing a high-performing and cost-effective Kubernetes cluster is the art of efficiently managing resources by tailoring your Kubernetes workloads.
Disruptions
- thenewstack.io: Kubernetes: Use PodDisruptionBudgets for Application Maintenance and Upgrades
- medium.com/@visweswara: Pod Disruption Budget โ Budget that can save you One day
- saahitya.hashnode.dev: Pod Disruption Budget(Pdb)
Cost Estimation Strategies
- cncf.io: 5 Problems with Kubernetes Cost Estimation Strategies
- loft.sh: How To Reduce Your Kubernetes Cost
- harness.io: Getting Started with Cloud Cost Optimization
- rancher.com: Gain Better Visibility into Kubernetes Cost Allocation
- loft.sh: Kubernetes Cost Savings By Reducing The Number Of Clusters
- thenewstack.io: 5 Essential Tips to Manage Kubernetes Costs
- opensource.com: 3 ways Kubernetes optimizes your IT budget Automation is not only good for IT, it’s also beneficial to your company’s bottom line.
- thenewstack.io: 5 Expensive Kubernetes Cost Traps and How to Deal with Them
- KubeSurvival Significantly reduce Kubernetes costs by finding the cheapest machine types that can run your workloads
- containerjournal.com: Assessing the True Cost of Kubernetes
- ubuntu.com: Kubernetes Fully Managed โ half the cost of AWS
- learnk8s.io: Kubernetes Instance Calculator ๐๐
- dev.to: Kubernetes Cost Management and Analysis Guide ๐
- hackernoon.com: Reducing Kubernetes Costs
- medium.com/streamotion-tech-blog: Visualising the Cost of Kubernetes
- infoworld.com: Sysdigโs new Cost Advisor aims to cut Kubernetes costs The company claims that the new tool, in combination with its existing Sysdig Monitor, can cut Kubernetes costs by an average of 40%.
kubecost
- Kubecost ๐
- How to track costs in multi-tenant Amazon EKS clusters using Kubecost
- infracloud.io: Kubernetes Cost Reporting using Kubecost
- github.com/kubecost: kubecost-exporter - Running Kubecost as a Prometheus metric exporter
- blog.kubecost.com: Kubecost raises $5.5 million to help teams monitor and reduce their Kubernetes spend
- kubectl-cost is a kubectl plugin that provides easy CLI access to Kubernetes cost allocation metrics via the kubecost APIs. It allows developers, devops, and others to quickly determine the cost & efficiency for any Kubernetes workload
- blog.kubecost.com: AKS Cost Monitoring and Governance With Kubecost
- thenewstack.io: KubeCost: Monitor Kubernetes Costs with kubectl
- rtfm.co.ua: Kubernetes: Cluster Cost Monitoring โ Kubernetes Resource Report and Kubecost In this article, you will explore the Kubernetes Resource Report and Kubecost projects and will dive into the details of how they work
- medium.com/@randhirthakur076: Optimizing Kubernetes Cost Management: A Deep Dive into Kubecost
Architecting Kubernetes clusters. Node Size. Multi Clusters and Hybrid Cloud
- learnk8s.io: Architecting Kubernetes clusters โ how many should you have?
- learnk8s.io: Architecting Kubernetes clusters โ choosing a worker node size This article discusses the pros and cons of having either many small clusters or few large clusters for running a given set of apps.
- itnext.io: Architecting Kubernetes clusters โ choosing a cluster size
- learnk8s.io: Allocatable memory and CPU in Kubernetes Nodes
- docs.google.com - learnk8s.io: Research on the trade offs when choosing an instance type for a kubernetes cluster
- medium: Deploying Kubernetes โ Deciding the size of your nodes
- dzone refcard: Kubernetes Multi-Cluster Management and Governance
- thenewstack.io: A Deep Dive into Architecting a Kubernetes Infrastructure
- thenewstack.io: Manage Multicluster Kubernetes with Operators
- kubernetes.io: Out of the Clouds onto the Ground: How to Make Kubernetes Production Grade Anywhere
- cncf.io: Simplifying multi-clusters in Kubernetes
- platform9.com: Difference Between multi-cluster, multi-master, multi-tenant & federated Kubernetes
- datacenterknowledge.com: The Pros and Cons of Kubernetes-Based Hybrid Cloud
- thenewstack.io: 4 ways to run kubernetes in production
- medium: Individual Kubernetes Clusters vs. Shared Kubernetes Clusters for Development
- nginx.com: Reduce Complexity with Production-Grade Kubernetes
- elastisys.com: What do I need to add on top of Kubernetes?
- platform9.com: Kubernetes Cluster Sizing โ How Large Should a Kubernetes Cluster Be?
- redhat.com: 3 questions to answer when considering a multi-cluster Kubernetes architecture A multi-cluster Kubernetes architecture is complex, but its versatility and resiliency make the tradeoffs worthwhile for large-scale enterprise applications.
- itnext.io: Do You Need Multi-Clusters? ๐ Evaluate CNCF multi-clusters solutions and go our own way.
- In this article, you will discuss the limitations of running a single cluster and the options you have to go multicluster. You will investigate:
- Kubefed
- GitOps
- Karmada
- And compare the pros and cons
- In this article, you will discuss the limitations of running a single cluster and the options you have to go multicluster. You will investigate:
- yashwanth-nimmala.medium.com: Single Cluster vs. Multiple Kubernetes Clusters
Wide Cluster instead of Multi-Cluster
Client Libraries for Kubernetes
Helm Kubernetes Tool
Templating YAML in Kubernetes with real code. YQ YAML processor
- Templating YAML in Kubernetes with real code
- TL;DR: You should use tools such as yq and kustomize to template YAML resources instead of relying on tools that interpolate strings such as Helm.
- If you’re working on large scale projects, you should consider using real code โ you can find hands-on examples on how to programmatically generate Kubernetes resources in Java, Go, Javascript, C# and Python in this repository.
Extending Kubernetes
Adding Custom Resources. Extending Kubernetes API with Kubernetes Resource Definitions. CRD vs Aggregated API
- Custom Resources
- itnext.io: CRD is just a table in Kubernetes
- Use a custom resource (CRD or Aggregated API) if most of the following apply:
- You want to use Kubernetes client libraries and CLIs to create and update the new resource.
- You want top-level support from kubectl; for example, kubectl get my-object object-name.
- You want to build new automation that watches for updates on the new object, and then CRUD other objects, or vice versa.
- You want to write automation that handles updates to the object.
- You want to use Kubernetes API conventions like .spec, .status, and .metadata.
- You want the object to be an abstraction over a collection of controlled resources, or a summarization of other resources.
- Kubernetes provides two ways to add custom resources to your cluster:
- CRDs are simple and can be created without any programming.
- API Aggregation requires programming, but allows more control over API behaviors like how data is stored and conversion between API versions.
- Kubernetes provides these two options to meet the needs of different users, so that neither ease of use nor flexibility is compromised.
- Aggregated APIs are subordinate API servers that sit behind the primary API server, which acts as a proxy. This arrangement is called API Aggregation (AA). To users, it simply appears that the Kubernetes API is extended.
- CRDs allow users to create new types of resources without adding another API server. You do not need to understand API Aggregation to use CRDs.
- Regardless of how they are installed, the new resources are referred to as Custom Resources to distinguish them from built-in Kubernetes resources (like pods).
- github.com/datreeio/CRDs-catalog: CRDs Catalog Over 300 popular Kubernetes CRDs (CustomResourceDefinition) in JSON schema format.
- dev.to: Creating a Custom Resource Definition In Kubernetes | Michael Levan
Krew, a plugin manager for kubectl plugins
- Krew is the plugin manager for kubectl command-line tool.
- itnext.io: Extending Kubernetes Cluster; Kubectl Plugins and Krew
- darumatic.com: Improve Kubectl Command with Krew Krew is a tool that aims to ease plugin discovery, installation, upgrade, and removal on multiple operating systems. This article will show you how easy it is to grab and experiment with existing plugins.
- awstip.com: Essential plugins for Kubectl CLI
- github.com/jordanwilson230: kubectl-plugins A collection of plugins installable via Krew. This repo contains two kubectl plugins:
kubectl exec-as
โ Likekubectl exec
, but offers a--user
flag to exec as root (or any other user)kubectl prompt
โ Displays a warning prompt when issuing commands in a flagged cluster or namespace
-
kubectl trace is now on the krew index!! Go install it now!
kubectl krew install trace
And then just try to snoop into all the file openings:
kubectl trace run -a <yournode> -e 'kprobe:do_sys_open { printf("%s: %s\n", comm, str(arg1)) }'
OpenKruise/Kruise
- openkruise.io
- OpenKruise/Kruise
- thenewstack.io: Introducing CloneSet: A Production-Grade Kubernetes Deployment CRD
Crossplane, a Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions
Kubernetes Community
Community Forums
Kubernetes Special Interest Groups (SIGs)
- Kubernetes Special Interest Groups (SIGs) have been around to support the community of developers and operators since around the 1.0 release. People organized around networking, storage, scaling and other operational areas.
- SIG Apps: build apps for and operate them in Kubernetes
Kubernetes SIG’s Repos
- Kubernetes SIGs Org for Kubernetes SIG-related work.
- ExternalDNS: Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
- Kubernetes-Secrets-Store-CSI-Driver: Secrets Store CSI driver for Kubernetes secrets Integrates secrets stores with Kubernetes via a CSI volume.
- kustomize Customization of kubernetes YAML configurations.
Kubectl Plugins
- Available kubectl plugins
- Awesome Kubectl plugins
- Extend kubectl with plugins
- youtube: Welcome to the world of kubectl plugins
- padok.fr: Getting started with kubectl plugins 5 useful kubectl plugins:
- whoami
- access-matrix
- neat
- tree
- node-shell
- kubectl-trace kubectl trace is a kubectl plugin that allows you to schedule the execution of bpftrace programs in your Kubernetes cluster.
- pixelstech.net: Build a Kubectl Plugin from Scratch
- k8scr A kubectl plugin for pushing OCI images through the Kubernetes API server.
- martinheinz.dev: Making Kubernetes Operations Easy with kubectl Plugins
- kei6u/kubectl-secret-data A kubectl plugin for finding decoded secret data with productive search flags.
- medium: Cool Kubernetes command line plugins
- martinheinz.dev: Making Kubernetes Operations Easy with kubectl Plugins
- github.com/sigstore: k8s-manifest-sigstore kubectl plugin for signing Kubernetes manifest YAML files with sigstore
- kubespy pod debugging tool for kubernetes clusters with docker runtimes
- itnext.io: 6 kubectl plugins you must try Here are six plugins from the plugin management tool for kubectl.
- Kubepug
- Rakkess
- Ketall
- kubectl-Score
- kubectl-tree
- Outdated
- davidB/kubectl-view-allocations kubectl plugin lists allocations for resources (cpu, memory, gpu,…) as defined into the manifest of nodes and running pods.
- Ramilito/kubesess kubesess(ion) is a kubectl plugin for managing sessions. With this plugin, it is possible to have one context per active shell session.
- tonylixu.medium.com: Kubectl โ Plugins Operation K8s kubectl Deep Dive
- kubectl netshoot kubectl netshoot is a kubectl plugin that spins up netshoot: a network troubleshooting Swiss-army knife that allows you to troubleshoot Kubernetes without installing new packages in your containers or cluster nodes
- medium.com/@jerome_tarte: Extend your toolset with Kubectl plugin
Video: Kubectl plugins. Click to expand!
Enforcing Policies and governance for kubernetes workloads with Conftest
- Accelerated Feedback Loops when Developing for Kubernetes with Conftest Learn how to validate Kubernetes resources with Conftest for faster feedback loops
- Deprek8ion is a set of rego policies to monitor Kubernetes APIs deprecations and designed to work with conftest.
- k8s-worker-pod-autoscaler scales the replicas in a deployment based on observed queue length.
- kubectl-prune / kubectl-reap is a kubectl plugin that prunes unused Kubernetes resources.
- kconnect - The Kubernetes Connection Manager CLI kconnect is a CLI utility that can be used to discover and securely access Kubernetes clusters across multiple operating environments. Based on the authentication mechanism chosen the CLI will discover Kubernetes clusters you are allowed to access in a target hosting environment (i.e. EKS, AKS, Rancher) and generate a kubeconfig for a chosen cluster.
- konstraint is a CLI tool to assist with the creation and management of templates and constraints when using Gatekeeper.
- Draino Draino automatically drains Kubernetes nodes based on labels and node conditions. Nodes that match all of the supplied labels and any of the supplied node conditions will be cordoned immediately and drained after a configurable drain-buffer time.
Kubernetes Patterns and Antipatterns. Service Discovery
- github.com/k8spatterns/examples Examples for “Kubernetes Patterns - Reusable Elements for Designing Cloud-Native Applications”
- kubernetes.io: container design patterns
- magalix.com: Kubernetes Patterns - The Service Discovery Pattern
- gardener.cloud: Kubernetes Antipatterns
- dzone.com: Performance Patterns in Microservices-Based Integrations
- developers.redhat.com: Top 10 must-know Kubernetes design patterns
- medium: 10 Anti-Patterns for Kubernetes Deployments Common practices in Kubernetes deployments that have better solutions
- learnsteps.com: How Kubernetes works on reconciler pattern
- learncloudnative.com: Sidecar Container Pattern
- towardsdatascience.com: Kubernetes pattern for applications with external environment configuration Learn how to decouple configuration from the application using git-sync, Kubernetes init-containers, ConfigMaps and volumes.
- codefresh.io: Kubernetes Deployment Antipatterns โ part 1
- codefresh.io: Kubernetes Deployment Antipatterns โ part 2
- iximiuz.com: Service discovery in Kubernetes - combining the best of two worlds
- github.com/sharadbhat/KubernetesPatterns: YAML and Golang implementations of common Kubernetes patterns
- developers.redhat.com: Kubernetes configuration patterns, Part 1: Patterns for Kubernetes primitives
- learnk8s.io: Extending applications on Kubernetes with multi-container pods Can you change an application without changing any code in Kubernetes? You can when you use multiple containers in a single Pod. Developing and deploying new apps in Kubernetes is easy. But what about legacy apps? In Kubernetes, you can use multiple containers in a Pod to change how your application works.
- dev.to: Kubernetes Deployment Antipatterns โ part 1
- ishantgaurav.in: Kubernetes โ Sidecar Container Pattern
- developers.redhat.com: Kubernetes configuration patterns, Part 1: Patterns for Kubernetes primitives
- betterprogramming.pub: 10 Anti-Patterns for Kubernetes Deployments Common practices in Kubernetes deployments that have better solutions
- medium: Kubernetes โ Learn Init Container Pattern Understanding Init Container Pattern With an Example Project.
- weave.works: Tools for Automating and Implementing Cloud Native Patterns
- dzone: Microservices Patterns: Sidecar Learn about Microservice architecture and single responsibility principle, know more on how to achieve it using sidecars.
- dzone: Multi-Container Pod Design Patterns in Kubernetes In Kubernetes, Pods are the single deployable units. If an application is to be deployed, it must be so in a Pod as a container. Learn how to use multi-container pods.
- linkedin.com/pulse: Avoid These Kubernetes Anti-Patterns | Pavan Belagatti
- medium.com/@ehsan-khodadadi: Patterns and anti-patterns for a reliable Kubernetes infra deployment
- medium.com/@seifeddinerajhi: Most common mistakes to avoid when using Kubernetes: Anti-Patterns
Kubernetes Scheduling and Scheduling Profiles
- Kubernetes Scheduling
- Scheduling Profiles
- granulate.io: A Deep Dive into Kubernetes Scheduling
- medium: K8S - Creating a kube-scheduler plugin
Assigning Pods to Nodes. NodeSelector, Pod Affinity and Anti-Affinity
- Affinity and anti-affinity
- blog.kubecost.com: Kubernetes node affinity: examples & instructions Pod scheduling is one of the most important aspects of Kubernetes cluster management. How pods are distributed across nodes directly impacts performance and resource utilization. Kubernetes node affinity is an advanced scheduling feature that helps administrators optimize the distribution of pods across a cluster. This article will review scheduling basics, Kubernetes node affinity and anti-affinity, pod affinity and anti-affinity, and provide practical examples to help you get comfortable using this cluster scheduling feature.
- medium.com/dlt-labs-publication: Kubernetes: Understanding Pod Affinity, Taint & Toleration
- medium.com/@pbijjala: reCap: Elasticity in Kubernetes/GKE ๐๐
- Node affinity, nodeSelector is the simplest way to constrain Pods to nodes with specified labels.
- Pod Affinity, ensures two pods to be co-located in a single node. Whenever higher availability is desired, anti-affinity settings can be used to place pods
- Using taints and tolerations, Taints are the opposite โ they allow a node to repel a set of pods. Tolerations are applied to pods. Tolerations allow the scheduler to schedule pods with matching taints.
- In this article you will cover GKE and:
- Vertical Pod Autoscaler
- Horizontal Pod Autoscaler
- Cluster Autoscaler
- Node auto-provisioning
- Metric server
- Tips and tricks for application developers and cluster operators
- 4sysops.com: Node selector and node affinity in Kubernetes
Pod Topology Spread Constraints and PodTopologySpread Scheduling Plugin
Cloud Development Kit (CDK) for Kubernetes
- cdk8s.io Define Kubernetes apps and components using familiar languages. cdk8s is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs. cdk8s apps synthesize into standard Kubernetes manifests which can be applied to any Kubernetes cluster.
- github.com/awslabs/cdk8s
AWS Cloud Development Kit (AWS CDK)
- AWS: Introducing CDK for Kubernetes
- Traditionally, Kubernetes applications are defined with human-readable, static YAML data files which developers write and maintain. Building new applications requires writing a good amount of boilerplate config, copying code from other projects, and applying manual tweaks and customizations. As applications evolve and teams grow, these YAML files become harder to manage. Sharing best practices or making updates involves manual changes and complex migrations.
- YAML is an excellent format for describing the desired state of your cluster, but it is does not have primitives for expressing logic and reusable abstractions. There are multiple tools in the Kubernetes ecosystem which attempt to address these gaps in various ways:
- kustomize Customization of kubernetes YAML configurations
- jsonnet data templating language
- jkcfg Configuration as Code with ECMAScript
- kubecfg A tool for managing complex enterprise Kubernetes environments as code.
- kubegen Simple way to describe Kubernetes resources in a structured way, but without new syntax or magic
- Pulumi
- We realized this was exactly the same problem our customers had faced when defining their applications through CloudFormation templates, a problem solved by the AWS Cloud Development Kit (AWS CDK), and that we could apply the same design concepts from the AWS CDK to help all Kubernetes users.
Serverless with OpenFaas and Knative
Virtual Kubernetes Clusters
- Virtual Clusters for Kubernetes โ Benefits and Use Cases Virtual Kubernetes clusters could be the next driver for Kubernetes adoption.
- loft-sh.medium.com: How Virtual Kubernetes Clusters Can Speed Up Your Local Development
Multi-Cluster Federation. Hybrid Cloud Setup Tools
KubeFed
- KubeFed: Kubernetes Cluster Federation
- aquasec.com: Kubernetes Federation: The Basics and a 5-Step Tutorial Learn about Kubernetes Federation use cases, how it works, and see how to create your first Kubernetes Federation in 5 steps.
- Kubernetes Federation, or KubeFed, is a tool for coordinating the configuration of multiple clusters in Kubernetes. You can determine which clusters KubeFed will manage, and what their configuration looks like, all from a single group of APIs in the hosting cluster. KubeFed offers low-level mechanisms that can be used as a foundation for increasingly complex production Kubernetes use cases across multiple clusters, such as geographic redundancy and disaster recovery.
- medium.com/expedia-group-tech: Manage multi-cluster Kubernetes infrastructure with Kubefed v2 In this article, you will discuss the need for a multi-cluster architecture and how kubefed solves that. Then, you will deploy an app and proceed to test the setup with a hands-on example
KubeCarrier
Red Hat Operator Lifecycle Manager (OLM)
- Red Hat OLM operator-lifecycle-manager is a management framework for extending Kubernetes with Operators. OLM extends Kubernetes to provide a declarative way to install, manage, and upgrade Operators and their dependencies in a cluster.
Istio Service Mesh
Multi-Regional Architecture
- engineering.monday.com: monday.comโs Multi-Regional Architecture: A Deep Dive Building a global SaaS platform requires lots of preparation, deep evaluation of your request routes and a truckload of R&D cooperation. Here’s how we did it
Kubernetes in Kubernetes
- kubernetes.io: Kubernetes-in-Kubernetes and the WEDOS PXE bootable server farm Learn how you can simplify management of data centers, thousands of physical servers, virtual machines and hosting for hundreds of thousands of sites with Kubernetes-in-Kubernetes (nested Kubernetes clusters)
Kubernetes Scripts
Kubernetes and Ansible
- itnext.io: Automating System Updates for Kubernetes Clusters using Ansible
- Ansible for devops: Kubernetes
Spot instances in Kubernetes
Kubernetes on Windows
- loft.sh: Kubernetes on Windows: 6 Life-Saving Tools & Tips Kubernetes is primarily a Linux technology, so it’s fairly straightforward to run it on different Linux distros. But what about the developers working on Windows who need to run Kubernetes locally?
Kubernetes Incident Report Plan IRP
- cynet.com: Incident Report Plan (IRP)
- kubermatic.com: A Framework for Kubernetes Incident Response
- medium.com/@cloud_tips: Kubernetes Incident Response Incident response is one of the most important aspects of running a Kubernetes deployment. A well-defined incident response plan can help you quickly identify and mitigate issues with your Kubernetes deployment.
Kubernetes Certifications. CKA, CKAD and CKS
- cncf.io: Certified Kubernetes Application Developer (CKAD)
- CKAD-Bookmarks save time in searching docs in CKAD exam
- itnext.io: Tips & Tricks for CKA, CKAD and CKS exams
- bmuschko/ckad-crash-course: Certified Kubernetes Application Developer (CKAD) Crash Course
- jamesbuckett/ckad-questions A set of exercises and solutions to prepare for the Certified Kubernetes Application Developer exam by Cloud Native Computing Foundation.
-
reddit.com/r/kubernetes: CKAD - free materials This collection of useful links and resources is indispensable if you’re thinking of passing the CKAD (Certified Kubernetes Application Developer) course!
- Courses: https://www.edx.org/course/introduction-to-kubernetes
- Exercises: https://github.com/dgkanatsios/CKAD-exercises
- Workshops:
- VIM: Vim Crash Course | How to edit files quickly in CKAD / CKA exam
- Cheatsheet:
- Example questions:
-
kodekloud.com: CKA vs CKAD vs CKS โ What is the Difference
- bmuschko/ckad-prep Exercises demonstrated as part of the video course “Certified Kubernetes Application Developer (CKAD) Prep Course” published by O’Reilly Media.
- blog.jcprz.com: My tips to pass the CKA exam and whatโs next
- medium.com/@vamshisuram: How to crack CKAD exam (part โ 2)
- blog.devgenius.io: Passing the 2023 Certified Kubernetes Administrator (CKA) Exam My experience and strategy for preparing, studying, and taking the exam
- packetpushers.net: KU046: Do Kubernetes Certs Prepare You For Real-World Production?
- mattias.engineer/courses/kubernetes: Certified Kubernetes Application Developer (CKAD) This course is written in a different style than my other certification courses. However, I wrote it while I was preparing for the CKAD exam myself. All of the required material to pass the CKAD is included, with some extra details along the way. This exam is performance based, which means it will not be enough to read about the topics - you must practice performing the commands!
- cloudnativeengineer.substack.com: Prepare for your Certified Kubernetes Administrator exam
Books and eBooks
- developers.redhat.com: Kubernetes Operators
- Kubernetes 101
- learnk8s.io/first-steps
- ubuntuask.com: Best New Kubernetes Books
- suse.com: Kubernetes Management For Dummies Getting Kubernetes up and running is one thing. Managing it successfully is quite another
Kubernetes Patterns eBooks
- k8spatterns.io: Free Kubernetes Patterns e-book , ref
- magalix.com: Free Kubernetes Application Architecture Patterns eBook
Famous Kubernetes ebooks of 2019
- Kubernetes essentials E-book
- Cloud-Native DevOps With Kubernetes O’Reilly book (Free)
- Kubernetes: Up and Running, 2nd Edition Dive into the Future of Infrastructure. By Brendan Burns, Kelsey Hightower, Joe Beda
- Container Security
- digitalocean.com: From Containers to Kubernetes with Node.js eBook
Famous Kubernetes resources of 2019
- Kubernetes for developers
- Kubernetes for the Absolute Beginners
- Kubernetes: Getting Started (Free)
- Kubernetes Tutorial: Learn the Basics
- Complete Kubernetes Course
- Getting started with Kubernetes
Famous Kubernetes resources of 2020
- javarevisited.blogspot.com: Top 5 courses to Learn Docker and Kubernetes in 2020 - Best of Lot
- medium.com: Top 15 Online Courses to Learn Docker, Kubernetes, and AWS for Fullstack Developers and DevOps Engineers
- medium.com: 7 Free Online Courses to Learn Kubernetes in 2020
- skillslane.com: 10 Best Kubernetes Courses [2020]: Beginner to Advanced Courses
Compliant Kubernetes
PCI SSC (Payment Card Industry Security Standards Council)
- en.wikipedia.org: Payment Card Industry Data Security Standard
- elastisys.com: PCI DSS compliance in Kubernetes-based platforms
- container-security.site: PCI Container Orchestration Guidance for Kubernetes The PCI council released (generic) guidance for organizations using tools like Docker and Kubernetes in payment systems. This series of articles is meant to discuss the details and how to apply it specifically to Kubernetes.
Kubernetes Slack Channel
- kubernetes.slack.com
- slack.kubernetes.io is the way to get yourself invited.
Bunch of images
Videos
Click to expand!
Spanish Videos
Click to expand!
Tweets
Click to expand!
Can you change an application without changing any code in Kubernetes?
— Daniele Polencic (@danielepolencic) March 1, 2021
You can when you use multiple containers in a single Pod.
Hereโs a visual recap of @EmanuelMEvans โs article on extending apps on Kubernetes with multi-container pods https://t.co/afS3pPj4zb pic.twitter.com/LS5zOZErbE
What if you could choose the best node for your Kubernetes cluster before writing any code?
— Daniele Polencic (@danielepolencic) September 7, 2021
I built a calculator to choose the optimal instance sizing for your Kubernetes clusterhttps://t.co/3jlyCLrvdq
Discover:
- costs (used, wasted, kubelet)
- overcommitment
- utilisation pic.twitter.com/gdRTEWkez6
THREAD: What happens when you create a Pod in Kubernetes?
— Daniele Polencic (@danielepolencic) August 6, 2020
Spoiler: a surprisingly simple task reveals a complicated workflow that touches several components in the cluster. pic.twitter.com/SNEufo0lBe
THREAD: How to quarantine a Pod in Kubernetes.
— Daniele Polencic (@danielepolencic) June 24, 2020
This technique helps you with debugging running Pods in production.
The Pod is detached from the Service (no traffic), and you can troubleshoot it live.
Let's get started! pic.twitter.com/E7AUh2ylM7
THREAD: How to gracefully shut down Pods without dropping production traffic in Kubernetes
— Daniele Polencic (@danielepolencic) July 6, 2020
If you've ever noticed dropped connection after a rolling upgrade, this thread digs into the details.
Let's start: ๐ธ๐ฉ๐ข๐ต ๐ฉ๐ข๐ฑ๐ฑ๐ฆ๐ฏ๐ด ๐ธ๐ฉ๐ฆ๐ฏ ๐ข ๐๐ฐ๐ฅ ๐ช๐ด ๐ฅ๐ฆ๐ญ๐ฆ๐ต๐ฆ๐ฅ? pic.twitter.com/jS5litVUlw
THREAD: How does the scheduler work in Kubernetes?
— Daniele Polencic (@danielepolencic) September 24, 2020
The scheduler is in charge of deciding where your pods are deployed in the cluster.
It might sound like an easy job, but it's rather complicated!
Let's dive into it. pic.twitter.com/iC1vnargc4
MEGATHREAD
— Daniele Polencic (@danielepolencic) August 26, 2020
Learn Kubernetes one Twitter thread at the time!
Below you can find a collection of threads about Kubernetes and Kubernetes-related tech!
I regularly add more, so you can follow me or @learnk8s for more updates! pic.twitter.com/0ingxHn9vx
THREAD
— Daniele Polencic (@danielepolencic) February 22, 2021
Running new apps in Kubernetes is straightforward.
But what happens when you have legacy apps that:
- Log to file instead of stdout?
- Has no support Prometheus?
- Has no support for HTTPS
Read on โ pic.twitter.com/m79f69Huqw
I'm often asked why I prefer zonal Kubernetes clusters over regional clusters. @gctaylor does a great job explaining how @reddit leverages zonal clusters to limit the blast radius of config changes and reduce cross AZ network traffic. https://t.co/3pW5awTtdQ
— Kelsey Hightower (@kelseyhightower) March 18, 2021
THREAD
— Daniele Polencic (@danielepolencic) March 29, 2021
How do you scale background jobs in Kubernetes?
With Python, Celery, RabbitMQ and KEDA! pic.twitter.com/BOtwiSjIKW
Architecting #Kubernetes clusters: Should you use a single cluster or many clusters for your team(s)?
— appvia (@appvia_io) August 17, 2021
There are pros and cons to both, read the thread to find out more ๐งต pic.twitter.com/1n5ACO97Ay
Unpopular opinion: Kubernetes doesn't have a clear separation between admin and app developer APIs, and we acknowledged this as a source of complexity but maybe this is why it became successful.
— Jaana Dogan ใคใ ใใฌใณ (@rakyll) September 9, 2021
Kubernetes API is a regular HTTP REST API.
— Ivan Velichko (@iximiuz) April 2, 2022
Much like any other API, it can be extended:
- By adding new endpoints
- By adding new request handlers
Adding a new endpoint is as simple as registering a Custom Resource. But how to add a new request handler? ๐ฝ
Tweets 2
Click to expand!
Kubernetes saved us from a world of completely proprietary Cloud APIs and provided a trustworthy basis for an open ecosystem of infrastructure tools and APIs. https://t.co/i67orzir2O
— Ian Lewis ๐๐ (@IanMLewis) September 11, 2021
As more enterprises embrace #containers, theyโll find they need #Kubernetes, too. With our open approach, #K8s does more. Hereโs how: https://t.co/y9TciK53F1 pic.twitter.com/CPWHcy5TOZ
— Nicholas Gerasimatos - Red Hat (@nicholas_redhat) September 23, 2021
๐งตHow do you keep up with Kubernetes?
— Learnk8s (@learnk8s) October 20, 2021
If you are looking for curated Kubernetes news, we have you covered on:
- Core Kubernetes
- Security
- Architecture & development
- Job opportunities
- K3s
Here are the accounts that you should follow: pic.twitter.com/Hcw9BelCsd
@kubernetesio @K8sArchitect K8s Architecture pic.twitter.com/Kbm11a8oMA
— Julien (@MapEngArch) October 24, 2021
How Kubernetes differs from Docker in the way it deals with containers ๐ฝ
— Ivan Velichko (@iximiuz) October 30, 2021
Under the hood, Kubernetes and Docker both rely on the same/similar lower-level components to run containers.
Often, both use containerd and runc. However, Kubernetes makes the container runtime pluggable pic.twitter.com/5daIalpmrt
Does Kubernetes rebalance your Pods?
— Daniele Polencic (@danielepolencic) November 9, 2021
If there's a node that has more space, does Kubernetes recompute and balance the workloads?
๐ค
Let's see! pic.twitter.com/ML7JIGGtrq
As we close out the year, a few 2022 predictions. ๐งต
— Gabe Monroy (@gabe_monroy) December 25, 2021
1. 2022 will be the year where Kubernetes is finally recognized as technology for platform teams enabling product groups, rather than a technology designed for direct end-usage by developers.
Within a kubernetes cluster, what actually pulls down the image from a remote registry?
— Mark Manning (@antitree) January 31, 2022
Wrong answers only please.
For a long time, kubebuilder for me was just a means to scaffold controller projects. But kubebuilder's README says:
— Ivan Velichko (@iximiuz) February 1, 2022
> Kubebuilder is a framework for building Kubernetes APIs.
And finally, I got it! Kubernetes APIs > HTTP APIs.
Eg: A custom controller is a form of an async API.
I am no longer Kubernetes certified. My CKA and CKAD have expired.
— Justin Garrison (@rothgar) March 31, 2022
They were some of the hardest and most valuable certs I got when getting started with Kubernetes.
Highly recommend people check them out if you're getting into cloud or SRE
Kubernetes basics explained by analogy ๐งต
— Ivan Velichko (@iximiuz) July 24, 2022
...or "How Kubernetes Just Repeats Good Old Deployment Patterns"
1. For a long time, people had been deploying services as groups of virtual (or physical) machines.
But VMs were often slow and bulky. Hence, not very efficient. pic.twitter.com/u5c8vmSx4V
When it comes to YAML manifests for Kubernetes, is it Best Practice to create individual YAML files for each object (namespace, secret, configmap, deployment, statefulset...) or do people put everything in the one YAML?
— Michael Cade (@MichaelCade1) August 11, 2022
It's funny: everyone thinks CPU requests are only used for scheduling (WRONG) and memory requests determine who gets OOMKilled (WRONG) but it's actually the opposite!
— Natan Yellin (@aantn) August 27, 2022
At runtime, memory requests do nothing, but CPU requests DO.#kubernetes is funny like that
Reducing infrastructure costs boils down to turning apps off when you don't use them
— Daniele Polencic (@danielepolencic) September 12, 2022
That's easy to do manually, but how to turn them on automatically when you need them?
You can do so with a scale-to-zero strategy
Let me show you how to implement it in Kubernetes pic.twitter.com/YDqbAQlWUK
One of the interesting challenges with Kubernetes is deploying workloads across several regions
— Daniele Polencic (@danielepolencic) September 26, 2022
Let me show you how I orchestrate workloads across Europe, Asia and North America with Kubernetes, Istio and Karmada pic.twitter.com/Ukaqbj8Eek
Kind reminder: If you want to master Containers and Kubernetes, I've got a blog and newsletter for you! ๐
— Ivan Velichko (@iximiuz) October 1, 2022
Blog: https://t.co/9J6Aj8Jn3U
Newsletter: https://t.co/DQyv14T0Nw
The focus is on:
- Clarity
- Fundamentals
- Visual explanations
Here are some recent content samples ๐ pic.twitter.com/f3B7dGhGr1
Kubernetes has two types of resources. Compressible and non-compressible.
— Natan Yellin (@aantn) November 10, 2022
CPU is a compressible resource. K8s can give and take CPUs whenever it likes. Pod that need CPU and don't get it will wait.
Memory is non-compressible. K8s can't take it away without killing the pod. pic.twitter.com/OLfpvjDk17
What happens when you create a Pod in Kubernetes?
— Daniele Polencic โ @danielepolencic@hachyderm.io (@danielepolencic) February 6, 2023
A surprisingly simple task reveals a complicated workflow that touches several components in the cluster.
Let's dive into it. pic.twitter.com/T1VGR18rRu
Should you have more than one team using the same Kubernetes cluster?
— Daniele Polencic โ @danielepolencic@hachyderm.io (@danielepolencic) April 10, 2023
Can you run untrusted workloads safely from untrusted users?
Does Kubernetes do multi-tenancy?
Let's see! pic.twitter.com/3H2BfAkuIG
In-depth understanding of Deployments in Kubernetes
— Ministry of Cloud ๐ฎ๐ณ (@NaveenS16) March 23, 2023
When running apps on #Kubernetes, most of you must have used Deployments to manage ReplicaSet and Pods. However, itโs hard to say that weโve used Deployments effectively.
๐https://t.co/0ou1uefMks #DevOps #CloudNative
Does Kubernetes rebalance your Pods?
— Daniele Polencic โ @danielepolencic@hachyderm.io (@danielepolencic) April 3, 2023
If there's a node that has more space, does Kubernetes recompute and balance the workloads?
Let's have a look ๐ pic.twitter.com/VHKPUEoXd3
If you don't need Kubernetes don't use it.
— Kelsey Hightower (@kelseyhightower) June 21, 2023
What is being described here was already happening. Companies are spending too much time managing CI/CD pipelines, IaC, random bash scripts, and a whole collection of custom tooling no one wants to talk about. https://t.co/VkfMlfS1an
Kubernetes Java Tip ๐ก
— Piotr Miลkowski (@piotr_minkowski) August 22, 2023
Do you set a CPU limit for Javaโ๏ธ apps on Kubernetes? How does it impact your apps startup time? You can solve that problem with a new Kubernetes feature called "In-place Pod Vertical Scaling" in that way ๐#kubernetes #java #cpu pic.twitter.com/B3ygyozoo7
Memes
Click to expand!
Kubernetes experts be like: pic.twitter.com/0z47Q9bdZm
— memenetes (@memenetes) October 11, 2021
Every kubernetes tutorial ever pic.twitter.com/b2qNU143sZ
— memenetes (@memenetes) January 31, 2022
Using kubernetes for single page apps pic.twitter.com/2gW6ELi2Gi
— memenetes (@memenetes) February 10, 2022
Deploying your own kubernetes cluster pic.twitter.com/9kblyVKK1Z
— memenetes (@memenetes) February 14, 2022
Kubernetes path to production readiness pic.twitter.com/OgQd5Vj8Io
— memenetes (@memenetes) February 17, 2022
Deleting a stuck pod pic.twitter.com/LxaYt0E0F6
— memenetes (@memenetes) February 21, 2022
new and shiny, or old and proven? pic.twitter.com/lPhLi651tu
— memenetes (@memenetes) March 7, 2022
Using kubernetes to run stateful workloads pic.twitter.com/jHaZiCGclj
— memenetes (@memenetes) March 17, 2022
Also how I prepare for a major cluster upgrade pic.twitter.com/ANY2cHH0CN
— memenetes (@memenetes) March 24, 2022
Container orchestration competition pic.twitter.com/JPDu4BWhgZ
— memenetes (@memenetes) March 28, 2022
Watching devs using Kubernetes pic.twitter.com/uxGr2bP98c
— memenetes (@memenetes) April 4, 2022
When you are the only one that knows Kubernetes and are asked to help pic.twitter.com/VIomvubkkj
— memenetes (@memenetes) September 12, 2022
Your next challenge is to write a correct kubernetes yaml file from memory pic.twitter.com/h6FCA5iBzX
— memenetes (@memenetes) September 26, 2022
Everyone who gets through a successful cluster upgrade pic.twitter.com/BDb0cVWqMh
— memenetes (@memenetes) October 27, 2022
Using Kubernetes + ELK stack + Prometheus to deploy a static site pic.twitter.com/DB95WovYXU
— memenetes (@memenetes) October 31, 2022
If you've been there, you know. pic.twitter.com/7CefZXfmk5
— memenetes (@memenetes) November 10, 2022
The average GitOps pipeline pic.twitter.com/pexcfFMNfy
— memenetes (@memenetes) November 17, 2022
Self inflicted pain pic.twitter.com/V5zXOCtWj5
— Appvia (@appvia_io) December 6, 2022
When there's a new Kubernetes release, but you are the one upgrading all clusters pic.twitter.com/nuII6vKfYP
— memenetes (@memenetes) December 12, 2022
When you say not everything has to run on Kubernetes pic.twitter.com/QNuan5nw90
— memenetes (@memenetes) December 22, 2022
"It's Kubernetes! I know this!" pic.twitter.com/djD4Ns3iEY
— memenetes (@memenetes) February 13, 2023
"But think about the cost reduction" pic.twitter.com/8qWJpNgnu1
— memenetes (@memenetes) February 23, 2023
everyone loves free stuff pic.twitter.com/lcAKpc29BG
— memenetes (@memenetes) March 9, 2023
It's not that hard pic.twitter.com/o6J2em6tkk
— memenetes (@memenetes) March 13, 2023
Still cheaper than running multiple EKS clusters pic.twitter.com/Rk1sDEzLCY
— memenetes (@memenetes) March 16, 2023
This is what happens to your SRE team when you're not considering #MultiTenancy for your #Kubernetes platforms.
— prometherion (@tranchitellad) April 3, 2023
Adopt #MultiTenancy, save SREs' life from getting paged and getting buried from the operational burden: it could be done, thanks to #Capsule and #Kamaji! pic.twitter.com/tHXWVe6mdX
Using the HPA without a metrics server pic.twitter.com/kjCCmIDnTh
— memenetes (@memenetes) April 17, 2023
In Kubernetes, you can use labels to assign key-value pairs to any resources.
— Daniele Polencic โ @danielepolencic@hachyderm.io (@danielepolencic) April 24, 2023
Labels are ubiquitous and necessary to everyday operations such as creating services.
However, how should you name and use those labels? pic.twitter.com/l3P1lFcTus
Day in the life of a kubernetes engineer pic.twitter.com/MgPnR8ShNd
— memenetes (@memenetes) May 15, 2023