🔴 - To support my channel, I’d like to offer Mentorship/On-the-Job Support/Consulting - me@antonputra.com 👉 [UPDATED] AWS EKS Kubernetes Tutorial [NEW]: kzbin.info/aero/PLiMWaCMwGJXnKY6XmeifEpjIfkWRo9v2l&si=wc6LIC5V2tD-Tzwl
@Samay12053 жыл бұрын
This guy is out of the world... I just love the way he explains everything.. Keep it up Anton.. 👍👍👍
@AntonPutra3 жыл бұрын
Thanks a ton!
@Samay12053 жыл бұрын
@@AntonPutra You are always welcome. 🙂🙂
@AnilKumar1232 жыл бұрын
Most underrated KZbinr ever... Thanks a ton Anton
@AntonPutra2 жыл бұрын
I appreciate that!
@piyushdarji79262 жыл бұрын
Amazing anton putra ..... I'll check updated video as well :)
@AntonPutra2 жыл бұрын
Thanks :)
@kgfeast1502 Жыл бұрын
Great Content! It works exactly as you demonstrate. Can you make a tutorial on Deploying Keycloak on AWS EKS Cluster?
@AntonPutra Жыл бұрын
Thanks KG Feast, I'll put it to my list.
@phil52933 жыл бұрын
Amazing straight forward tutorial. Thank you Anton.
@AntonPutra3 жыл бұрын
Thank you Phil!
@mateuszszczesny5082 жыл бұрын
clearly explained. you did a gr8 job!
@AntonPutra2 жыл бұрын
Thanks Mateusz!
@saq28552 жыл бұрын
Thanks man your videos are very good and to the point. 👍
@AntonPutra2 жыл бұрын
I appreciate that!
@weitanglau1622 жыл бұрын
After searching for doucmentation past month, you solved my prob in 45mins! Good job! Keep up with the great content!
@AntonPutra2 жыл бұрын
Thanks Lau! :)
@weitanglau1622 жыл бұрын
@@AntonPutra just as a recommendation, you can further extend this series. after deploying an eks cluster, you can deploy kubernetes apps using best security practices, such as IAM roles, service accounts etc
@anthonyonah7125 Жыл бұрын
Thank you very much sir You are really wonderful 👍
@AntonPutra Жыл бұрын
Thanks!
@maheshmagalage18862 жыл бұрын
It was neat! Thank you, Anton for the tutorial.
@AntonPutra2 жыл бұрын
My pleasure!
@below_waterline3 жыл бұрын
Thank you. It was very helpful video
@AntonPutra3 жыл бұрын
You're welcome!
@bravemiata29502 жыл бұрын
Fantastic walkthrough, helped me a lot. Subscribed!
@AntonPutra2 жыл бұрын
Awesome, thank you!
@santhosh_its_me2 жыл бұрын
That was wonderful explanation ❤️. Thanks man, it was really helpful.
@AntonPutra2 жыл бұрын
Glad you liked it!
@johnmontoya71833 жыл бұрын
Thank you so much for the video. I loved all the details. I love that you have the YAML files for the EKS cluster, but I hope to see a github repo containing the YAML for the AWS EKS cluster and the corresponding Kubernetes YAML files to deploy this cluster to the EKS cluster. Specifically, I wanted to see how to create the yaml files to tag them in private vs the public AWS subnets.
@AntonPutra3 жыл бұрын
Glad it was helpful!
@AntonPutra3 жыл бұрын
@@johnmontoya8377 yes, just updated description. Here is a link - github.com/antonputra/tutorials/tree/main/lessons/039
@johnmontoya71833 жыл бұрын
@@AntonPutra Thank you so much.
@AntonPutra3 жыл бұрын
@@johnmontoya7183 you're welcome!
@johnmontoya71833 жыл бұрын
@@AntonPutra - Do you have steps and/or video on how to use kubernetes secrets with aws secrets manager?
@subhadipdas20333 жыл бұрын
u r of another level 🔥
@AntonPutra3 жыл бұрын
Thank you :)
@palanisamy-dl9qe3 жыл бұрын
Thanks lot for your effort this session was really good. Do you have video for cluster auto scaling?
Thank you, Anton, for this great tutorial, I have a question, when we use EKS, is it possible to access the master node (control-plane) and generate a token?
@AntonPutra Жыл бұрын
Yes, I have an example with terraform provider by using data resource - github.com/antonputra/tutorials/blob/main/lessons/160/git-infrastructure-live/dev/kubernetes-addons/terragrunt.hcl#L50
@AntonPutra2 жыл бұрын
🔴UPDATED🔴 How to create EKS Cluster using Terraform MODULES (AWS Load Balancer Controller + Autoscaler + IRSA) - kzbin.info/www/bejne/oYOunpaPeJxkgJY
@vishalathar92102 жыл бұрын
Hello Anton. It was a great tutorial !! I was able to follow through everything. The only problem I am facing is that I am not being able to access my deployed service. The page keeps reloading. And I get a response: failed to open page. If you could suggest me a way around that'd be great. thank you!
@AntonPutra2 жыл бұрын
by the service do you mean EKS service or your application that you deployed in k8s?
@AntonPutra2 жыл бұрын
by the way i have updated version of this tutorial - kzbin.info/www/bejne/a2fFmJ2qfLqtfac
@wolfdhib12 жыл бұрын
You deserve a big like dude. I have a question: if we are using terraform to bring up such a cluster and don't use eksctl, is it ok to perform the upgrade directly in terraform?
@AntonPutra2 жыл бұрын
Be careful with terraform; for example, if you change the instance type, terraform will destroy the instance group first and then create a new one. It will cause downtime. In prod environments, it's worth to create an additional instance group with the same labels/taints and deleting the old one after.
@wolfdhib12 жыл бұрын
we can make use of : lifecycle { create_before_destroy = true } policy for node group in terraform to prevent downtime right?
@AntonPutra2 жыл бұрын
@@wolfdhib1 can you have 2 instance groups with the same name? in GCP you cannot.
@wolfdhib12 жыл бұрын
You can generate dynamic node group resource names in terraform.
@AntonPutra2 жыл бұрын
@@wolfdhib1 it can be a solution
@abhijeetsamanta83903 жыл бұрын
Hi Anton, Nice and clear tutorial what I am looking for, however I am getting one issue while create private subnet I am getting error as "CIDR Address is not within CIDR Address from VPC" . I am trying to set CIDR as 10.0.64.0/20 which is next to previous one as 10.0.47.0/20
@AntonPutra3 жыл бұрын
You subnet CIDR must be within your VPC CIDR. What's you VPC CIDR? I can help you to split into subnets.
@abhijeetsamanta83903 жыл бұрын
@@AntonPutra my VPC CIDR is 10.0.0.0/18
@georgelza2 жыл бұрын
any chance you can do a video of permissions setup you did before you went into the config.yaml file. some how having hassles and thinking it is IAM permissions related. I have a user already, so would want to add role/permissions/policies to my current user... in such a way that I can also add the same permissions to my colleagues user.
@AntonPutra2 жыл бұрын
Sure, you mean basic IAM tutorial?
@georgelza2 жыл бұрын
@@AntonPutra basic in your mind... for me... this IAM has become a potential pain in my @ss. if it's the cause of my problems. ;)
@AntonPutra Жыл бұрын
Get Full-Length High-Quality DevOps Tutorials for Free - Subscribe Now! - kzbin.info
@omega1962 Жыл бұрын
hi Anton, can you please show us a demo for a full private EKS Cluster using eksctl. For me its failing using eksctl...
@AntonPutra Жыл бұрын
Why? what's the error?
@omega1962 Жыл бұрын
@@AntonPutra Kindly assist please.
@AntonPutra2 жыл бұрын
🔴UPDATED🔴 - How to Create EKS Cluster Using eksctl? - kzbin.info/www/bejne/a2fFmJ2qfLqtfac
@mustafabozkurt4991 Жыл бұрын
Thank you
@AntonPutra Жыл бұрын
Thank you!
@vineetn3 жыл бұрын
Hi Anton, I get a value for EXTERNAL-IP after exposing the nginx deployment (27.55)...looking online that is something that happens for local kubectl deployments. I am using EKS. Any pointers on what I might be doing wrong.. ? Thanks in advance.
@AntonPutra3 жыл бұрын
You can use "kubectl describe svc " and most likely you will find an error in the output.
@georgelza2 жыл бұрын
... i notice you define public subnets, must I provide them, I'm building my cluster purely in private subnets, I have a web subnet thats public, but it's only used for IGW.
@AntonPutra2 жыл бұрын
You don’t need public subnets if you’re not planning to expose anything outside of VPC
@georgelza2 жыл бұрын
@@AntonPutra I assume this is translated... with public the nodes themselves become public facing, as even a prv not can be reached by a ALB. - just unpacking how it fits together...
@daywalkergil3 жыл бұрын
Hi Anton, Do you know how to connect AWS EFS in the nodes, according your configurations?
@AntonPutra3 жыл бұрын
yes, I created gist for you. You need to create EFS first and replace *server: .**efs.us-west-1.amazonaws.com* . provisioner -> storage class I will create a video about this topic soon.. gist.github.com/antonputra/312818827c553699820e9d59201eca49 This will allow you to create *ReadWriteMany* volumes.
@daywalkergil3 жыл бұрын
@@AntonPutra Where I put server: .efs.us-west-1.amazonaws.com? Inside of eks-cluster.yaml? Do you have some site/documentation that talk about it?
@AntonPutra3 жыл бұрын
@@daywalkergil I sent you a link for GitHub, I created a gist for you. You need to create Kubernetes storage provisioner and use that provisioner in your storage class.. There are a bunch of YAML files in that link that you need to apply. Also, you may need to configure security groups. Bottom line, EFS is not related to eksctl and it has to deploy separately after the Kubernetes cluster is ready.
@daywalkergil3 жыл бұрын
@@AntonPutra but It's necessary to install amazon-efs-utils inside all nodes, right? or no?
@AntonPutra3 жыл бұрын
@@daywalkergil no, it's agains the Kubernetes pattern to install anything on the nodes. Ussually, if you need to run anything on each node, you would deploy "Daemonset" instead. In your case, you need to deploy "Deployment" with 1 replica. Based on that you need to create storageclass. Let me paste it here kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: example-efs-provisioner-runner rules: - apiGroups: [""] resources: ["persistentvolumes"] verbs: ["get", "list", "watch", "create", "delete"] - apiGroups: [""] resources: ["persistentvolumeclaims"] verbs: ["get", "list", "watch", "update"] - apiGroups: ["storage.k8s.io"] resources: ["storageclasses"] verbs: ["get", "list", "watch"] - apiGroups: [""] resources: ["events"] verbs: ["create", "update", "patch"] --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: run-example-efs-provisioner subjects: - kind: ServiceAccount name: example-efs-provisioner # replace with namespace where provisioner is deployed namespace: default roleRef: kind: ClusterRole name: example-efs-provisioner-runner apiGroup: rbac.authorization.k8s.io --- kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: leader-locking-example-efs-provisioner rules: - apiGroups: [""] resources: ["endpoints"] verbs: ["get", "list", "watch", "create", "update", "patch"] --- kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: leader-locking-example-efs-provisioner subjects: - kind: ServiceAccount name: example-efs-provisioner # replace with namespace where provisioner is deployed namespace: default roleRef: kind: Role name: leader-locking-example-efs-provisioner apiGroup: rbac.authorization.k8s.io --- apiVersion: v1 kind: ServiceAccount metadata: name: example-efs-provisioner --- apiVersion: v1 kind: ConfigMap metadata: name: example-efs-provisioner namespace: default data: file.system.id: fs-13a0cc0a aws.region: us-west-1 provisioner.name: example-efs dns.name: "" --- kind: Deployment apiVersion: apps/v1 metadata: name: example-efs-provisioner namespace: default spec: replicas: 1 selector: matchLabels: app: example-efs-provisioner strategy: type: Recreate template: metadata: labels: app: example-efs-provisioner spec: serviceAccountName: example-efs-provisioner containers: - name: example-efs-provisioner image: quay.io/external_storage/efs-provisioner:latest env: - name: FILE_SYSTEM_ID valueFrom: configMapKeyRef: name: example-efs-provisioner key: file.system.id - name: AWS_REGION valueFrom: configMapKeyRef: name: example-efs-provisioner key: aws.region - name: DNS_NAME valueFrom: configMapKeyRef: name: example-efs-provisioner key: dns.name optional: true - name: PROVISIONER_NAME valueFrom: configMapKeyRef: name: example-efs-provisioner key: provisioner.name volumeMounts: - name: pv-volume mountPath: /persistentvolumes volumes: - name: pv-volume nfs: server: .efs.us-west-1.amazonaws.com path: / --- kind: StorageClass apiVersion: storage.k8s.io/v1beta1 metadata: name: example-efs provisioner: example-efs parameters: # application gid gidMin: "9999" gidMax: "9999" gidAllocate: "true"
@AntonPutra Жыл бұрын
👉 How to Manage Secrets in Terraform - kzbin.info/www/bejne/aX-TpXqBrNt1mqM 👉 Terraform Tips & Tricks - kzbin.info/www/bejne/bYScZaKLid5lsJY 👉 ArgoCD Tutorial - kzbin.info/www/bejne/sHjRlZqafMZkisU