Create AWS VPC using Terraform: AWS EKS Kubernetes Tutorial - Part 1

SdĂ­let
VloĆŸit
  • čas pƙidĂĄn 31. 05. 2024
  • 🔮 - To support my channel, I’d like to offer Mentorship/On-the-Job Support/Consulting - me@antonputra.com
    👉 [Playlist] AWS EKS Kubernetes Tutorial: ‱ AWS EKS Kubernetes Tut...
    1. Create AWS VPC using Terraform
    2. Create AWS EKS Cluster using Terraform
    3. Add IAM User & IAM Role to AWS EKS
    4. Horizontal Pod Autoscaler (HPA) on AWS EKS
    5. Cluster Autoscaler Tutorial (EKS Pod Identities)
    6. AWS Load Balancer Controller Tutorial (TLS)
    7. Nginx Ingress Controller Tutorial (Cert-Manager & TLS)
    8. CSI Driver Tutorial (ReadWriteOnce)
    9. EFS CSI Driver Tutorial (ReadWriteMany)
    10. AWS Secrets Manager Tutorial (Env & Files)
    Based on the feedback, I’ll add the following sections (let me know if anything else is missing):
    - Autoscaling with Karpenter
    - Autoscaling with Keda
    - Private Ingress with Private DNS & VPN
    - Monitoring with Prometheus
    - EKS self managed group
    - EKS Fargate
    - EKS Pod Identities vs. EKS IRSA (oidc) vs. Node roles
    ▬▬▬▬▬ Experience & Location đŸ’Œ ▬▬▬▬▬
    â–ș I’m a Senior Software Engineer at Juniper Networks (12+ years of experience)
    â–ș Located in San Francisco Bay Area, CA (US citizen)
    ▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬
    â–ș LinkedIn: / anton-putra
    â–ș Twitter/X: / antonvputra
    â–ș GitHub: github.com/antonputra
    â–ș Email: me@antonputra.com
    ▬▬▬▬▬▬ Related videos đŸ‘šâ€đŸ« ▬▬▬▬▬▬
    👉 [Playlist] Kubernetes Tutorials: ‱ Kubernetes Tutorials
    👉 [Playlist] Terraform Tutorials: ‱ Terraform Tutorials fo...
    👉 [Playlist] Network Tutorials: ‱ Network Tutorials
    👉 [Playlist] Apache Kafka Tutorials: ‱ Apache Kafka Tutorials
    👉 [Playlist] Performance Benchmarks: ‱ Performance Benchmarks
    👉 [Playlist] Database Tutorials: ‱ Database Tutorials
    ▬▬▬▬▬▬▬ Timestamps ⏰ ▬▬▬▬▬▬▬
    0:00 Intro
    2:29 Create Local Variables
    4:47 Create AWS VPC using Terraform
    5:26 Create AWS Internet Gateway using Terraform
    5:46 Create AWS Private & Public Subnets using Terraform
    8:04 Create AWS NAT Gateway using Terraform
    8:50 Create Private & Public Route Tables using Terraform
    9:36 Associate Route Tables with Subnets
    10:31 Apply Terraform
    12:03 AWS VPC Overview
    ▬▬▬▬▬▬▬ Source Code 📚 ▬▬▬▬▬▬▬
    â–ș GitHub: github.com/antonputra/tutoria...
    #AWS #EKS #Kubernetes
  • Věda a technologie

