The Ultimate Guide to Kubernetes Deployment Strategies

Kubernetes has become a popular choice for container orchestration, providing developers with a powerful platform for deploying, scaling, and managing containerized applications. However, with great power comes great responsibility, and choosing the right deployment strategy is essential for ensuring application availability, scalability, and performance. In this post, we will cover the ultimate guide to Kubernetes deployment strategies, including their benefits, drawbacks, and best practices. 1. Rolling updates Rolling updates are the most common deployment strategy in Kubernetes, allowing you to update a running application without downtime....

April 22, 2023 · 4 min · 767 words · Andrew

Teach me Kubernetes - Part 7 - Sidecar Containers

Looking for the entire 7 part guide? Start at the Overview In Kubernetes, a sidecar container is a secondary container that runs in the same Pod as the primary container. The sidecar container runs alongside the primary container and shares the same network namespace, IPC namespace, and mount namespace. Here are some key features of sidecar containers in Kubernetes: Sidecar containers are used to enhance the functionality of the primary container: The sidecar container runs alongside the primary container and provides additional functionality that the primary container needs to function properly....

April 16, 2023 · 3 min · 456 words · Andrew

Teach me Kubernetes - Part 6 - Deployments

Looking for the entire 7 part guide? Start at the Overview In Kubernetes, a Deployment is a higher-level abstraction that manages the deployment and scaling of a set of Pods. Deployments provide a declarative way to manage the desired state of your application, making it easy to roll out updates and scale your application over time. Here are some key features of Deployments in Kubernetes: Deployments manage the desired state of your application: You can specify the desired state of your application (e....

April 15, 2023 · 3 min · 492 words · Andrew

Teach me Kubernetes - Part 5 - Services

Looking for the entire 7 part guide? Start at the Overview In Kubernetes, a Service is an abstraction that provides a stable, IP address and DNS name for a set of Pods. Services allow you to decouple the logical representation of your application from the underlying infrastructure, making it easier to manage and scale your application over time. Here are some key features of Services in Kubernetes: Services provide a stable IP address and DNS name: A Service is assigned a static IP address and DNS name that remains the same even if the underlying Pods are recreated or rescheduled....

April 14, 2023 · 3 min · 507 words · Andrew

Teach me Kubernetes - Part 4 - Replication Controllers

Looking for the entire 7 part guide? Start at the Overview In Kubernetes, a ReplicationController (also known as a “ReplicaSet” in newer versions of Kubernetes) is a controller that ensures that a specified number of replicas of a Pod are running at any given time. The ReplicationController is responsible for monitoring the state of the Pods it manages and taking corrective action if the desired state does not match the actual state....

April 13, 2023 · 3 min · 519 words · Andrew

Teach me Kubernetes - Part 3 - Pods

Looking for the entire 7 part guide? Start at the Overview In Kubernetes, a Pod is the smallest and simplest unit in the cluster. A Pod represents a single instance of a running process in a container, and it encapsulates one or more container images, storage resources, and network configurations. Pods are used to run and manage containerized applications in Kubernetes, and they provide a mechanism for managing and scaling containers....

April 12, 2023 · 3 min · 498 words · Andrew

Teach me Kubernetes - Part 2 - Nodes

Looking for the entire 7 part guide? Start at the Overview In Kubernetes, a Node is a worker machine that runs containerized applications. Nodes are responsible for running Pods, which are the smallest deployable units in Kubernetes. Nodes in a Kubernetes cluster can be physical or virtual machines, and they typically have multiple CPUs and large amounts of memory and storage. Each Node runs a container runtime, such as Docker or containerd, which is responsible for managing the containers that run on the Node....

April 11, 2023 · 3 min · 532 words · Andrew

Teach me Kubernetes - Part 1 - Overview

Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. With Kubernetes, you can manage containerized applications across multiple hosts, scale them up or down as needed, and even roll out updates without downtime. Here are some key concepts you need to understand to get started with Kubernetes: Nodes: A node is a physical or virtual machine that runs your containerized applications. It can be a virtual machine running in a cloud provider or a physical server in your data center....

April 10, 2023 · 3 min · 472 words · Andrew

Types of communication in Amazon EKS

There are multiple types of communication in Amazon EKS environments. Lines of communication include the following: Interpod communication between containers Communication between pods on the same node or pods on different nodes Ingress connections from outside the cluster In some cases, the default Kubernetes methods are used. In other cases, specifically inter-node communication and ingress methods specific to Amazon EKS are used. Intrapod communication Containers in a pod share a Linux namespace and can communicate with each other using localhost....

September 10, 2022 · 3 min · 430 words · Andrew

How to Install App Mesh on AWS EKS

You can follow the steps below to install App Mesh on AWS EKS (Kubernetes). Step 1 – Prerequisites curl -o pre_upgrade_check.sh https://raw.githubusercontent.com/aws/eks-charts/master/stable/appmesh-controller/upgrade/pre_upgrade_check.sh sh ./pre_upgrade_check.sh Step 2 – Add Helm Repo helm repo add eks https://aws.github.io/eks-charts Step 3 – Add Custom Resource Definitions (CRDs) kubectl apply -k "https://github.com/aws/eks-charts/stable/appmesh-controller/crds?ref=master" Step 4 – Create a Namespace for App Mesh kubectl create ns appmesh-system Step 5 – Set Environment Variables You will need to set a couple of environment variables to make things easier later....

April 26, 2022 · 2 min · 235 words · Andrew