Monday, March 3, 2025

Steps-by-Step To Provisioning An EKS Cluster | Overview & Hands-On.


Steps-by-Step To Provisioning An EKS Cluster - Overview & Hands-On.

Focus:
    • Talored for:
      • DevOps, 
      • SRE, 
      • DevSecOps Engineers
Scope:
  • Intro,
  • Key Concepts,
  • Common Use Cases,
  • Link to documentation,
  • Project: Hands-On
Intro:
    • An EKS cluster refers to an Amazon Elastic Kubernetes Service (EKS) cluster;
    •  EKS cluster is a managed Kubernetes service provided by Amazon Web Services (AWS):
    • EKS cluster makes it easy to:
      • Deploy, 
      • Manage, 
      • And scale containerized applications using Kubernetes. 
    • AWS handles the management of :
      • the Kubernetes control plane, including the API server nodes and backend persistence layer, allowing users to focus on application deployment and management of the data plane (worker nodes).

Key Concepts
Managed Control Plane:
      •  AWS manages and scales the Kubernetes control plane across multiple Availability Zones to ensure high availability and durability.
Worker Nodes
      • Users can provision and manage worker nodes using Amazon EC2 instances (self-managed or managed node groups) or use the serverless compute option with AWS Fargate.
Integration with AWS Services:
      •  EKS seamlessly integrates with other AWS services for networking (Amazon VPC), monitoring (Amazon CloudWatch), load balancing (ELB, ALB), and identity and access management (IAM).
Security and Compliance:
      •  EKS provides robust security features, including IAM integration for authentication, network policies, and audit logging to CloudWatch.
Deployment Tools
      • Clusters can be created and managed using various tools such as the AWS Management Console, AWS CLI, eksctl (a simple CLI for EKS), AWS CloudFormation, or Infrastructure as Code (IaC) tools like Terraform.
Common Use Cases
  • EKS is used in various scenarios where a scalable, reliable, and secure Kubernetes environment is needed:
Microservices Architectures:
  •  Running highly available microservices by leveraging load balancing and auto-scaling.
Hybrid Cloud Deployments:
  •  Using EKS Anywhere to run EKS clusters in on-premises data centers for a consistent hybrid cloud experience.
Machine Learning: 
      • Running ML workloads that require specific compute resources and scaling capabilities.
CI/CD Pipelines
    • As a robust platform for deploying and running continuous integration and continuous delivery pipelines. 
NB:
Link to documentation

https://docs.aws.amazon.com/eks/



Project: Hands-On
  • How twtech uses  terraform (IaC) to provision EKS infrastructure in aws 
    • While bootstrapping all the dependencies 
    • From Visual Studio Code, create a .tf file with define resources & values.
Step-1: 
  • Configure all the files in the module with appropriate values for resources that would be provision.

  • Connect (ssh) to instance  and verify that all the necessary packages that were bootstrapped.


Step-2: 
Verify that packages and dependencies were successfully bootstrapped


Step-3:
    • Provision twtech-EKS-Cluster in Cloud with command line(CLI).
NB:
    • Values should be configured to match the region and expected name, node type, and number of nodes
    • This should take about 10 to 15 minustes to fully provision the EKS  resource defines

eksctl create cluster --name twtech-eks --region us-east-2 --nodegroup-name twtnode --node-type t3.medium --managed --nodes 2

Step-4: 

    • Verify that the cluster is successfully provision and running seamslessly 
    • The  following command should confirm that EKS cluster is up and running.

eksctl get cluster --name twtech-eks --region us-east-2

Step-:5

Update configuration file by entering below command:

aws eks update-kubeconfig  --name twtech-eks --region us-east-2

step-6:

  • List the all nodes created, to verify that the nodes are up and running.

kubectl get node

Step:7
  • Deploy test applications with PVC,PV, and Storage-Class (MongoDB)
  • link found on twtech github-pub-repository:

