In this blog, we will be deploying this guestbook application using helm and add the Redis as a dependency.

Image for post
Image for post

Prerequisite

  1. Kubernetes Cluster Setup
  2. Clone this git repo

Setup a helm project

helm create guestbook
rm -rf guestbook/templates/tests

Adding a Redis Chart dependency

Chart dependencies are used to install other charts’ resources that a Helm chart may depend on.

In this example, we are using Redis as a database so we to need add this as a dependency.

First we can search the charts for redis

helm search hub redis

Now we will add the dependency section in the Charts.yaml


In this blog, we will run a Demo of creating an AWS Lambda Function which will convert a csv file into a json file.

Prerequisite

  1. Clone this git repo
  2. Refer this blog for basic understanding of AWS Lambda

For this we will use S3 bucket as a source where we will store the csv file that will trigger the lambda function and convert the file in json and store it in another bucket.

We will be creating below resources. You can refer the git repo

  1. Create source S3 bucket
  2. Create target S3 bucket
  3. Create a lambda function in python


In this blog we will learn about AWS Lambda and create a lambda function.

What is Serverless Compute ?

Serverless compute is a cloud computing execution model in which the AWS Cloud acts as the server and dynamically manages the allocation of machine resources.

  • AWS Lambda is the AWS serverless compute platform that enables you to run code without provisioning or managing servers.
  • With AWS Lambda, you can run code for nearly any type of application or backend service — with zero administration
  • Only upload your code, and AWS Lambda performs all the tasks you require to run and scale your code with high…


In this blog, we will explore basics of helm and how to create a custom helm chart.

Prerequisite:

  1. Helm should be installed

Agenda:

  1. Why Helm ?
  2. What is Helm ?
  3. Helm basic commands
  4. How Helm communicates with your Kubernetes Cluster
  5. How to find chart’s details
  6. Create a custom helm chart

How Kubernetes deployment works ?

In Kubernetes, if you have to deploy any application then at a minimum you need to create a these below components

  • secrets for database and admin console authentication
  • A ConfigMap for externalized database configuration
  • services for networking
  • A PersistentVolumeClaim for database storage
  • A StatefulSet


AWS::CloudFormation::Interface

This helps how to modify the ordering and presentation of parameters in the AWS CloudFormation console.

By default, parameters display in an alphabetical order by their logical IDs

Image for post
Image for post

The AWS::CloudFormation::Interface metadata key uses two child keys,

  1. ParameterGroups (you could group all EC2-related parameters in one group and all DB-related parameters in another group)
  • Each entry in ParameterGroups is defined as an object with a Label key and Parameters key


In this blog, we will explore AWS CloudFormation Init and will create an example of using all the cfn-init concepts

Agenda

  1. Basics of CloudFormation::Init
  2. cfn-init
  3. cfn-signal
  4. cfn-hup

AWS::CloudFormation::Init

Use the AWS::CloudFormation::Init type to include metadata on an Amazon EC2 instance

Image for post
Image for post


In this blog we will explore AWS CloudFormation with examples.

Prerequisite

  1. Clone this git repo
  2. AWS Account Setup

Agenda:

  1. CloudFormation Concepts (Stacks & ChangeSet)
  2. Parameters
  3. Mappings
  4. Conditions
  5. Outputs

AWS CloudFormation is used to describe and provision all of the infrastructure resources in your cloud environment.

  1. We called it as “Infrastructure as Code” which means that you are writing a code to create your infrastructure and it is repeatable and also version-able because you can store your code in your git repo.
  2. So to create an infrastructure on AWS you actually create a CloudFormation template.

AWS CloudFormation Concepts

  1. Stack

To create…


In this blog, we will setup a Gitlab CI/CD pipeline for Kubernetes using Helm chart.

We will be deploying a sample Drupal application using Helm chart and deploy in GKE

Agenda:

  1. Create a git repo in gitlab
  2. Create a .gitlab-ci.yaml and values.yaml file
  3. Create Kubernetes cluster from Gitlab
  4. Connect to Kubernetes cluster using cloud shell
  5. Create ingress controller on the Kubernetes Cluster
  6. Validate the application on the browser

Git Repo

Image for post
Image for post

Setup a GKE using gitlab

Go to your project in Gitlab and then

  1. Click on Operations -> Kubernetes


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…


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…

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