We have seen in my previous blog how we can access the application externally using Service object. We have two options to get traffic outside the cluster

  • NodePort
  • LoadBalancer

Mostly the load balancer option is preferred in the public cloud providers.

Limitations:

  1. The problem is that one LoadBalancer can only point towards a single Kubernetes service object.

So now if you have 100 microservices -> you need 100 load balancers -> very expensive

2. Let’s suppose that you have a web service running at test.com and you want test.com/users to go to one microservice and test.com/notifications to go to another completely separate microservice. …


In this blog, we will explore how we can use the the configuration data like database details using Config Maps and Secrets.

Application ( Container Image) -> Deploy it on the Dev -> INT -> Prod

Image for post
Image for post

There is no change from the application, application remains the same in all the environments. The only thing which will change is the database details. So we need to make our application code in such a way that we can provide the environment specific data separately.

Kubernetes provides to associate environment-specific data with our application containers without changing our container image.

Config Map

  • Used to define application-related…

In this blog, we will explore the concept of Kubernetes Controllers and how to use them to create replicated Deployments. We will also explore which controller should we use for a specific use case.

Prerequisite:

  1. Functional Kubernetes Cluster configured
  2. Kubernetes’ command-line tool, kubectl, which is the command-line interface for running commands against Kubernetes clusters.
  3. Clone this git repo for all the yaml files which we will be using in this blog

There are different kinds of controllers

  1. ReplicaSets,
  2. Deployments,
  3. DaemonSets
  4. StatefulSets
  5. Jobs

Why controllers ?

In my previous blog we have seen how to create a pod and manage its lifecycle manually. …


In this blog, we will explore about Labels and Annotation. We will explain their use cases so that we can decide whether to use labels or annotation for a particular use case.

In my previous blog we have already seen different kinds of pods and their life cycle.

In general, we always want to organize our pods based on some properties so that we can query against specific pods. To do so we will be add labels to the pods.

Prerequisite:

  1. Functional Kubernetes Cluster configured
  2. Kubernetes’ command-line tool, kubectl, which is the command-line interface for running commands against Kubernetes clusters.
  3. Clone this git repo for all the yaml files which we will be using in this…

In this blog, we will explore how to check the health of the pods using Liveness and Readiness Probe

If you are not familiar with basics of Kubernetes pod, please check my blog

Prerequisite:

  1. Functional Kubernetes Cluster configured
  2. Kubernetes’ command-line tool, kubectl, which is the command-line interface for running commands against Kubernetes clusters.
  3. Clone this git repo for all the yaml files which we will be using in this blog

Agenda:

  1. What is Probes/Health Check
  2. Pod with a Liveness Probe and No Restart Policy
  3. Creating a Pod Running a Container with a Liveness Probe and a Restart Policy
  4. Creating a Pod Running a Container with a Readiness…


Checkout my website for more blogs.

In this blog, we will explore the concepts of pods, how to create them using the yaml configuration, check pod logs etc.

Prerequisite:

  1. Functional Kubernetes Cluster configured
  2. Kubernetes’ command-line tool, kubectl, which is the command-line interface for running commands against Kubernetes clusters.
  3. Clone this git repo for all the yaml files which we will be using in this blog

Agenda:

  1. Create a simple pod
  2. Create a pod in different namespaces
  3. Creating a Pod in a Different Namespace using yaml configuration
  4. Create a Pod running a container
  5. Creating a Pod Running a Container That Exposes a…


In this blog, we will explore how we can access the kubernetes applications externally using Services

Prerequisite:

  1. Functional Kubernetes Cluster configured
  2. Kubernetes’ command-line tool, kubectl, which is the command-line interface for running commands against Kubernetes clusters.
  3. Clone this git repo for all the yaml files which we will be using in this blog

Agenda:

  1. Create a Kubernetes Cluster
  2. Firewall Rules Configured
  3. Create a POD
  4. ClusterIp Service
  5. NodePort Service
  6. LoadBalancer Service

Create a Kubernetes cluster

To get more details about how to create, please follow this blog.

Create a VPC

gcloud compute networks create vpc-k8s

Create a firewall rule with tag…


In this blog, we will learn how to monitor metrics for performance analysis, and also how to monitor and manage the real-time cost of Kubernetes resources using Prometheus and Grafana

Prerequisite

  1. Functional Kubernetes Cluster configured
  2. Kubernetes 1.16+
  3. Helm 3+
  4. Kubernetes’ command-line tool, kubectl, which is the command-line interface for running commands against Kubernetes clusters.
  5. Helm should be installed. We will install helm on windows in this article

Monitoring in Kubernetes

We will configure our Kubernetes cluster to get core metrics, such as CPU and memory.

We will deploy Prometheus and Grafana on our Kubernetes cluster. We will learn how to monitor a Kubernetes service with Prometheus and use Grafana dashboards to visualize cluster and application metrics. …


In this blog, we will monitor the AWS EC2 instances using Prometheus and visualize the dashboard using Grafana.

Agenda

  1. What is Prometheus
  2. Install Prometheus and configure Prometheus to monitor itself
  3. Install Node Exporter on other EC2 Instances
  4. Configure Prometheus for the EC2 Instance
  5. EC2 Service Discovery for Prometheus
  6. Install Grafana

Prerequisite:

  1. Prometheus EC2 instance t2.micro
  2. Node EC2 instances to monitor
  3. Security Groups Configured properly
  4. Clone this git repo

Security Groups Configured on EC2 Instances

Port 9090 — Prometheus Server

Port 9100 — Prometheus Node Exporter

Port 3000 — Grafana

Prometheus EC2 Instance

Configure the security group on EC2 Instance where Prometheus Server is installed as shown below…


In this blog, we will explore Kubernetes Objects ,learn about how to create a Nginx deployment using yaml file.

We will also learn how to rollback the deployment and how the revision number changed when we do the rollback.

Prerequisite

  1. Kubernetes Cluster should be configured
  2. Kubectl configured

Follow my YouTube video or blog to setup the prerequisite.

Kubernetes Objects

Kubernetes objects are persistent entities in the Kubernetes system. Kubernetes uses these entities to represent the state of your cluster.

A Kubernetes object is a “record of intent” — once you create the object, the Kubernetes system will constantly work to ensure that object exists. …

About

Nidhi

Devops Automation Enginneer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store