https://github.com/Think-with-Tech/Ansible-k8s-helm/blob/main/twtech-apps-PVC-PV-SC.yaml

#!/bin/bash
# This manifest file would provision, pvc. pv, sc, twtech-springapp, twtech-webapp, and svc.
  • nono (vi or vim) into a file and create a manifest file:

sudo vi  app-pvc-pv-sc-svc.yaml

Step:8 
  • Provision the resources in the cluster:

kubectl apply -f  app-pvc-pv-sc-svc.yaml

Step-9:

    • List all resources provisioned in the EKS default namespace:

kubectl get all

Step-10:

    • List all resources created in all eks namespaces:

kubectl get all -A

Step-11:

    • List the pvc created:

kubectl get pvc



Step-12:

  • List the pv created:

kubectl get pv

Step-13:

  • List the sc created:

kubectl get sc

Step-14:

  • Accessing the twtech-Apps on eks-cluster:
  • List the services:

kubectl get svc

Step-15:

  • Get the PubIP of the worker node:  GUI

10.191.xxx.394:31400


  • Browse the application: firewall to application restrict access. port must be opened to allow traffic access from N-users

Step-16:

  • Go to Security group (firewall)  and open just the required ports , for security reasons on the worker nodes:

From:


To:


  • Save changes:

Step-17:

  • Go back and refresh the application page:

twtech-spring-boot-mongo

Step-18:

  • Try to populate with data and see whether data will be saved on the twtech-db:


Step-19:

  • Accessing twtech-webpp also provisioned:

NB:

  • The path to the application is /twtech

10.191.158.190:31200/twtech

Step-20:

Verify that all resources Resources referenced are provisioned with the eks-cluster using:

Go to AWS CloudFormation: 

Two CloudFormation stacks for:

