I tried to use your code , Im facing this issue while I give terraform apply "Error running command 'for i in `seq 1 60`; do wget --no-check-certificate -O - -q $ENDPOINT/healthz >/dev/null && exit 0 || true; sleep 5; done; echo TIMEOUT && exit 1': exec: "/bin/sh": file does not exist. Output:"
Your videos are like accelerated versions or courses that I can stop, backup, try as I please without all the nonsensical time wasting of an entire course. You rock man. Can you please make a video of setting up Rancher to work with the same types of Kubernetes clusters that you're creating please?
your videos are just superb Marcel. Whenever I want to learn something new around DevOps.. the first that I do is just follow ur videos & it gives me a lot of good foundation. Love you mate.
This is great and really helpful - although examples are somewhat out of date now. At the time of writing this, version 18.9.0 is out for terraform-aws-modules/eks/aws module with some significant differences.
Something else that I've found while using Terraform with Kubernetes: Helm Charts can, and really need to, be used to add Terraform expressions to a deployment. The Kubernetes provider can create some resources, but the Kubernetes Alpha version has to be used to specify CRDs, and everything has to be done in HCL (the base language of Terraform). With the Helm provider, you just use Helm Charts (templated yaml), and you're good. You can basically use your existing yaml files. That way, you never have to use kubectl apply for anything.
I guess I should leave my comment alone. I corrected a spelling error, and it removed the heart! I guess that makes sence. I could have said A with which you agreed, and edited it to say B with which you disagreed. In this case, though, it was just a spelling correction.
Nice! I just did this process with Terraform, and I had to have some Windows worker nodes. Taints and Tollerations are really helpful there, since pods will schedule on a Windows node, and fail to start if you don't have them.
Hello Marcel, nice tutorial. Still very much relevant in 2023. But you might want to updated version because quite a number of the modules have been deprecated. Well done👍
Your videos are the best! We are actually already using terraform with eks but I watched to see if you did it differently. One thing I noticed, you exported the kubectl_config from the eks module, but then you don't actually use it in the kubernetes deployment like you said. You actually used the cluster certificate and token, which is a better way to do it.
I assume we could just create a dockerfile for that initial container setup as well? This is just to save some manual installation steps everytime we want to repeat this process
Error: Error in function call │ Thanks, followed video instructions with git repo reference and end up with version issue. any thought ..? │ on .terraform/modules/vpc/outputs.tf line 518, in output "vpc_endpoint_ecs_telemetry_id": │ 518: value = "${element(concat(aws_vpc_endpoint.ecs_telemetry.*.id, list("")), 0)}" │ │ Call to function "list" failed: the "list" function was deprecated in Terraform v0.12 and is no longer available; use tolist([ ... ]) │ syntax to write a literal list.
Terraform says "list" is now deprecated as of v0.12 and is no longer supported, so I try using tolist([...]) like it recommended. Now I get errors saying tolist is not a valid constructor and I can't terraform apply it. WHAT!??
Well anyway, that deprecation broke everything, so I can't even use this example anymore. I don't know what I'm supposed to replace "list" with since "tolist" isn't working and terraform doesn't even explain properly how to fix it, especially the two lists with Objects inside them.
Can you please suggest how we can declare our own custom vpc if we have suppose 5 vpc called VPC A,B, C, D,E and wants to spin up EKS separately in VPC A and vpc B only then how?
Hello Sir, Needing your help to understand the combination of Terraform, EKS & Helm. Could you please make a video? I have been added to a project at work recently with all these 3 combinations and I am new to all 3. I see you have EKS with Helm and EkS with Terraform. Can you please make a short video with all 3 with an example? It will be of great help, thank you !
Hi, thanks for great videos. But in this one, i cant see any compute node in created EKS cluster. How can i get just created autscaling work_group to EKS? I need it, to be able to modify Compute node count (maximum, desire, minimum) if needed through aws web ui.
any chance you have a video where you marry the creation of a EKS cluster with a pre created VPC with subnets (created by another team using CloudFormation)
love your videos. instead of creating a worker group, can you help me modify the code to include a node group? the worker group isn't technially a node group ( at least in the front end Console)
Outstanding, EKS Terraform to the point explanation !! could you elaborate on map_roles = var.map_roles, map_users = var.map_users - incase role need to be created via Terraform. Thank again.
Hi, This video is interresting because it's an alternative with your previous video "Introduction to Amazon EKS Kubernetes for beginners" You replace kubetctl + eksctl by Terrafom. I like very much Terraform but it seems strange to write the YAML manifest in HCL. With manifests in HCL, we also loose the power of Kustomize tool as seen in you previous video "Simplify Kubernetes YAML with Kustomize" We also loose the possibility to make CI/CD with flux as seen in "Kubernetes GitOps with Flux CD" I am lost here. I know you prefer simple solutions (so you prefer exclude things like Helm). What's better for you : - This solution : Using Terrafom ? And kuberctl is only here to query the cluster ? - Or you previous solution : Using eksctl + kubectl + kustomize (and optionnaly flux) ? And thanks again for your excellents videos !
Thanks 💪🏽 There is a third scenario of storing all cluster manifests in cluster using Flux too. Ultimately, I don't think there is a right or wrong approach. Some go eksctl + full on ArgoCD, others Flux, others Terraform. I think it really depends on what you and your team are comfortable with. If you're a Terraform shop, stick to Terraform. Hashicorp is releasing a new K8s Alpha provider with a k8s-to-tf conversion tool. If you're a Terraform shop, it makes sense to go that path in sync with what you do. You may just use shell\bash\powershell and spin up your clusters and that's ok too. (Keep that in Git). OR - You may keep static templates in Git, package it as Helm charts and roll it out manually or via CI and that's ok too. Or go Flux and keep every cluster as a Git Repo. Personally I'd start by keeping my cluster creation scripts in Bash (
Hi Marcel, I follow your steps but not sure why I don't see node groups in the eks console and the worker ec2, although created not registeres as a node in the cluster, what might have gone wrong?
Any leads will be profoundly helpful. Got this error while running the code in VS code in windows os: Error: Your query returned no results. Please change your search criteria and try again. on .terraform/modules/eks/data.tf line 27, in data "aws_ami" "eks_worker_windows": 27: data "aws_ami" "eks_worker_windows" {
Kubernetes ☁ in ☁ the ☁ Cloud 👇🏽
th-cam.com/play/PLHq1uqvAteVsUhzNBkn-rPzXtPNpJu1-k.html
I tried to use your code , Im facing this issue while I give terraform apply
"Error running command 'for i in `seq 1 60`; do wget --no-check-certificate -O - -q $ENDPOINT/healthz >/dev/null && exit 0 || true; sleep 5; done; echo TIMEOUT && exit 1': exec: "/bin/sh": file does not exist. Output:"
This channel has saved me literally whole days of reading docs and trying to glue stuff together. Much love
Not sure why this guy still don’t have millions subscribers. He’s the master of sharing knowledge with absolute clarity.
This channel is a textbook definition of a hidden gem
He is so underrated! Love your energy, keep it up Marcel.
That "Seriously underrrated" DevOps Guy strikes again. So much perfectly delivered content in this video. Well done.
Your videos are like accelerated versions or courses that I can stop, backup, try as I please without all the nonsensical time wasting of an entire course. You rock man. Can you please make a video of setting up Rancher to work with the same types of Kubernetes clusters that you're creating please?
You're a lifesaver! I've been trying to get that running for the last 2 weeks, and you've made it clear in 18 minutes!
Thanks! I realized that the latest terraform version (>= v1) having issue with this tutorial. I downloaded the older version (0.14) and it works.
+1
Man, you are an amazing instructor. This tutorial is just awesome. You just earned a new sub.
your videos are just superb Marcel. Whenever I want to learn something new around DevOps.. the first that I do is just follow ur videos & it gives me a lot of good foundation. Love you mate.
Super useful, I was searching for something like this for some time.
Exactly what I was looking for. Thank you
This is great and really helpful - although examples are somewhat out of date now. At the time of writing this, version 18.9.0 is out for terraform-aws-modules/eks/aws module with some significant differences.
Exactly.
Something else that I've found while using Terraform with Kubernetes: Helm Charts can, and really need to, be used to add Terraform expressions to a deployment. The Kubernetes provider can create some resources, but the Kubernetes Alpha version has to be used to specify CRDs, and everything has to be done in HCL (the base language of Terraform). With the Helm provider, you just use Helm Charts (templated yaml), and you're good. You can basically use your existing yaml files. That way, you never have to use kubectl apply for anything.
I guess I should leave my comment alone. I corrected a spelling error, and it removed the heart! I guess that makes sence. I could have said A with which you agreed, and edited it to say B with which you disagreed. In this case, though, it was just a spelling correction.
Perfect. Accumulation of information is not knowledge.Thank You.
Nice! I just did this process with Terraform, and I had to have some Windows worker nodes. Taints and Tollerations are really helpful there, since pods will schedule on a Windows node, and fail to start if you don't have them.
Hello Marcel, nice tutorial. Still very much relevant in 2023. But you might want to updated version because quite a number of the modules have been deprecated.
Well done👍
Bless you sir!
Your videos are the best! We are actually already using terraform with eks but I watched to see if you did it differently. One thing I noticed, you exported the kubectl_config from the eks module, but then you don't actually use it in the kubernetes deployment like you said. You actually used the cluster certificate and token, which is a better way to do it.
The best! Very good videos and your explanations are simple and clear. Thanks!
Thank you - one of the best teachers out there
awesome video buddy..thanks for making such a super video
Dude, you are good. you really simplify it. well done!
Always just what we need - Thanks Marcel!!! Great video!
I’ve watched so many of your videos, amazing work dude keep it up
Love your videos dude, marginally entertaining and gets the important parts across.
Request: Can you explain more about EKS node groups?
I assume we could just create a dockerfile for that initial container setup as well? This is just to save some manual installation steps everytime we want to repeat this process
For sure 💪🏽
0:30 - 1:01 : hell yeah man
Beautifully explained, subscribed!
Deserves million views. 🙌🙏
Incredible! Love the attention to details, making sure you don't leave the important stuff behind. ++
your vids are awesome ! keep it up
Error: Error in function call
│ Thanks, followed video instructions with git repo reference and end up with version issue. any thought ..?
│ on .terraform/modules/vpc/outputs.tf line 518, in output "vpc_endpoint_ecs_telemetry_id":
│ 518: value = "${element(concat(aws_vpc_endpoint.ecs_telemetry.*.id, list("")), 0)}"
│
│ Call to function "list" failed: the "list" function was deprecated in Terraform v0.12 and is no longer available; use tolist([ ... ])
│ syntax to write a literal list.
I ran into same error too same error, yet to fix it
Terraform says "list" is now deprecated as of v0.12 and is no longer supported, so I try using tolist([...]) like it recommended. Now I get errors saying tolist is not a valid constructor and I can't terraform apply it. WHAT!??
Well anyway, that deprecation broke everything, so I can't even use this example anymore. I don't know what I'm supposed to replace "list" with since "tolist" isn't working and terraform doesn't even explain properly how to fix it, especially the two lists with Objects inside them.
@@hotcake1336 easy fix, this whole problem is related wit the versions of terraform you're using, so just replace list("")), 0) with tolist([""])), 0)
Can you please suggest how we can declare our own custom vpc if we have suppose 5 vpc called VPC A,B, C, D,E and wants to spin up EKS separately in VPC A and vpc B only then how?
would it be best practice to put an api gateway on top of the nginx ingress point?
Hi ThatDevOpsGuy - Amazon Video - Have you got an exmaple of deployments running on EKS using Fargate profiles?
Great! Thanks a lot !!!
Would love similar videos about GKE and GCP services!
Hello Sir,
Needing your help to understand the combination of Terraform, EKS & Helm. Could you please make a video?
I have been added to a project at work recently with all these 3 combinations and I am new to all 3.
I see you have EKS with Helm and EkS with Terraform.
Can you please make a short video with all 3 with an example?
It will be of great help, thank you !
So powerfull !! Thanks Devops Guy
which terraform version did u use?
Do you have recommended way to attach a new NIC to each eks node?
Treid with your code but it is saying no nodes available to schedule pods how to tackle it?
Great one. Thank you!!
I'm loving your videos! I really Do! Keep doing stuff like this...
Hi, thanks for great videos. But in this one, i cant see any compute node in created EKS cluster. How can i get just created autscaling work_group to EKS? I need it, to be able to modify Compute node count (maximum, desire, minimum) if needed through aws web ui.
Awesome Overview !
Can you create a playlist for the K8 on mirror clouds providers as well AWS EKS playlist.
Do you have terraform module video for cluster auto scale
Nice video dude. Could you please explain how to implement Jenkins in EKS but using Terraform? Thanks
any chance you have a video where you marry the creation of a EKS cluster with a pre created VPC with subnets (created by another team using CloudFormation)
Superb!! Excellent Keep going
love your videos. instead of creating a worker group, can you help me modify the code to include a node group? the worker group isn't technially a node group ( at least in the front end Console)
Outstanding, EKS Terraform to the point explanation !! could you elaborate on map_roles = var.map_roles, map_users = var.map_users - incase role need to be created via Terraform. Thank again.
Hi,
This video is interresting because it's an alternative with your previous video "Introduction to Amazon EKS Kubernetes for beginners"
You replace kubetctl + eksctl by Terrafom.
I like very much Terraform but it seems strange to write the YAML manifest in HCL.
With manifests in HCL, we also loose the power of Kustomize tool as seen in you previous video "Simplify Kubernetes YAML with Kustomize"
We also loose the possibility to make CI/CD with flux as seen in "Kubernetes GitOps with Flux CD"
I am lost here. I know you prefer simple solutions (so you prefer exclude things like Helm).
What's better for you :
- This solution : Using Terrafom ? And kuberctl is only here to query the cluster ?
- Or you previous solution : Using eksctl + kubectl + kustomize (and optionnaly flux) ?
And thanks again for your excellents videos !
Thanks 💪🏽
There is a third scenario of storing all cluster manifests in cluster using Flux too.
Ultimately, I don't think there is a right or wrong approach.
Some go eksctl + full on ArgoCD, others Flux, others Terraform.
I think it really depends on what you and your team are comfortable with.
If you're a Terraform shop, stick to Terraform. Hashicorp is releasing a new K8s Alpha provider with a k8s-to-tf conversion tool. If you're a Terraform shop, it makes sense to go that path in sync with what you do.
You may just use shell\bash\powershell and spin up your clusters and that's ok too. (Keep that in Git).
OR - You may keep static templates in Git, package it as Helm charts and roll it out manually or via CI and that's ok too.
Or go Flux and keep every cluster as a Git Repo.
Personally I'd start by keeping my cluster creation scripts in Bash (
@@MarcelDempers Thank you Marcel :)
Nice video.
Would setup a Bastian host to access k8s cluster .
Hi Marcel, I follow your steps but not sure why I don't see node groups in the eks console and the worker ec2, although created not registeres as a node in the cluster, what might have gone wrong?
@Valar Morghulis yes I did, but I forgot what fixed it
Nice Video, @That DevOps Guy what VS code Theme are you using?
Amethyst Dark 💪🏽
@@MarcelDempers Thank you
Really usefull!
How to connect to Docker via vscode?
This is awesome. could you please update this since it's bit old now..
Love your videos! Ever thought about doing a Kubernetes mysql replica tutorial with an operator?
Excellent 😍
any series service mesh intro with python + django + Kubernetes + Terraform
Can you do one video about Tekton and another one on Flagger? Thanks.
Great content Dude, but terraform have updated this module using ur code as is would break
My eyes my eyes 😩
Getting Failed to install providers
This is a MAX_PATH issue and is now resolved.
You teach so many complicated things, what is your salary lol?over 10k? u genius
too fast for beginners. thanks anyway.
Any leads will be profoundly helpful. Got this error while running the code in VS code in windows os:
Error: Your query returned no results. Please change your search criteria and try again.
on .terraform/modules/eks/data.tf line 27, in data "aws_ami" "eks_worker_windows":
27: data "aws_ami" "eks_worker_windows" {