Awesome content but I have a question(may be dumb 😊). At the end of the video, you were saying when using destroy it would be destroying all the infrastructure. The Jenkins instance on AWS will remain stay. Please confirm.
hi , at the last step I am getting error I am not able to deploy the application getting below error + kubectl apply -f deployment.yaml error: You must be logged in to the server (the server has asked for the client to provide credentials)
Thanks for this video 🙏Madam. Actually, I was looking for ECS & EKS. I find more on ECS in youtube Wanted to know the difference of ECS & EKS... suppose if I write separate K8s deployments.yaml & services.yaml can I place them in EKS?..if so, how? Suggestions: @34:48 egress_with_cidr_blocks 👉 will be more helpful if explained why 0 for from & to ports -1 to protocols etc @1:00:30 why the subnet range was changed to 192.168 (private subnet? and public subnet has to start with 10.***) @1:36:00 Thanks 🙏 for the choice (I was not aware of this, always till these days (2yrs) I will be using copy the pipeline) @1:47:00 You were providing the aws eks update-kubeconfig --name my-eks-cluster 👉 what is the purpose of this?
Hi @gauri, Thank you so much for the detailed video. I have gone through so many videos, and courses before but no one explained this much in detail. I have one doubt though, can you please help me understand the private_subnet tag you have added for what reason.
Thanks Gauri. For you huge effort. I am getting error as Error: ceating IAM Role(node-eks-node-group-some numbers): Operation error IAM: CreateRole, https response error StatusCode: 403 (501: resource "aws_iam_role" "this" {, when I try to do terraform apply command to EKS folder. So please tell how to resolve this error. Thanks
You need to check the policy attached to your node. It should allow to create role. Please refer the link below: stackoverflow.com/questions/70953798/iamcreaterole-access-denied-for-assumed-role
hi madam ,when i will trigger the jenkins job as you exaplained I am getting error like this "+ kubectl apply -f deployment.yml error: You must be logged in to the server (the server has asked for the client to provide credentials)" can you help me this
Mam i have a internship interview at redhat for devops role after few … so this project is enough to showcase there … and give some tips to clear the interview thanks
Only this project won't be enough because this will only show that you know terraform and AWS. You need to showcase projects where multiple tools are used
Hi @codewithgauri , You have used two vpc cidr ranges. Jenkins is one vpc and eks is in another. How the jenkins is able to access eks vpc without any peering?
Jenkins is not always located in the same VPC as that of EKS. You must have noticed that the Jenkins might be local and still we can deploy changes to the AWS using AWS Credentials. We are not connecting them here.
i have gone through multiple tutorials for eks setup with terraform and only you have executed code from the scratch for the most people it was already written and they just give us a walk through thank you gauri :)
Not able to create the EKS ,Its saying its creating but not creating and getting the message like creating , do we have anything to change instance type or EKS version?
Error: fetching Availability Zones: AuthFailure: AWS was not able to validate the provided access credentials │ status code: 401, request id: 28f92071-4f6c-4f3b-8975-3ea12da91db5 │ │ with data.aws_availability_zones.azs, │ on data.tf line 1, in data "aws_availability_zones" "azs": │ 1: data "aws_availability_zones" "azs" {} mam i am face this error
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?
I think you don't need to create another pipeline everytime. If you have checked the poll SCM for the Jenkins pipeline then it will automatically trigger the pipeline for a different version.
│ Error: Your query returned no results. Please change your search criteria and try again. │ │ with data.aws_ami.ubuntu, │ on data.tf line 1, in data "aws_ami" "ubuntu": │ 1: data "aws_ami" "ubuntu" { │ Iam getting this error, i have tried many ways, getting same pls help on this...
hi, can you just help me my resources are not getting created and vpc has created in was console but with different cidr and it doesn't have name can you please explain this
This is so awesome, Excellent explanation. I was thinking how can I deploy one real world application with database in two different eks cluster, one for production and one for staging/development from another repositories two branches with main and release, using dockerized images of the app which is pushed to ECR.
First of all...you can't use the same approach to deploy an application. For that you won't be making use of Terraform. In case if you want to deploy an application on docker, then you would have to create the image for your application.
@@codewithgauri thanks for responding see the error i ran all the steps as it $ terraform plan var.public_subnets subnets CIDR Enter a value: 10.0.1.0/24 var.vpc_cidr vpc Cidr Enter a value: 10.0.0.0/16 ╷ │ Error: Invalid number literal │ │ on line 1: │ (source code not available) │ │ Failed to recognize the value of this number literal. ╵ ╷ │ Error: No value for required variable │ │ on variable.tf line 7: │ 7: variable "public_subnets" { │ │ The root module input variable "public_subnets" is not set, and has no │ default value. Use a -var or -var-file command line argument to provide a │ value for this variable.
@Gauri - Getting this error when we deploy the service kubectl apply -f deployment.yaml error: You must be logged in to the server (the server has asked for the client to provide credentials)
Much obliged. What a beautiful and valuable DevOps project you have made. I am so grateful for your making such a worthy video. I learned a lot in this two-hour session. Now I am more confident. Just a small query please: Q.) Correct me if I am wrong, While creating the EKS cluster I believe we need to attach a EKS Cluster Role(EKS/EC2 role with some permissions/policy) seems this step not there but still worked. Could you please clear my doubt? Once again thank you for your time and god bless you by hiking your salary 🙂
wow! this is so fantastic Gauri...I was looking for individual projects and trying so hard to stitch them together and you came along! thank you so much...so many new techniques too...especially tags..and using TF modules..
thank you so much Gauri for sharing this project walkthrough! I found it very helpful. It would be even greater if you could include the application source code part in the current pipeline, like auto-trigger a new image build upon commits, and then use that image in the application deployment stage.
Good insight. We would be coming to application deployment as well...Since working with Terraform I considered creating video on the same for now. Thanks!
Hello mam, I am trying to install argocd on eks using helm chart through terraform only and trying to automate using Jenkins Can you please guide little bit on it or can you please upload video for the same Or steps after cluster creation. Thank you.
Thanks very much Gauri! Very helpful tutorial. Thank you for your selfless service, May God bless you! I had one question - I see you used terraform public modules .. Can we always use public modules or should we write custom modules as well? I mean, can most of our use cases be accomplished using public modules? Please shed some light on this. Thanks again!
Glad you found the video useful. The thing is that it depends on the customer requirement. If the public modules can satisfy the needs then there's no harm in using them. But if you want more customisations in the module, then you can create your own.
Thanks for this great tutorial. I keep getting this error: + kubectl apply -f deployment.yaml error: You must be logged in to the server (the server has asked for the client to provide credentials). I do not know what could be the problem. Any pointers? I am logged in as root on aws and I also noticed an IAM role was created automatically.
Hi @codewithgauri, I've followed exact steps including updating kubeconfig, but I keep getting error "You must be logged in to the server (the server has asked for the client to provide credentials)" while running deployment. Added EKS Cluster policy role as well. But nothing worked. Please share your thoughts.
Hi, was having the same issue But most probably the problem is Memory issue. Use t2.small or any other instance type instead of t2.micro for the jenkins-server It solved my issue Hope this helps.😊
Thanks @@sayantansamanta7746 the issue got resolved. my pipelines are getting successful but the nginix deployment step is getting finished in 6sec and the load balancer is not getting created any idea on this
Sorry I forgot to mention, the SCM Poll is basically used to check the updates in the git repo...if there are any changes then it triggers the Jenkins pipeline. And in this case we used * * * * * which means we are going to check it after every minute