Me: “Son, can you plz install for me the K8S Cluster 😆 ??”

Son: ”On Prod Env ! 😲”

Me : “Yes Plz !! It’s easy than you think 😉”

We'll Do It

Installing a K8S Cluster from scratch was challenging work to do 😫, the k8s official documentation is too big and the pieces of information are dispatched in different sections 😅, so for someone who wants to learn this technology from scratch, it takes much time to search, understand, install and configure.

I started this story with an imaginary conversation with my 3-year-old son to prove that it is too easy…


“Tricks make you save time to Code & Deploy your Terraform Config File Easily”

As a Software Architect or a FullStack-Developer (someone with a developer background), I always had this fear of the syntax of Terraform configurations (HashiCorp Configuration Language: HCL).

Every time I read an example of a file with this syntax I couldn’t understand anything and I didn't know why.

However, I figured out why: “it was because my brain was formatted or programmed about how to design software, how to make an algorithm to solve a problem, etc … And nothing else”, so I tried to understand the Terraform config file with this mindset and I complicated my understanding of a…


“Save your time with this Abstract Pattern to make complex Cloud Architectures”

Making serverless architectures tied to microservices architectures on the AWS cloud is a fun job and it allows us to learn new things every day

But mostly, we need Abstract Patterns that already exist to implement them and adapt them according to our use case to avoid spending a lot of time designing something that already exists.

My goal in this Story is to introduce you to one of my favorite Patterns that securely marry serverless and micro-services architecture 😎.

This Pattern will help you to save lots of time when designing and thinking about a project that requires authentication…


This article is the continuation of the previous one

In a real Prod Environment, the exposed services must use LoadBalancer or IngressController or both to communicate with the outside.

However for the bonus examples i’ll make it simple by exposing our services via NodePorts

The Goals is always to be familiarized with this techno 😉

Bonus 1 : Install Kubernetes Dashboard

To deploy K8s Dashboard, execute the following command:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

Create An Authentication Token (RBAC)

# created a service account
kubectl create serviceaccount dashboard-admin-sa
# Bind the dashboard admin service account to the cluster-admin role
kubectl create clusterrolebinding dashboard-admin-sa --clusterrole=cluster-admin --serviceaccount=default:dashboard-admin-sa

Change the type of the Kubernetes-dashboard service to be a NodePort

kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard
# in the file change type to be NodePort

Describe the service of Kubernetes Dashboard to get the NodePort :


AACO — Cost Optimization on AWS

I remember my first bill with AWS was $5 in 2016 knowing I had a year of the free tier 😠, I was shocked because I was sure that I only used the included services in the free offer.

However, when I studied my billing I discovered that I chose developers Support and is not included in the free tier 😛.

Naoufal EL GAFA

Software Lead Architect Enjoy designing, creating, coding, and Cloud Deploy. https://elgafa.com

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