A pragmatic article to help you plan and programmatically upgrade self-managed worker nodes using k8s and aws api
This post is intended to help you plan and automate the upgrade of self-managed worker nodes in an AWS EKS cluster.
Kubernetes community releases a new minor version at a rapid pace of almost every 3 months. If you are managing a K8s based SaaS environment or have a need to keep your environment up to date, it's better to automate the upgrade process.
In simple terms, upgrading an EKS cluster is a two-step process. First, you upgrade your API server(aka Master)…
A simple example of using Go module to resolve package dependencies
This post will show you an example of how Go modules bring simplicity to package management in golang. Go modules were first introduced in Go version 1.11.
When developing go code with multiple packages, if your source files are not in
$GOPATH/src directory, you may see below error while running go build
[~/code/medium/mainapp] $ go build main.go
main.go:8:2: package raindrops is not in GOROOT (/usr/local/Cellar/go/1.14.2_1/libexec/src/raindrops)
This is where Go modules come to the rescue. It lets you create a
go.mod file which can be created at the root of…
This article will walk you through the basic building blocks of AWS CloudFormation to simplify your AWS infrastructure provisioning and management requirements by writing meaningful templates.
It will also highlight some key concepts and provide important guidelines to help you write robust, reusable and error-free CloudFormation code.
AWS CloudFormation template lets you declare the infrastructure resources and their settings in a file to achieve your Infrastructure as code goals. A good understanding of templates structure is the first important step towards creating a meaningful template. You can write the templates in either JSON or YAML format. …
A common approach to deal with special characters in passwords is to escape them by using escape characters to keep the passwords in their original form. But, there could be situations where you are unable to properly escape the special characters and may end up in having an incorrect password. This is true especially in cases where the password is being further passed to other pieces of code.
This post is a result of a recent situation, where a domain admin password was being sent to AWS CloudFormation as a parameter. AWS CloudFormation was further passing the password as a…
This article provides a CloudFormation template which creates an AWS managed Microsoft active directory and modifies its security group rules to accept traffic from the restricted sources of your choice.
This article assumes that you are familiar with AWS Managed Microsoft AD and CloudFormation. You can refer following AWS official documentation to get further insight about AWS MS AD and CloudFormation custom resources.
When you deploy a new AWS managed Microsoft AD in your AWS account, AWS automatically creates a security group and attaches it to your directory’s domain controller…
This article provides a template to set a custom route table as the default main route table in your VPC by creating an AWS lambda backed custom resource in your CloudFormation template.
This article assumes that you are familiar with AWS CloudFormation basics and also understand the role of a CloudFormation custom resource. Please refer AWS Official documentation to know more about CloudFormation custom resources.
When you create a new VPC in your AWS account, it automatically creates a default route table which is also the main route table. You can view this main route table in AWS VPC console…
This article will guide you through the steps of performing migration of your data from MongoDB to Apache CouchDB using a simple python script.
Migrating data from one database to another database can be challenging due to multiple reasons including basic schema and design differences between the source and target databases.
Both MongoDB and CouchDB are document databases, which store a set of independent JSON like documents. This article assumes that you have a basic understanding of these two databases and are familiar with how data is stored inside these databases. Below table provides a high-level comparison between the two…
This article will guide you through the process of setting up a 3 node Apache CouchDB cluster on Kubernetes. It will be deployed as a Kubernetes statefulset of 3 pods, where each pod will receive a single PersistentVolume from NFS storage.
This article assumes that you have a basic understanding of Kubernetes and have access to a working Kubernetes cluster.
Before you decide to follow below steps, familiarize yourself with basics of CouchDB installation and cluster configuration documentation for Unix-like systems at docs.couchdb.org
Below diagram will give you a quick glimpse of the various components involved in the deployment. …