We have a lot of lunch and learns at Omnitech . I enjoy these times where most of the developers can get together, share what we’re learning, and learn from others’ experiences and hard work. We have found the value of helping each other leap frog up the learning ladder.
I was able to go to NDC Minnesota 2019 . I had the privilege of attending Shahid Iqbahl ’s (from the U.K.) 2 day workshop on Docker and Kubernetes (k8s). You can read more about that experience on the Omnitech blog .
This is my outline and information for my presentation/discussion.
I also used the workshop as a basis for a Docker Introduction earlier this year.
NOTE: there is a lot more I will add as I go on. This post will start as an “MVP” and will improve as I learn more.
"Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications."
"It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community."
from Kubernetes.io
“Kubernetes is a container orchestration application developed by Google. It provides a unified API that can be used to manage the deployment and upgrades of containerized applications, batch jobs, and databases. Kubernetes provides a layer of abstraction and isolation to applications from the underlying hardware by deploying them in containers. Kubernetes uses a declarative approach to deploying applications. As a user, you write the application requirements (such as networking, ports, memory, and replication) in a manifest, and hand it over to Kubernetes. Kubernetes then reads this manifest and decides where to place the nodes that run your application in the cluster.” ~[1] page 15
K8s = Kubernetes (8 characters in between the K and the s)
A K8s story: Pippy goes to the zoo
“The overall architecture of Kubernetes is composed of three parts: the cluster, the master, and the node”
From Kubernetes Succinctly [1] figure 2, pg 17
Consider GitOps - beware of pet clusters
From Shaid’s NDC workshop [2]
Chapter 8 Packaging Applications with Helm [1]
“After deploying applications again and again in the course of this book, you might have realized that writing YAML specs for each component—such as deployments, replica sets, and services that make up the cluster—is difficult. If you are working on more extensive applications, this problem becomes even harder to solve. Enter Helm, a package manager for Kubernetes that makes it easy for developers to package, configure, and deploy applications on Kubernetes clusters.” [1]
Helm is like Nuget or NPM and can perform various activities.
There is a repository of charts available. Here’s an alpine example
What is Helm | why we use helm
Deploy eShopOnContainers to Azure DevSpaces with Helm
Architecting Cloud Native .NET Applications for Azure - eBook
eBook - Containerized Docker Application Lifecycle with Microsoft Platform and Tools
Putting the “.NET” into “Kubernetes”
Building Cloud Native Apps with .NET Core 3.0 and Kubernetes
S205 - .NET Core Microservice Development Made Easy with Azure Dev Spaces - Lisa Guthrie
https://dzone.com/storage/assets/12018356-tigera-five-best-practices-kubernetes-networksecur.pdf
Azure Container Instances for infinite scale and spiking in traffic . ACI is PaaS, so you only pay for the compute you use.
Stackify’s article says “In short: writing software is hard; running software is often harder. And that’s why we monitor.” There is a lot of great information in this article.
Istio is a tool I’ve heard of multiple times now.
Put this pub/sub docker-compose example into K8s with Helm, then publish to AKS. (didn’t have time to try it out)
Using AKS and Azure DevSpaces, from Visual Studio
Referenced using [#] above.
Please consider using Brave and adding me to your BAT payment ledger. Then you won't have to see ads! (when I get to $100 in Google Ads for a payout, I pledge to turn off ads)
Also check out my Resources Page for referrals that would help me.