dude you are literally better then the official GCP course
@TechPrimers6 ай бұрын
Thank you for the kind words Max
@baibhavghimire38274 жыл бұрын
For all struggling with creating the deployment command use this... kubectl create deployment spring-boot-example --image=gcr.io/$GOOGLE_CLOUD_PROJECT/spring-boot-example:v1 Also if you wanna expose kubectl expose deployment spring-boot-example --type=LoadBalancer --port=80 --target-port=8000
@salmanbaig77463 жыл бұрын
To the point, crystal clear concepts and great examples to illustrate. Thank you.
@gauravdas10004 жыл бұрын
really great...I'll definitely go for all the tutorials on springboot-kubernetes from your channel...
@praveencvijay5 жыл бұрын
Explained in the best way.It is really nice
@cirruslogic4 жыл бұрын
No nonsense video. And right to the point. Thank you.
@connectromil5 жыл бұрын
Excellent videos ...and clarity n topics with enough technical details....thanks for sharing
@sachinpailwan4 жыл бұрын
Thanks for video.. it helped me to understand and deploy my first GKE application on cloud platform
@sarath67895 жыл бұрын
During scaling, why it is creating different pods instead it can create different instances inside single pod or is there any rule that one pod can hold one instance.
@Shafmohaa2 жыл бұрын
I've been looking for this, amazing content. Thank you
@budsyremo4 жыл бұрын
One of the best tutorials .
@anjanidubey802 жыл бұрын
Very good explanation thanks
@sushavishclasses3 жыл бұрын
Awesome, great . Thanks for explaining in detail
@2012oyt3 жыл бұрын
Thank you so much for sharing this tutorial. It's really great, to the point and complete.
@1377sv5 жыл бұрын
by far the best tutorial
@arpitsaklecha3 жыл бұрын
Small query how Spring cloud stack vs Kubernetes for microservice is different and can be acheived
@BeingDeveloperWithAB4 жыл бұрын
Thanks tech primers for your hard work. I have question. How do you know deployment get created inside cluster 10.0.3 when you run kubctl run image..
@loksroks15 жыл бұрын
Many Thanks . No words. Please keep up the good work.
@janakiramsampalli23674 жыл бұрын
Great work...easy to understand, Thank you.
@vimalshankarcharanya4 жыл бұрын
amazing video... Thanks - I learnt a lot from it :) I hope since this video, there are some updates in the kubectl commands hence i faced issues in 2 places. just in case it helps ppl those who get stuck like me: 1. kubectl run isnt working so instead we shall use the create deployment command: >> kubectl create deployment spring-boot-example --image=gcr.io/$GOOGLE_CLOUD_PROJECT/springboot-helloworld:v1 2. kubectl expose deployment spring-boot-example --type=LoadBalancer isnt working so instead adding port in the command helped me: >> kubectl expose deployment spring-boot-example --port=8080 --type=LoadBalancer
@TechPrimers4 жыл бұрын
Thanks for updating Vimal
@alxx7363 жыл бұрын
Can you show microservices with Eureka? How to deploy it ?
@TheGhanashyam1235 жыл бұрын
When we create a Docker image, it needs a Dockerfile at least with an entry point. Did you use any such Dockerfile while creating the Docker image? How the spring boot app automatically starts inside the Docker container?
@TechPrimers5 жыл бұрын
Nopr. The JIB maven plugin creates one. Since I didn't require any custom steps, i did not write the dockerfile
@muthavarapunaresh31555 жыл бұрын
Very good. My doubts since long time are cleared....
@bhargavasurimenu78505 жыл бұрын
Excellent I am a big fan of your way Explanation.
@AbhishekChanda5 жыл бұрын
how does kubernetes differ from cloud foundry? is one an alternative of another or both complement each other?
@TechPrimers5 жыл бұрын
Very good question. Both are different in their own way. Cloud Foundry is a Platform as a Service. In CF, you can control the application which you have deployed in them. So the source of truth is the application artifacts here. Though CF also uses containers inside, as platform users, we cannot control the container orchestration. Kubernetes is Container as a Service. In K8s, the source of truth are container images. So you can control the containers as per your wish. K8s adds more value by orchestrating the way you deploy containers and manage them. CF on the other hand takes care of the application level bindings for a deployed service.
@AbhishekChanda5 жыл бұрын
@@TechPrimers so would it be correct to say that CF is one more level abstracted than K8S? Also, if CF relieves the user from bothering about anything and just focus on the application and in K8S the user has to think about the orchestration which makes things a bit more complex, why is it gaining more traction than CF. What's the secret sauce of K8S?
@TechPrimers5 жыл бұрын
correct.. secret sauce of K8s - containers & docker :)
@AbhishekChanda5 жыл бұрын
@@TechPrimers could you give use cases when CF is appropriate and when K8S would be appropriate, keeping cost aside. Why should I choose CF over K8S and why K8S over CF
@kelthuzal5 жыл бұрын
Thanks for your sharing, need more kubernetes :)
@krishkir5 жыл бұрын
Many thanks. Your videos are always helpful. Can you please make a video with Quarkus library microservice, converting the same into kubernetes native library with Graalvm and deploying to kubernetes open shift cloud.
@jagdeeshreddy82385 жыл бұрын
Everything worked fine , except the last deployment part where I am not able to access my service using the EXTERNAL-IP and PORT registered for my deployment.Please help on it(The Site can't be reached).
@baibhavghimire38274 жыл бұрын
same here
@minhajmohideen13445 жыл бұрын
Thanks for the video. it is very helpful. example with Istio service mix would be appreciated.
@alxx7363 жыл бұрын
Please do the same communicating a 2 microservices,explain how Service discovery works with Kubernetes ,Spring Boot and GKE. Thanks
@mustaphag3 жыл бұрын
You are the best
@nbtpavankumar5 жыл бұрын
Excellent Videos . Best guide for the K8S Environment for spring boot developers. In addition , can i know how to roll out the deployments ?
@TechPrimers5 жыл бұрын
There are more videos in this series which covers the different deployment strategies in kubernetes. check them out.
@jas52294 жыл бұрын
Nice tutorial, Could you please explain or provide any idea if possible, how to deploy springboot microservices using docker-compose in K8s cluster via GitLab or Jenkins CI/CD pipeline. Thanks
@pmrushi5 жыл бұрын
Can you please share, instead access APIs using external IP, can we access some default domain name in GCP ?
@andrzejpioro47414 жыл бұрын
Thanks for this tutorial. It was really helpful for me.
@pawanjinger7475 жыл бұрын
excellent tutorial for beginners
@avinc66992 жыл бұрын
Nice video. Looks like "kubectl run" creates pod only. For creating deployment, one needs to execute "kubectl create deployment " command
@TechPrimers2 жыл бұрын
Yes Avin. In the recent version of kubectl this has been changed
@c00per_ Жыл бұрын
Bro if we are from India should we select us 14:42. Pls say
@suryanarayansubudhi94393 жыл бұрын
Great explacation
@ChristianAltamiranoAyala5 жыл бұрын
Thanks for the video. Are you using some maven plugin to create docker image and for upload to container registry?
@TechPrimers5 жыл бұрын
Yes. It's jib Maven plugin by Google
@ChristianAltamiranoAyala5 жыл бұрын
Thanks for the video. Are you using some plug in to create docker image and for upload to container registry?
@TechPrimers4 жыл бұрын
its the google build tool for building image and uploading
@jamescoder39975 жыл бұрын
@techprimers how we can create multiple container's in single pod?
@TechPrimers5 жыл бұрын
you can define those in the containers section in your deployment.yml. you can have both images and their configs there
@theniteshkumarjain5 жыл бұрын
Thanks for the video. The new scaled instances will have different public IP's right? How will this be taken care as we cannot hit based on IP's.
@TechPrimers5 жыл бұрын
Not in k8s. The scaled instances can't be accessed directly. Thats why a service is required
@theniteshkumarjain5 жыл бұрын
@@TechPrimers yeah I agree.. but why do we require service? And what type of service is required?
@sandeepbora23743 жыл бұрын
Hi Tech Primer Thanks!! If we want to apply CI/CD concept in GCP then how can we do? Like in this video you have taken git clone but if we want GCP pull the code automatically from Git. AND If we want to pull the specific branch pull request from Git to GCP then how we can do?
@farooqarshad96152 жыл бұрын
For starters Your script need to connect to GCP project using ssh .. then your script run the commands which is mention in the video
@vinothshepard74514 жыл бұрын
Can you please deploy microservices with sql to kubernetes....please help
@kambalavijay68003 жыл бұрын
Hi Ajay. this is just brilliant work. yet I have one question here. Would all nodes be absolutely identical with exact number of pods in each node?
@TechPrimers3 жыл бұрын
No Vijay. They will never be. Since each pod (diff application) can have diff memory size, they tend to get allocated based on the free size in each node. If an app takes 8gb and the total machine size is 12g, then we will have a 6gb pod deployed to another node.
@TechPrimers3 жыл бұрын
Read this article to know about Taints and Tolerations kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
@matheuslutterbach43864 жыл бұрын
Nice video! Thanks!
@arunshankarjayaraman78015 жыл бұрын
Basic question- The spring-boot project deployed in Docker doesn't have a Dockerfile. Isn't Dockerfile necessary to be deployed in Docker ?
@TechPrimers5 жыл бұрын
Good question. Jib Maven plugin by Google does that job. It's primary job is to build images for containers esp Docker
@murugankannan72855 жыл бұрын
If we connected to eureka server then how proxy server will works??
@MdManik-if2er4 жыл бұрын
Thanks, I have one question that, how can i enable ssl for kubernetes services.
@TechPrimers4 жыл бұрын
You need to use 'Ingress' Controller for that. You can choose Nginx ingress or a custom resource like contour ingress by vmware.
@MdManik-if2er4 жыл бұрын
@@TechPrimers Thanks
@MdManik-if2er4 жыл бұрын
@@TechPrimers Do you have any video on this topic?If no then please make one.
@kulkarnineeraj4 жыл бұрын
Thanks a lot . Very good video. Can you show this demo with 3 tier application with database, API and front end ?
@anisam1234 жыл бұрын
I created an app spring-boot-baseapp and have been trying to execute kubectl run command as you have shown. But it is showing pod/spring-boot-baseapp got created without any deployment although the created pod is in Running state. So, can you please let me know how to solve this issue.
@TechPrimers4 жыл бұрын
Kubectl run creates a pod only in the latest version of kubernetes. You need to create kubectl create deployment for deployment
@anisam1234 жыл бұрын
@@TechPrimers Thanks a lot....now its working
@TheGhanashyam1235 жыл бұрын
Truly appreciate and it's awesome
@MohanRam-sw6tm5 жыл бұрын
How does kubernate deployment happen for spring boot with postgres ? Does postgres run in sepeate instance..? How kuber maps sping boot app and postgres
@TechPrimers5 жыл бұрын
Take a look at my Game of pods challenge videos they will show these
@buildleadinnovate244 жыл бұрын
google cloud need credit card to create ..is there any aws kurbentes so that we can practice
@TechPrimers4 жыл бұрын
Nope. AWS doesn’t provide anything free for k8s
@thanukuvamshi5 жыл бұрын
I'd definitely appreciate if you can deploy the same spring boot application is Oracle cloud and show it to us! Thanks!!!
@MdManik-if2er4 жыл бұрын
Why after sometime my database connection failed automatically.Means its working fine for first 10 or 20 minutes but after that automatically its throw DatabaseConnection failed.My db is in gcp.
@kartik_jagtap5 жыл бұрын
Can you please help out doing the same thing with AWS EKS and ECR??
@TechPrimers5 жыл бұрын
AWS doesn’t provide these for free mate 🙂
@casimirrex5 жыл бұрын
Can you give demo with any kind of data base(mongodb) along with spring boot using K8s & Docker. because it is persistent data, so k8s implementation will entirely different from without db
@TechPrimers5 жыл бұрын
Sure Antony. I have been solving the Game of Poda challenge (check my latest video). In that there are some challenges using Persistent Volumes and Persistent Volume Claims
@casimirrex5 жыл бұрын
@@TechPrimers thank you
@BasBastiaansen4 жыл бұрын
kubectl run only created a pod, not a deployment. what should I do?
@TechPrimers4 жыл бұрын
You need to also pass "--restart=Always" to create a deployment
@BasBastiaansen4 жыл бұрын
@@TechPrimers It still only creates a pod for some reason, weird.
@BasBastiaansen4 жыл бұрын
I made it work by using 'create deployment' instead of 'run' and also without port and restart flags. This creates the deployment and a pod. Then for the 'expose' command I added the --port=8080 flag. This created everything like in the video it seems. I'm guessing the kubectl api changed a bit since this video? not sure.
@janakiramsampalli23674 жыл бұрын
@@BasBastiaansen I had similar issue. Followed your steps and it worked. Thank you.
@haribisht57374 жыл бұрын
helpful content. Thanks, @TechPrimers
@anirbanroy15244 жыл бұрын
Great. Can you please show this in aws eks cluster
@TechPrimers4 жыл бұрын
Will do soon Anirban. Btw it should be no different since k8s is same across clouds
@anirbanroy15244 жыл бұрын
@@TechPrimers OK thanks in advance for preparing the same. In aws initial setup for eks cluster may be different.
@RajeshSamson5 жыл бұрын
Thanks for your useful video ... Kudos
@bodyshapeandmotivation4 жыл бұрын
when i give my own project id its not working , can you pl help
@sowjanyavinod81943 жыл бұрын
Iam receiving error failed to load. Can u plz suggest wt could be the error
@Akshoysamir5 жыл бұрын
This video is so informative. Big thanks to you to bring up such good videos. Waiting for more videos on how to replicate the same using yml file :)
@sandeepbora23743 жыл бұрын
Hi Tech Primer, G8 tutorial. Some questions are.. If we want pass some java application specific configuration from cluster to application. How we can do? And can we pass these configuration to only one cluster node or if we want each node have there own configuration and that configuration node passes to application?
@TechPrimers3 жыл бұрын
There is something called as Config Map in kubernetes for that. Check my video on config maps to understand how you can achieve cluster level config. For node Leven Level you have to use taints for injecting your node specific config
@guruprasadn14 жыл бұрын
We are creating 3 replicas here, so all instances /pods created in a single worker node or created in different worker node?
@TechPrimers4 жыл бұрын
It will created in different nodes
@guruprasadn14 жыл бұрын
@@TechPrimers are we able control a replicas creation in a particular node
@TechPrimers4 жыл бұрын
@@guruprasadn1 Yes. Using Node tainting - kubernetes.io/docs/concepts/configuration/taint-and-toleration/
@guruprasadn14 жыл бұрын
@@TechPrimers thank you very much nanba, you doing great videos, you are genius, I recommended so many friends to subscribe your channel
@sauravsamant10235 жыл бұрын
I'm getting '-bash: ./mvnw: Permission denied' when I'm doing './mvnw clean install' in cloud shell. What am I missing?
@TechPrimers5 жыл бұрын
you should have access. can you check if u have checked out in the correct directly. try assigning some persmissions (chmod -R 755 *)
@sauravsamant10235 жыл бұрын
@@TechPrimers Thanks, did chmod +x in the project directory, it worked.
@chiranjeevig52184 жыл бұрын
Thank you so much..! facing one issue , while creating the image for app, getting error as " Invalid Image reference gcr.io//spring-boot-example:v1". Please suggest
@TechPrimers4 жыл бұрын
My google account got expired. You might have to create a image
@janakiramsampalli23674 жыл бұрын
Hi Chiranjeevi, I'm not sure if you managed to fix the issue as it's been more than a month. I had similar issue and to fix you need to logout of the shell and login (or just open the shell which will log you in again). This will populate the variable $GOOGLE_CLOUD_PROJECT automatically in the URL 'gcr.io/$GOOGLE_CLOUD_PROJECT/spring-boot-example:v1' Hope that helps. Cheers,
@nagabalajivijayakumar26344 жыл бұрын
Thanks bro.. Good explanation. But I am getting error -:No resources found in default namespace" after pushing the spring app to kubernetes cluster when I run the command "kubectl get deployments".
@TechPrimers4 жыл бұрын
Looks like the namespace in which you pushed is different. Check which namespace you pushed in your yaml file
@BasBastiaansen4 жыл бұрын
I had the same issue, check my comment under this video for the answer.
@santroproin69694 жыл бұрын
Hello Sir , when i'm creating docker image i'm getting this error.
@mosesalphonse91125 жыл бұрын
Excellent
@yogeshy77365 жыл бұрын
Hi Ajay can you please share the docker Image.. & many thanks for your videos
@TechPrimers5 жыл бұрын
Done buddy. Made public. Showing it in the next video coming in few hours
@Badr31234 жыл бұрын
Very helpfull
@SuperLucasGuns4 жыл бұрын
This is great
@reacthameem4 жыл бұрын
Hi Ajay, When i try to create deployments using @cloudshell:~/spring-boot-lazy-init-example (active-guild)$ kubectl expose deployment spring-boot-example --type=LoadBalancer i get the error: Error from server (NotFound): deployments.extensions "spring-boot-example" not found
@shivanshu2408594 жыл бұрын
kubectl get deployments gives you any deployment?
@puneetsaneja30074 жыл бұрын
Could you please make a video - How microservices communicate in kubernetes. Suppose we create 2 microservices i.e Employee-Frontend & Employee-Backend. And create 2 pods in kubernetes . How Frontend service pod communicate with backend service pod
@TechPrimers4 жыл бұрын
Sure will do
@br46765 жыл бұрын
very nice sir
@kasturibiswal34064 жыл бұрын
I cloned my spring boot project from git into google cloud, but when I'm trying to run mvnw clean install command it says permission denied . Can you please suggest where do I need to give permission.
@TechPrimers4 жыл бұрын
You need to go to GCR and provide permission there
@janakiramsampalli23674 жыл бұрын
Hi Kasturi, Not sure if you managed to fix this issue as it's been 2 weeks. One other way to give permission to execute the file using shell like this: chmod +x mvnw After this, you should be able to run mvnw commands. Cheers,
@akhilstksa57362 жыл бұрын
brilliant
@suchitgawali24685 жыл бұрын
thanks a lot. may i know username to access this code for lab purpose.
@meenakshisundaram32314 жыл бұрын
Hi Ajay, This question could be a silly one. I tried scaling the instances from 1 to 2. In my code, I exposed ip address in the response. When I hit the endpoint from LoadBalancer from the browser, I always get one single ip address. The replicas of 2 is not properly getting reflected in consecutive requests. Am I missing something here?
@TechPrimers4 жыл бұрын
This could be due to sticky session. Basically your browser caches your session id and Loadbalancer uses the session id to redirect to the same instance always. Try doing a curl using commmand line to cross check once
@meenakshisundaram32314 жыл бұрын
@@TechPrimers Thanks Ajay. I tried in incognito. It worked. You are awesome :)
@TechPrimers4 жыл бұрын
My pleasure ✌🏼
@taranrishith4 жыл бұрын
Thanks!
@baibhavghimire38274 жыл бұрын
Services rarely used in prod use Ingress service
@RajaRaja-we3re4 жыл бұрын
best tutorial
@thirumuruganp86745 жыл бұрын
I am getting the below error in both your github project pom as well as the project which i created. Can you please help me out on this: [ERROR] No plugin found for prefix 'com.google.cloud.tools.jib-maven-plugin' in the current project and in the plugin groups [org.apache.maven.plugins, org.codeha us.mojo] available from the repositories [local (/home/thiru_it111/.m2/repository), spring-snapshots (repo.spring.io/snapshot), spring-milestones (https:/ /repo.spring.io/milestone), central (repo.maven.apache.org/maven2)]
@shivanshu2408594 жыл бұрын
mvn compile com.google.cloud.tools:jib-maven-plugin:2.0.0:build -Dimage=gcr.io/$GOOGLE_CLOUD_PROJECT/ try this. issue is that version is not present also refer cloud.google.com/java/getting-started/jib
@thirumuruganp86744 жыл бұрын
@@shivanshu240859 Thank you
@sivasankarclouddeveloper11145 жыл бұрын
I am getting this error.Error: Could not connect to Cloud Shell on port 8081. Ensure your server is listening on port 8081 and try again.
@TechPrimers5 жыл бұрын
Is it in the Cloud shell?
@abirnag0015 жыл бұрын
good contents. Thank you
@swatikumari56524 жыл бұрын
You are awesome
@rahulgoti38645 жыл бұрын
Thank You
@venkatasuneel60035 жыл бұрын
How to install K8s in aws
@TechPrimers5 жыл бұрын
Aws doesn't provide it for free🙃
@br46765 жыл бұрын
very nice isr
@harikrishnansundaram95464 жыл бұрын
It show s permission denied
@TechPrimers4 жыл бұрын
My free account got expired Harish.
@JavaLovers5 жыл бұрын
Sir can you also please upload the presentation slides too.
@ShreyasDangetechie4 жыл бұрын
please make the docker image public ..
@TechPrimers4 жыл бұрын
my account got expired in GCP. so the images also got deleted. Use github for storing images (if you dont want to create a GCP account)
@ShreyasDangetechie4 жыл бұрын
@@TechPrimers Ok no worries thanks for the reply ..
@krishkir5 жыл бұрын
request you to share the docker image file
@TechPrimers5 жыл бұрын
Done buddy. Shared in latest video. Check the github project
@ragupathia23164 жыл бұрын
Wowwwwwwwww
@MrTuzzo774 жыл бұрын
Please hide the banner below next time. Thanks
@JenilCalcuttawala5 жыл бұрын
Excellent. Great fan of your content. But I would request you to invest in some good microphone, the quality of the voice is very annoying.