How to Deploy EKS Cluster on AWS Using Terraform ? | Automated Using Jenkins CICD Pipeline

Поделиться
HTML-код
  • Опубликовано: 9 мар 2024
  • Title: Automating EKS Cluster Deployment and Nginx Application Deployment with Terraform and Jenkins CI/CD Pipeline
    Description:
    Welcome to another exciting tutorial where we delve into the world of cloud infrastructure and DevOps automation! In this video, we'll guide you through the seamless deployment of an EKS (Amazon Elastic Kubernetes Service) cluster on AWS using Terraform. But we won't stop there - we'll also demonstrate how to automate the deployment of an Nginx application onto this EKS cluster, all orchestrated by a Jenkins CI/CD pipeline.
    Throughout this tutorial, you'll learn step-by-step how to:
    1. Set up your AWS environment for EKS cluster deployment.
    2. Utilize Terraform to define infrastructure as code, configuring the EKS cluster effortlessly.
    3. Automate the deployment of an Nginx application onto the EKS cluster using Kubernetes manifests.
    4. Configure Jenkins CI/CD pipeline to automate the entire process, from code commit to deployment.
    By the end of this video, you'll have a clear understanding of how to leverage Terraform, Kubernetes, and Jenkins to automate the deployment of EKS clusters and applications, streamlining your DevOps workflows and increasing efficiency.
    Don't forget to like, share, and subscribe for more insightful tutorials on cloud computing, DevOps practices, and automation strategies. Also, feel free to connect with me on LinkedIn, Twitter, or drop me an email if you have any questions or suggestions for future content.
    Support my work: buymeacoffee.com/devopsmaster
    GitHub Repo : github.com/ansarshaik965/CICD...
    LinkedIn: / ansarshaik965
    Twitter: / ansar9959 .
    Gmail : ansarshaik965@gmail.com
    Email: devopsmaster965@gmail.com
    Stay tuned, and let's master DevOps together!