Komentáƙe • 35

  • @AntonPutra
    @AntonPutra  Pƙed 16 dny +9

    🔮 - To support my channel, I’d like to offer Mentorship/On-the-Job Support/Consulting - me@antonputra.com

  • @AntonPutra
    @AntonPutra  Pƙed 16 dny +13

    Part 2 will be released in 2 days. Playlist - czcams.com/play/PLiMWaCMwGJXnKY6XmeifEpjIfkWRo9v2l.html&si=Ku0ay7zUEKgfcVcb
    1. Create AWS VPC using Terraform
    2. Create AWS EKS Cluster using Terraform
    3. Add IAM User & IAM Role to AWS EKS
    4. Horizontal Pod Autoscaler (HPA) on AWS EKS
    5. Cluster Autoscaler Tutorial (EKS Pod Identities)
    6. AWS Load Balancer Controller Tutorial (TLS)
    7. Nginx Ingress Controller Tutorial (Cert-Manager & TLS)
    8. CSI Driver Tutorial (ReadWriteOnce)
    9. EFS CSI Driver Tutorial (ReadWriteMany)
    10. AWS Secrets Manager Tutorial (Env & Files)
    Based on the feedback, I’ll add the following sections (let me know if anything else is missing):‹
    - Autoscaling with Karpenter
    - Autoscaling with Keda
    - Private Ingress with Private DNS & VPN
    - Monitoring with Prometheus
    - EKS self managed group
    - EKS Fargate
    - EKS Pod Identities vs. EKS IRSA (oidc) vs. Node roles

    • @bestellannahme1789
      @bestellannahme1789 Pƙed 16 dny

      Thanks Anton :)
      Would it also be possible to include karpenter?
      -> I refactored the code in your karpenter video & could send it to you
      p.S: just did the depreciated parts

  • @KX3DEX
    @KX3DEX Pƙed 12 dny +1

    My work just did this. Can't wait to watch it all.

    • @AntonPutra
      @AntonPutra  Pƙed 12 dny +1

      thanks, next section will be released in 1-2 hrs

  • @navinkumar6388
    @navinkumar6388 Pƙed 16 dny +2

    Thanks 🙏
    With Love from India 🇼🇳

  • @agun21st
    @agun21st Pƙed 12 dny +1

    Get learn with latest version. Thank you sir.

  • @JohnVold
    @JohnVold Pƙed 15 dny +1

    Great start, thanks!

  • @user-ky1fv4ul2c
    @user-ky1fv4ul2c Pƙed 16 dny +1

    Thank you!

  • @agonzalezo
    @agonzalezo Pƙed 4 dny

    Great video, thanks.
    What do you think about creating all subnets using the terraform “count” property instead of creating each separately ? I mean define 1 resource then it will become 4 subnets

    • @AntonPutra
      @AntonPutra  Pƙed 4 dny +1

      Don't use count, use map instead and for each in terraform. Count is mostly used as feature flag (0 = disable, 1 = enable)

  • @XenoZeduX
    @XenoZeduX Pƙed 13 dny +1

    Would like to see Pulumi content in the future

  • @zygote846
    @zygote846 Pƙed 4 dny

    Great vid but why not use the community modules?.Is there a specific reason to choose resources over modules?.

    • @AntonPutra
      @AntonPutra  Pƙed 4 dny +1

      This playlist is for someone who wants to learn EKS. If you have a good understanding of EKS and how it works, you can use modules. However, I personally would create my own modules because I don't want to depend on other people's timelines. For example, the open-source eks module still uses the EKS auth configmap for adding new users.

    • @zygote846
      @zygote846 Pƙed 2 dny

      @@AntonPutra exactly, I just noticed this yesterday but in version 20 it seems deprecated and starting 21.0 it will be completely removed.Upgrading these modules once in a while is also challenge but given the benefits I have opted to go with eks module as it has good support and its well maintained

    • @AntonPutra
      @AntonPutra  Pƙed 2 dny

      @@zygote846 There is nothing wrong with using modules. As I mentioned, this playlist is for someone who wants to know how EKS works and be able to debug in the future if something breaks.

  • @solaris244
    @solaris244 Pƙed 16 dny

    Thank's for your job. Could you add to the your Playlist the topic about choosing and manage CNI (subnets, CIDR, limitations) for AWS EKS?

    • @AntonPutra
      @AntonPutra  Pƙed 16 dny +4

      Will do, I’ll also include Cilium Service Mesh sidecar less mesh

    • @arunreddy1436
      @arunreddy1436 Pƙed 16 dny +1

      That would be great Sir

  • @shamstabrez2986
    @shamstabrez2986 Pƙed 15 dny +1

    do cover each and every topic of eks

    • @AntonPutra
      @AntonPutra  Pƙed 15 dny

      Yes, will do. Can you suggest any additional topics?

  • @MatthewKennedyUK
    @MatthewKennedyUK Pƙed 5 dny

    If you get chance, could you let me know more about the owned vs shared on the subnet tags please? Or link me to some information.
    Many thanks.

    • @AntonPutra
      @AntonPutra  Pƙed 5 dny +1

      sure, owned if it is used only by EKS, shared if you share that subnet with let's say other EKS clusters or VMs

    • @MatthewKennedyUK
      @MatthewKennedyUK Pƙed 4 dny

      @@AntonPutra That makes sense.

  • @123sultans
    @123sultans Pƙed 15 dny

    Can you share GitHub repo?

    • @AntonPutra
      @AntonPutra  Pƙed 15 dny

      sure, it's always under the video - github.com/antonputra/tutorials/tree/main/lessons/195

  • @ManiBalajiC
    @ManiBalajiC Pƙed 16 dny +1

    I have problem with using terraform with For_each , i used range(var.mincount.var.maxcount) to generate values for creating like 10 instances , if i delete it again run terraform apply the range is calculated and creates a new one.. Even if i give the keys for 10 instances like one,two..ten. it still recreates if i delete a instance and run again. anything to overcome this

    • @Kk-rl7nv
      @Kk-rl7nv Pƙed 16 dny +1

      Similar issue

    • @ManiBalajiC
      @ManiBalajiC Pƙed 15 dny

      @@Kk-rl7nv Hope my man @AntonPutra gives some us answer to this....

    • @AntonPutra
      @AntonPutra  Pƙed 15 dny

      Sure, please share runnable terraform example as a github gist that I can run myself and I'll help you