K8s

Getting Started

  • K8s Architectural Concepts

    Parts of Kubernets - Nodes, Clusters, API Server, and more!

  • A Brief Review of Dockerfiles and Images

    Dockerfiles, layers, instructions, args, etc

  • An Introduction to Kubernetes in the Cloud

    Kubernetes can be deployed using tools like GCP, AWS, and Azure

  • On Services

    Only an Intro

  • Some Architecture Principles for Kubernetes Applications

    Dockerfiles, layers, instructions, args, etc

  • Balancing Network Traffic across many Pods with the LoadBalancer Service

    Not much here

  • On Controllers

    Controllers as "brains" behind monitoring and managing replicated pods

  • On Deployments

    Deploying the Cluster

  • On Networking

    Only an Intro

  • On Pods

    A "wrapper" around Containers

  • An Overview of K8s Setup

    A few different options for setting up K8s

  • Networking Intro

  • Allow Communication Within A Cluster with the ClusterIP Service

    Allow External network connectivity to a Kubernetes service

  • Allow Communication between Host and Pod with the NodePort Service

    Allow External network connectivity to a Kubernetes service

  • In-Depth

  • Mutate And Validate Request Details With Admission Controllers

    A properly configured k8s server leverages admissionControllers for automated request processing

  • Get Info About The K8s Environment Through the K8s Api-Server

    A built-in api can allow for api-driven discovery and config

  • Working with Users, Clusters, and Contexts For Authentication

    Users Can Gain Access to Clusters Through Kubeconfig Files and Contexts

  • Roles Are A Great Way To Manage User Authorization To K8s Objects

    Create Roles and RoleBindings to configure customizable authorization across K8s objects

  • Use Commands and Argunments to Configure Pods and Containers

    Pass Commands and Arguments to the Docker Containers that are run inside of pods

  • Kubernetes Kubectl Commands Through A Working Example

    Create objects, alter objects, and more through configuration files and imperative kubectl commands

  • Container tooling continues to develop

    Docker has led to many other container details

  • Create Custom Resources To Meet Your Own Specific Needs In Kubernetes

    Leverage Kubernetes to create new resources types, custom specs on a resource, and custom controllers

  • One Way To Approach Debugging Kubernetes Object Errors

    Starting with "familiar" k8s bits to logs and iptables

  • Apply Complex Deployment Strategies to A K8s Cluster For More Reliability

    Blue-Green and Canary deployments are not built into K8s, but can be used with some strategic object manipulation

  • Introduce Flexibility into Kubernetes Objects with Environment Variables

    Pull dynamic values out of hard-coded object defclaration with Environment Variables

  • Give DNS Records To Replicated Pods With Headless Services

    Headless Services assign DNS entries to pods, which can be useful for use-cases likes statefulSets and Master/Slave Pods

  • Leverage Helm to Abstract Away Details of Object Management in Kubernetes

    Helm can help remove object-by-object management when looking to manage a suite of Kubernetes objects

  • Build Kubernetes Objects with One-Lineres

    Use One-Line Imperative programming syntax to build some k8s objects

  • Ingress Requires a ServiceAccount, a Deployment, a ConfigMap, a Service, and and Ingress

    Kubernetes helps manage traffic, load-balancing, routing, and more through its ingress implementation

  • Use Kubernetes Jobs to Manage Workloads That End

    A Job Object can describe to kubernetes how to manage workloads that only need to run for the duration of the workload

  • Run Kubernetes on 2 Virtual Machines in Google Cloud

    A Follow-Along set of notes ony setting Kubernetes up across 2 VMs in Google Cloud

  • Labels, Selectors and Annotations for Identifying Kubernetes Objects

    Labels And Selectors can allow for grouping objects together with kubectl or replicasites k8s objects

  • Test In-Container Readyness with Liveness Probes

    Create http requests, bash scripts, or tcp requests to assess application readyness status

  • Logging In K8s Is Similar to Logging in Docker

    Syntax to log a pod in kubernetes is nearly identical to logging with docker

  • More Resources

    Links to other folks' collections of K8s notes

  • Multi-Container Pods Can be Valuable For Tightly-Coupled Applications

    A few meaningful approaches to deploying multiple containers in a single pod

  • Kubernetes Namespaces

    Separate groups of Kubernetes objects with Namespaces for maby users across teams

  • Build Rules for Pod Network Traffic

    Ingress policies allow incoming network requests, and Egress policies all outgoing network requests

  • Make Pods "Like" Nodes that have specific labels

    Affinities applied to Nodes push nodes to prefer Specific K8s Nodes to be deployed to

  • Label Nodes for Simple Pod-to-Node matching deployments

    Match node labels with pod NodeSelectors to sync pods with nodes simply

  • A Brief Review of The Lifecycle of a Persistent Volume in Kubernetes

    An Overview of how a persistent volume gets created, bound, used, and options for "end-of-life" handling

  • Three policies that broadly cover security options for pods in a Kubernetes Cluster

    Namespaces can contain one-of-three pod-security labels that give broad summaries of "levels" of pod security

  • Understanding K8s Pod Readyness May Be Tricky

    Surely there is a status of the pod, but the applications inside the pods can require more granular configuring to understand their readyness

  • An Overview of Kubernetes Resource Allocation and Definition Options

    Disk, Memory, and CPU are 3 types of resources that can be configured within Kubernets

  • Include Docker Container Security Instructions In Kubernetes Pod Definition Files

  • Service Accounts Provide Identity To Container Processes

    Service accounts, intended to be used by machines and not humans, can be used for things like getting cluster data from within the cluster itself

  • A Brief Overview of Service Meshes

    An abstract layer of proxies to help with complex network scenarios

  • Some Trickery With Stateful Pods Using Stateful Sets

    When Pods rely on other pods, like in replicated dbs, stateful sets can be a helpful tool

  • Remove a Requirement of Pre-Defined Storage Objects with Storage Classes

    Describe a type of storage with a storage class definition

  • Leverage Taints and Tolerations to Instruct Nodes to Allow or Not Allow Pod Deployment

    Taints on nodes block pod deployment and tolerations enable pods to work with node taints

  • Topics to Consider When Configuring Kubernetes

    Kubernetes has a bunch of details to consider when getting more in-depth than creating and getting objects

  • Persist Data Created By Pods By Using Volumes and Claims in Kubernetes

    PersistentVolumes, and PersistentVolumeClaims are K8s objects to manage data in the semi-ephemeral state of K8s Pods

  • Ingress Helps Simplify Some Networking Details

    Ingress solves some networking nuianced configuration details