Комментарии • 72

  • @user-ds4gb7qw1c
    @user-ds4gb7qw1c 2 месяца назад +1

    Great job buddy.
    Keep doing it..!! Have a great career ahead..!!

  • @Niruukumar
    @Niruukumar 4 месяца назад +1

    Great 👍 @DevOpsMaster
    Keep it up..!!

  • @balumahindara4722
    @balumahindara4722 Месяц назад

    You are a Gem! This video is savior for many .

  • @thapasujan07
    @thapasujan07 2 месяца назад

    Keep on uploading Sir. Best wishes.✨

  • @suhasadduri1691
    @suhasadduri1691 2 месяца назад

    Great Content , Great Effort

  • @KayDeeSibbs
    @KayDeeSibbs 3 месяца назад +1

    I was always stuck on the last stage of deploying the nginx because of the error of API server. Thank a lot for the video you have gained yourself a subscriber

  • @praveenkumar331
    @praveenkumar331 25 дней назад

    Nice explanation.thank you for the project

  • @dhilone
    @dhilone 2 месяца назад

    truly useful bro

  • @yashwanthyash5273
    @yashwanthyash5273 2 месяца назад

    Great Job Buddy
    please do more on ci/cd pipeline automation

  • @MaheshMahi-lb1zf
    @MaheshMahi-lb1zf 4 месяца назад

    17th subscriber of your channel

  • @nguyenthanhlam1566
    @nguyenthanhlam1566 2 месяца назад

    So Great Sir Keep it up 💪💪

  • @samipdaveyt
    @samipdaveyt 4 месяца назад

    nice explained bro keep it up👍👍👍

  • @praveenkumarnavati5569
    @praveenkumarnavati5569 2 месяца назад

    Hi bro, Nice explanation, Its very useful topic, upload more videos

  • @ayushhajela8198
    @ayushhajela8198 9 дней назад

    Amazing content, just can you explain more in detail how you managed to deploy nginx and what was the problem?

  • @Silent_yt678
    @Silent_yt678 2 месяца назад

    Great❤

  • @pramodhbr4190
    @pramodhbr4190 3 месяца назад

    Great

  • @somarajukottu1440
    @somarajukottu1440 3 месяца назад +2

    Hey Bro your explanation was good something was missing so please explain clearly, less explanation but hands on was very clear, next time explain clearly bro, Really thank you very much it will help to us.

    • @DevOpsMaster-un3ms
      @DevOpsMaster-un3ms  3 месяца назад +1

      Thanks for watching and definitely I will work on that ❤️

  • @travelwithdiva
    @travelwithdiva 27 дней назад

    Nice one. Do we have to run this pipeline again and again if we want to make some changes like a diff version of the pod image or so, or create a separate pipeline that will deploy only the changes in the same eks cluster or the eks cluster will recreate using your pipeline and redeploy everything. What will be downtown in that case?

  • @user-xp2wo4vp3d
    @user-xp2wo4vp3d 2 месяца назад

    ❤❤

  • @robmah7771
    @robmah7771 3 месяца назад

    Thank you very much for the explanation. The last stage of deploying the nginx is not working. The commit does not have your latest kubernetes.tf and main.tf files. Can you please update the commit?

    • @DevOpsMaster-un3ms
      @DevOpsMaster-un3ms  3 месяца назад +2

      Thanks for watching the video.. I have committed changes in dev branch , you can check there..I hope your problem will solve now.

  • @vinayk-il2gv
    @vinayk-il2gv 3 месяца назад

    Hai...thanks for u r valuable information..in ec2 module code i have given key paire name but .it is looking for key ..where should I keep key pair..

    • @DevOpsMaster-un3ms
      @DevOpsMaster-un3ms  3 месяца назад

      First of all thanks for watching video..
      Goto AWS console and open ec2 , left side there you will find “Key Pairs “ in Network & Security, just click on that and create key pair😊

    • @vinayk-il2gv
      @vinayk-il2gv 3 месяца назад

      Thanks.. it's working

  • @accountfortesting6321
    @accountfortesting6321 4 месяца назад

    Hey @DevOpsMaster: content is awesome but it will be very helpful if you suggest few things:
    1: How we can take reference of custom vpc to provision EKS on that which I already created like if we want to provision EKS in same jenkins-vpc which you created i.e if do not want to create another vpc for EKS separate.
    2: If we provisioned EKS in same PVC then suppose if we have already created more than 1 EKS and more than 2 Ec2 whether its created via terraform or manually will be any impact.
    3: if we try self to provision EKS cluster in free account for testing with 2 to 3 nodes suppose t2.medium each than can you suggest how much the cost will be to provision EKS in our account for 5 to 6 hours.

    • @DevOpsMaster-un3ms
      @DevOpsMaster-un3ms  4 месяца назад

      First of all thank you so much for watching my video and giving your valuable feedback 😇
      1. You can invoke vpc module (jenkins-server vpc) in eks resource module by just defining “source /path/to that vpc module/“ . By doing this you can create eks cluster in same vpc.
      2. Yes, you can provision multiple services in single vpc there will be no impact on other resources.
      3. Eks cluster with t2.medium nodes for 5-6 hours it will cost around (2-3)$ if you’re using custom vpc. For default vpc it will cost less but that is not good practice
      I hope you will get better idea after this :)

    • @accountfortesting6321
      @accountfortesting6321 3 месяца назад

      @@DevOpsMaster-un3ms as per the first point can you please give a sample example to reference custom VPC and thanks for the other points response.

  • @brostlefc
    @brostlefc 2 месяца назад

    I believe most of the terraform configurations you did in the first 10mins were things that you can do on the AWS User interface right ?

    • @DevOpsMaster-un3ms
      @DevOpsMaster-un3ms  2 месяца назад +1

      Thanks for watching video and commenting on it , means a lot ❤️☺️
      Yes, not only video beginning services even you can complete whole project using aws console user interface but that’s not a good practice that’s why I showed each and every small thing from scratch..

    • @brostlefc
      @brostlefc 2 месяца назад

      @@DevOpsMaster-un3ms I quite agree with you that using the AWS Console interface is not the best practice, though I don't know for work experience sake if you can tell me. I would appreciate it.
      However, I subscribed because of how you did it using CLI. I would like to master that. Can you recommend materials or videos that can help me master that?

    • @DevOpsMaster-un3ms
      @DevOpsMaster-un3ms  2 месяца назад +1

      @@brostlefc Absolutely, using the AWS Console directly can be time-consuming and error-prone, especially when managing multiple resources or environments. Instead, Using terraform or CloudFormation allows for easier management, version control, and reproducibility of your infrastructure.
      U can check out this playlist of terraform zero to hero by Abhishek veeramalla(ruclips.net/p/PLdpzxOOAlwvI0O4PeKVV1-yJoX2AqIWuf&si=nlKPUrHiN7EF4f8Y)

  • @raviteja-oe8wt
    @raviteja-oe8wt 3 месяца назад

    @DevOpsMaster why jenkins server and eks cluster are in different vpc? What happens if we create in same vpc? Thanks

    • @DevOpsMaster-un3ms
      @DevOpsMaster-un3ms  3 месяца назад

      Yes , you can create multiple instances and clusters in single vpc through terraform modules.

    • @ibmuser13
      @ibmuser13 2 месяца назад

      good practice to keep them separate

  • @chandrasekhar5858
    @chandrasekhar5858 2 месяца назад

    Please do video on devops zero to Hero

  • @user-ox7tl6ie2z
    @user-ox7tl6ie2z 3 месяца назад +1

    hi bro when i was trigger the jenkins job I am facing this error + kubectl apply -f deployment.yml
    error: You must be logged in to the server (the server has asked for the client to provide credentials)
    and One more thing I was watched same vedio and same --> Guri madam explination

    • @DevOpsMaster-un3ms
      @DevOpsMaster-un3ms  2 месяца назад

      Checkout to dev branch, there you will find modified files! Thanks for watching the video ❤️

  • @chetanlanje6144
    @chetanlanje6144 3 месяца назад

    Great brother ..Thanks

  • @kavindugunasekara448
    @kavindugunasekara448 2 месяца назад

    In my AWS EC2 instance type there no t2.medium Sir , It start from t3 there is no any t2 types ,, please sir I need you Help

  • @KishanRampure
    @KishanRampure 2 месяца назад

    Hello,
    It is a really nice CICD pipeline.
    but got some error's in deployment.yml file and EKS -> data.tf file.
    In the deployment.yml -> template not templates.
    In the data.tf ->
    data "aws_eks_cluster" "cluster" {
    name = module.eks.cluster_id
    }
    #it's throwing error required name argument
    So i have used below data. It's working
    data "aws_eks_cluster_auth" "cluster" {
    name = module.eks.cluster_name
    depends_on = [
    module.eks
    ]
    }
    Please check your side also, and is issue is with myside only or comman issue.

    • @DevOpsMaster-un3ms
      @DevOpsMaster-un3ms  2 месяца назад

      Thank you kishan for your feedback , ok ! If it’s working then definitely I will update it☺️

    • @KishanRampure
      @KishanRampure 2 месяца назад

      @@DevOpsMaster-un3ms "aws_eks_cluster" and "aws_eks_cluster_auth" Both have to provide (depends_on) parameter.
      :) Thank you.

  • @ayencoscolfield3312
    @ayencoscolfield3312 2 месяца назад

    hi great content but why ois the terraform.tfstate inside gitghub it should have been part of the .gitignore items to be ignored when pushing to repository it should rather be in the s3 bucket

    • @DevOpsMaster-un3ms
      @DevOpsMaster-un3ms  2 месяца назад +1

      Yes , definitely it should have been part of .gitignore , but I forgot to mention that in .gitignore while pushing chages to GitHub repository , because state file wasn’t needed for further process. Thanks for sharing that 😊 and once again thanks for watching the video:)

    • @ayencoscolfield3312
      @ayencoscolfield3312 2 месяца назад

      @@DevOpsMaster-un3ms Thanks for adding values through your videos, will definitely be sharing within my network, great work you are doing, pls lets keep the flag flying👍

    • @DevOpsMaster-un3ms
      @DevOpsMaster-un3ms  2 месяца назад

      @@ayencoscolfield3312 Thank you so much it means a lot ❤️

  • @user-xp2wo4vp3d
    @user-xp2wo4vp3d 2 месяца назад

    ❤❤