twtech-eks-nodegroup(s) (EKS Managed Nodes (SSH access: false) [created by eksctl)

twtech-eks-cluster (EKS cluster (dedicated VPC: true, dedicated IAM: true) [created 

and managed by eksctl)







Step-21:

  • How twtech deletes the eks cluster and all its resources not longer needed:  With the command line.

eksctl delete cluster --name twtech-eks --region us-east-2







Sunday, March 2, 2025

What can a DevSecOps engineer be doing during layoff to get more knowledge

 

What a DevSecOps Engineer Can Do During a Layoff to Gain More Knowledge & Stay Competitive

A layoff can be a tough experience, but it’s also an opportunity to upskill, build projects, and position yourself for better opportunities. Here’s how you can make the most of this time and come back stronger:

1. Build and Improve Hands-On Skills

Why? DevSecOps is all about hands-on experience. Employers look for real-world skills, not just theory.

Set Up a Home Lab

  • Use AWS Free Tier, GCP, or Azure to build real-world infrastructure.
  • Deploy a Kubernetes cluster using k3s, Minikube, or EKS/GKE/AKS.
  • Automate infrastructure with Terraform, Ansible, or Pulumi.
  • Set up a Jenkins or GitHub Actions CI/CD pipeline for a sample project.

Contribute to Open-Source Projects

  • Fork and improve DevSecOps tools on GitHub.
  • Work on CI/CD automation, security hardening, or cloud migration scripts.
  • Join projects on DevSecOps-focused communities (e.g., CNCF, Linux Foundation, HashiCorp forums).

Practice Incident Response & Debugging

  • Simulate real-world outages and try to recover them.
  • Use tools like Prometheus, Grafana, ELK Stack, and OpenTelemetry for monitoring and logging.

2. Earn High-Value Certifications

Why? Certifications help validate skills and make you more competitive.

Cloud & DevSecOps Certifications (Pick based on career goals):

  • AWS: AWS Certified DevSecOps Engineer, AWS Solutions Architect, AWS Security Specialty
  • Azure: Microsoft Certified: DevSecOps Engineer Expert
  • Google Cloud: Google Cloud DevSecOps Engineer
  • Kubernetes: CKA (Certified Kubernetes Administrator), CKAD (Certified Kubernetes Application Developer)
  • Terraform: HashiCorp Certified: Terraform Associate
  • Security: Certified Kubernetes Security Specialist (CKS), AWS Security Specialty

3. Contribute to Tech Blogs & Build a Portfolio

 Why? Writing about what you learn showcases expertise and attracts recruiters.

Start a Tech Blog

  • Write on Medium, Dev.to, Hashnode, or your personal blog about:
    • DevSecOps best practices
    • Cloud architecture patterns
    • Automation & CI/CD pipelines
    • Infrastructure as Code (IaC)
    • Security in DevSecOps

Create a GitHub Portfolio

  • Build and document real-world DevSecOps projects.
  • Share Terraform, Ansible, Kubernetes, and CI/CD pipelines with README files explaining your work.

Make DevOps YouTube Videos or Tutorials

  • Teaching others helps solidify your knowledge and can attract job opportunities.

4. Network & Stay Active in the DevSecOps Community

 Why? Many DevSecOps jobs are filled through referrals and community engagement.

Engage on LinkedIn & Twitter

  • Follow top DevSecOps engineers and recruiters.
  • Share insights, projects, and DevSecOps trends.

Join DevOps & Cloud Communities

  • Participate in Slack, Discord, and Reddit communities (e.g., r/devsecops, CNCF Slack).
  • Attend meetups, webinars, and cloud summits (AWS re:Invent, KubeCon, DevSecOpsDays).

Connect with Recruiters & Hiring Managers

  • Reach out to DevSecOps leaders and express interest in upcoming opportunities.
  • Join LinkedIn DevSecOps job groups and engage in discussions.

5. Learn and Experiment with Emerging Technologies

 Why? The DevSecOps field is evolving—being ahead gives you an edge.

Explore Advanced DevSecOps Topics

  • GitOps (ArgoCD, FluxCD)
  • Service Mesh (Istio, Linkerd)
  • FinOps & Cost Optimization (AWS Cost Explorer, Kubecost)
  • Security & DevSecOps (Trivy, Aqua Security, AWS Security Hub)
  • Serverless & Edge Computing (AWS Lambda, Cloudflare Workers)

Experiment with AI & DevOps

  • Use AI-powered DevSecOps tools like GitHub Copilot, AWS CodeWhisperer, or OpenAI for automation.

6. Freelance, Contract, or Contribute to Side Projects

Why? Even if you’re not in a full-time role, freelancing keeps your skills sharp and can help you earn.

Take Freelance DevSecOps Gigs

  • Platforms like Upwork, Toptal, and Fiverr have DevOps contract work.
  • Specialize in CI/CD setup, Kubernetes deployment, and cloud automation.

Work on Personal or Startup Projects

  • Collaborate with developers who need DevSecOps pipelines, cloud deployments, or automation.

Start a DevOps Consulting Business

  • Offer part-time DevSecOps services for small companies looking for cloud migration, security, and automation solutions.

7. Maintain a Growth Mindset & Stay Positive

 Why? The job market fluctuates, but DevSecOps professionals are in high demand.

Use the Layoff as a Growth Opportunity

  • Reflect on what went wrong and improve weaknesses.
  • Learn new tech and adapt to industry trends (AI, security, automation).

Stay Resilient & Keep Applying

  • Rejections are part of the journey—apply consistently and tailor your resume for each role.
  • Don’t wait for job openings; network and seek referrals.

twtech  insights:

A layoff doesn’t define your career—it’s a temporary phase. Use this time to build skills, network, and explore new opportunities. The DevSecOps field is growing, and persistence will land you an even better role

Databases Explained & Use Cases with (Flash Card) | Overview.

Databases Explained  & Use Cases ( Flash Cards)   - Overview. A database is a structured collection of digital information designed f...