[ Kube 49 ] Jenkins CI CD Pipeline in Kubernetes

  Рет қаралды 42,102

Just me and Opensource

Just me and Opensource

Күн бұрын

Пікірлер: 330
@zaibakhanum203
@zaibakhanum203 2 жыл бұрын
You r the only one in the you tube who replies to the comments always as a priority..that's the best part...
@justmeandopensource
@justmeandopensource 2 жыл бұрын
I try my best :)
@SBJK7
@SBJK7 5 жыл бұрын
I watched almost all of your videos and it helped me to crack interview , Thanks alot bro
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Many thanks. You made my day. Cheers.
@faridakbarov4532
@faridakbarov4532 4 жыл бұрын
@@justmeandopensource Thanx for all you videos
@justmeandopensource
@justmeandopensource 4 жыл бұрын
@@faridakbarov4532 You are welcome. Cheers.
@rahul_bali
@rahul_bali 4 жыл бұрын
I feel love.
@vijaykumar-qp6qj
@vijaykumar-qp6qj 4 жыл бұрын
Very clear explanation thanking you for your work
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Vijay, thanks for watching. Cheers
@sridattam007
@sridattam007 5 жыл бұрын
Hello Venkat, Thanks a lot, those who have just read theory and haven't experienced how actually CICD works on k8s cluster this is the great tutorial. The way you explain and cover all the aspects makes it easy to understand.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Sridatta, thanks for watching this video and taking time to comment. Much appreciated. Cheers.
2 жыл бұрын
Excellent presentation ! thanks for sharing
@justmeandopensource
@justmeandopensource 2 жыл бұрын
Hi Oliver, Thanks for watching.
@bhaveshliya4848
@bhaveshliya4848 3 жыл бұрын
Hi Venkat, Your videos on Kubernetes are awesome and helped me to learn Kubernetes. Thanks a lot.
@justmeandopensource
@justmeandopensource 3 жыл бұрын
Hi Bhavesh, many thanks for your interest in my channel. Cheers.
@milindchavan007
@milindchavan007 5 жыл бұрын
Hello, Thanks for implementing my request, I really appreciate that you release it in very short time. I am very thankful to you.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Milind, you are welcome and thanks for watching this video.
@parthi009
@parthi009 3 жыл бұрын
great video. worked like a charm. Though I integrated existing Jenkins server to the Kubernetes cluster, it worked perfectly
@justmeandopensource
@justmeandopensource 3 жыл бұрын
Perfect. Thanks for watching.
@faridakbarov4532
@faridakbarov4532 4 жыл бұрын
You are a genius!! all devops workflow in one video))
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Farid, thanks for watching.
@arunreddy1436
@arunreddy1436 5 жыл бұрын
Thanks a lot Venkat , such a great opportunity to go through these videos
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Arun, thanks for watching this video and taking time to comment/appreciate. Cheers.
@mayurdhande007
@mayurdhande007 4 жыл бұрын
Awesome video Venkat .
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Mayur, thanks for watching. Cheers.
@HeyMani92
@HeyMani92 4 жыл бұрын
Awesome Venkat Sir!!!!! Thank you
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Mani, thanks for watching.
@c1i2s3c4o5
@c1i2s3c4o5 2 жыл бұрын
Great Video, love your explanation! Please share a video for complete CI/CD on kubernetes using gitlab CI, Thank You
@justmeandopensource
@justmeandopensource 2 жыл бұрын
Thanks for watching. I will try. Cheers
@vesakk72
@vesakk72 5 жыл бұрын
Your videos are pure gold!
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Vesa, many thanks for watching this video and taking time to comment. Much appreciated.
@rainbowp19
@rainbowp19 4 жыл бұрын
Hi, this is really good and crisp to the topics, I would love to see more on setting up complex/advanced pipelines and integrating many stages and tools to complete entire software delivery process. thank you.. much appreciate the effort bro.
@justmeandopensource
@justmeandopensource 4 жыл бұрын
HI Imran, thanks for watching. I would love to dive deeper into these concepts. I will see if I can do them when I get some time. Cheers.
@rainbowp19
@rainbowp19 4 жыл бұрын
@@justmeandopensource thanks for your response bro. I'm so passionate and motivated to learn these new technologies to get a break in this area. Will help this lot to showcase in interview after we practice the same in our local desktop.
@justmeandopensource
@justmeandopensource 4 жыл бұрын
@@rainbowp19 Yeah. More practise will give you more confidence. The important thing here is to use it on a regular basis otherwise any new technologies you learn will go off your head in few weeks if you don't use it. Thanks for your interest in my videos. CHeers.
@cloudboy553
@cloudboy553 4 жыл бұрын
Great video I'm looking forward to!!
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi, thanks for watching.
@umartariq3579
@umartariq3579 5 жыл бұрын
Very well explained. Thanks for sharing. Keep it up !!
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Umar, thanks for watching this video and taking time to comment/appreciate. Cheers.
@kevinyu9934
@kevinyu9934 3 жыл бұрын
Very useful dude! Thx for the awesome content
@justmeandopensource
@justmeandopensource 3 жыл бұрын
You are welcome and thanks for watching.
@manikandans8808
@manikandans8808 5 жыл бұрын
One the best video of this series and an important too. The concept of setting up the docker runtime inside an container was so amazing. And I have one doubt what all the measures to be taken if I want to implement in production.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Mani, thanks for watching this video. I believe the concepts covered in this video is production ready. Although individual workflow might be different in each production scenario. For example I used Kubernetes contiuous deploy plugin to deploy app in K8s cluster. You can simply use kubectl command within jenkins docker slave agent. For that you need to bake kubectl binary inside the slave container. There are multitude of possibilities. You can use Ansible in some cases. Cheers.
@manikandans8808
@manikandans8808 5 жыл бұрын
@@justmeandopensource yes..how can I create different environments in kubernetes cluster? With namespaces?
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Mani, You can design as per your needs. For example, you can have a separate k8s cluster for development, staging and production. Or you can have a single cluster and run development, staging and production workloads in separate namespace. You can run your CI/CD pipeline outside of these clusters on a separate cluster or in anyone of the above clusters. The only thing you need is the right kubeconfig file and context to deploy apps from pipeline to your desired k8s environment. Thanks.
@manikandans8808
@manikandans8808 5 жыл бұрын
@@justmeandopensource that's great 😊. What will be the best way according to you?
@justmeandopensource
@justmeandopensource 5 жыл бұрын
@@manikandans8808 I will have a separate cluster for each environment and pipeline stuff in a separate cluster. Nowadays bringing up a cluster is a piece of cake especially if you are using any cloud provider. Thanks.
@praveenkumar-uc3tu
@praveenkumar-uc3tu 5 жыл бұрын
Thank you so much for posting this video which I was requested....
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Praveen, You are welcome and thanks for watching this video. Cheers.
@ajjaiii1
@ajjaiii1 4 жыл бұрын
thank you so much .. i'm waiting video for jenkins x .. : )
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Ahmad, thanks for watching.
@user-ano-x5c
@user-ano-x5c 4 жыл бұрын
Amazing stuff, thank you very much
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Anas, many thanks for watching and taking time to comment/appreciate.
@inversemetric
@inversemetric 4 жыл бұрын
Thank you
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Stephen, thanks for watching.
@manjeetswt
@manjeetswt 4 жыл бұрын
That one was amazing ..
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Manjeet, thanks for watching.
@mohamedhabas7391
@mohamedhabas7391 4 жыл бұрын
quality , thanks alot
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Mohamed, thanks for watching. Cheers.
@alfa-being
@alfa-being 3 жыл бұрын
After watching some of your videos, my default node-port is 32323......LOL
@justmeandopensource
@justmeandopensource 3 жыл бұрын
Ha. love it. You get used to certain numbers in your life. This is one such 😄
@goro7178
@goro7178 3 жыл бұрын
Dear Venkat thanks for the video and plz if possible can you do an updated remake? Thx in advance
@justmeandopensource
@justmeandopensource 3 жыл бұрын
Sure. I will try. Thanks for watching.
@sunnynehar
@sunnynehar 5 жыл бұрын
hi, Venkat, I watched all your videos they are very interesting and I have learned a lot, thank you for sharing your knowledge if you have time, can you make a video with the same CI/CD process with all tools (Example: Jenkins, nexus, Prometheus. grafana, gittlab) running in aws Kubernetes's cluster, how they are connected and talking to each other. I couldn't find any video with this process anywhere on youtube as well. it's just a suggestion.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Nehar, thanks for watching this video. I will add this to my list and look into it when I get some time. Cheers.
@vivekanandpandey1558
@vivekanandpandey1558 5 жыл бұрын
Please share one full video on real-time project. Appreciate your help.thanks
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Vivekanand, thanks for watching this video. I will try to make one such video. All the videos I am doing are based on my experience. I am not a proper DevOps person unfortunately, so my knowledge is quite limited to IT Operations. Cheers.
@sk.lat10n
@sk.lat10n 3 жыл бұрын
Hey, thanks for the video! Can you say me what versions of Jenkins plugins do you use? With these versions of plugins (see below) the Kuberentes CD plugin doesn't work: Jenkins 2.277.1 Kubernetes Continuous Deploy 2.3.1 Jackson 2 API 2.12.1 Snakeyaml API Plugin 1.27.0 Kubernetes Client API 4.13.2-1 Kubernetes Credentials 0.8.0 Kubernetes version 1.20
@justmeandopensource
@justmeandopensource 3 жыл бұрын
Hi Sergey, thanks for watching. I am not using that setup on a daily basis. I think I mentioned the versions of all the componenets/plugins that I used in this video.
@phanisura634
@phanisura634 4 жыл бұрын
Hello venkat, you are giving excellent information in your videos,when I watched this video and started doing this on my cluster.Jenkins pod is created and started executing the job,but getting some error while building the docker image like this: Is the docker daemon running?docker not found. i have given the same image for jnlp,given the mount path and Host path for docker.But still I am getting the error.
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Phani, thanks for watching. It would be helpful if you could paste the exact error. Thanks
@gnadha123
@gnadha123 5 жыл бұрын
Wow what a great video given me more confidence on Jenkins & K8S .. have come across inserting ansible in such CI CD via jenkins, may i know the reason , why ansible required for deployment
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi, thanks for watching this video. Ansible can also be used. Its just another provisioning/automation tool. In DevOps process, there are lots of tools for automating different life cycle stages in software development. Cheers.
@soufianemakhloufi3790
@soufianemakhloufi3790 4 жыл бұрын
hi Venkat thank you for the videos can you please make us videos on GitOps weave with gitlab
@justmeandopensource
@justmeandopensource 4 жыл бұрын
hi Soufiane, thanks for watching. I will explore that and see if I can do a video on that. Cheers.
@SonNguyen-pw8lm
@SonNguyen-pw8lm 4 жыл бұрын
Hello, Thanks for tutorial. Do you have a video about Jenkins CI CD Pipeline and spring boot, maven. Build many project. Thank you.
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi, thanks for watching. I am not a developer and no experience with Spring boot. This series is focused towards Kubernetes administration.
@SonNguyen-pw8lm
@SonNguyen-pw8lm 4 жыл бұрын
@@justmeandopensource thanks bro
@justmeandopensource
@justmeandopensource 4 жыл бұрын
@@SonNguyen-pw8lm no worries.
@jlan421
@jlan421 4 жыл бұрын
Venkat, awesome video as always! thank you for this. Just wanted to make a request, maybe a follow up discussion regarding CI/CD, if you can add spinnaker as the CD mechanism for this pipeline, maybe nexus or artifactory as registry. Also there's a lot of talk lately regarding skaffold/kaniko builds, not sure if that's also in your list. Cheers!
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Jlan, thanks for watching. I have a huge list and spinnaker, skaffold are on it. I have played with Skaffold a bit. Lets see if I have time to cover these. Cheers.
@madhusudhanmukthavaram5107
@madhusudhanmukthavaram5107 3 жыл бұрын
You are like drona charya, helping how to hit the eye of bird. Ask for my thumb.
@justmeandopensource
@justmeandopensource 3 жыл бұрын
That's too much of a compliment :) Thanks for your interest in this channel.
@surensingh123
@surensingh123 4 жыл бұрын
@Just me and Opensource Hi Venkat, Excellent video again ! Do you have any video of running jenkins master/slave set up in AWS EKS by any chance ?
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Surendra, thanks for watching. l only did one video on EKS (Provisioning cluster using eksctl). All my other videos were based on my local dev cluster on bare metal.
@arifsali
@arifsali 5 жыл бұрын
Very nicely done. Your videos are pretty good. BTW, did you know that this whole setup is entirely not required if you were to use OpenShift? Their S2i (source to image) does all this out of the box.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Arif, thanks for watching this video. I haven't explored OpenShift yet. Thanks for that tip though. Cheers.
@linusseino5753
@linusseino5753 3 жыл бұрын
You could have changed the permission on the /var/run/docker.sock on the manifest itself so that you don't have to login to do it using the option defaultMode
@SivaKumar-og9pb
@SivaKumar-og9pb 4 жыл бұрын
i have small request... Can you please share some videos on how to write jenkins declarative and scripting pipelines (jenkins file)..for CI CD.... that will be helpful.. Thanks Bro...
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Siva, thanks for watching. I will see if I can do that. Problem is find time to record the videos. But I will add it to my list. Cheers.
@zaibakhanum203
@zaibakhanum203 2 жыл бұрын
Or only one dockerfile (monolith source code) will be used for all the microservices and what about deployment manifest please explain how to go about this It would be a great help..
@tenaciousprevailer99
@tenaciousprevailer99 5 жыл бұрын
Hi, i followed the steps as shared by you but i didn't use the NFS automatic persistent volume now i m facing a problem that my jenkins agent isn't starting. and jobs get stuck waiting for the agent. i also noticed that in your video when you show the jenkins configurations the container details and image name come prefilled for you but thats not the case for me although i have added the agent image name in the jenkins.values file to be supplied to the helm. can you please help..
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Rahul, thanks for watching this video. I think something went wrong with your Jenkins helm deployment. NFS dynamic provisioning isn't mandatory for this setup to work. However for persistence in production you need some persistent volumes. You mentioned you didn't have the jenkins container configuration pre-filled. This could definitely be the reason why your jobs are stuck waiting for an agent. Because Kubernetes plugin doesn't know how to launch a slave agent without its configuration. One thing you could do is double check the jenkins.values file and after running helm install, keep watching the jenkins logs. During initialization, jenkins will download the plugins and configure them. And then check kubernetes plugin configuration to see if there is valud jenkins slave pod configuration. Thanks.
@RamakrishnnanEP
@RamakrishnnanEP 3 жыл бұрын
Thanks for excellent detailed video. i have one question? If i have only containerd installation via k0s ditribution not docker installed. how slave nodes build the docker images?
@justmeandopensource
@justmeandopensource 3 жыл бұрын
Hi, thanks for watching. I will have to revisit this video. Cheers.
@RamakrishnnanEP
@RamakrishnnanEP 3 жыл бұрын
@@justmeandopensource thank you
@justmeandopensource
@justmeandopensource 3 жыл бұрын
@@RamakrishnnanEP no worries.
@leagueoflegendswildriftnep2236
@leagueoflegendswildriftnep2236 3 жыл бұрын
Thank you you're the best, but I'm having one confusion idk if you can suggest me something, lets say we have node app with mongo db how can we setup ci/cd for it so that data should be persistent and database and app should work as normal, for static websites i completely got it however in production level what if it is dynamic app, like app that use database as well, how can we implement ci/cd, i really appreciate this video crystal clear ❤️
@justmeandopensource
@justmeandopensource 3 жыл бұрын
Hi, thanks for watching. In Kubernetes cluster, Your front end node app will be a stateless deployment and should be able to scale depending on load. And your database tier has to be separate from the node app frontend. otherwise you won't be able to scale the frontend independently. You can either run your databases outside of Kubernetes or within kubernetes with persistence. Thats a separate debate whether you want databases inside k8s or not. This is the setup and I am not sure exactly what you mean by ci/cd implementation. What exactly you see problem here?
@leagueoflegendswildriftnep2236
@leagueoflegendswildriftnep2236 3 жыл бұрын
@@justmeandopensource thanks i got it I'm having little confusion
@justmeandopensource
@justmeandopensource 3 жыл бұрын
@@leagueoflegendswildriftnep2236 no worries.
@tenaciousprevailer99
@tenaciousprevailer99 5 жыл бұрын
Hi Venkat, i really liked the OS which you have setup on your machine plus how the terminal looks. Can you please share the details on the environment and the OS setup or best if you can do a video on that too. BTW i love your kubernetes series and i have watched all the videos and i would say your video are awesome. i really learned a lot from them.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Rahul, thanks for watching this video. I have been wanting to do a video on my Linux machine setup for a very long time as lots of people asked for it. I did a video many months ago about my terminal setup which you can watch in the below link. kzbin.info/www/bejne/qaCkqIinZ8iEfrM But I have moved away from that setup. My current setup is like the below - Manjaro I3 (Tiling window manager) - Zsh shell on Gnome terminal - Oh-my-zsh and zsh-autosuggestions - I3 configuration for transparency setting. I am definitely going to do a complete video of my environment soon. Thanks for your interest in this video.
@tenaciousprevailer99
@tenaciousprevailer99 5 жыл бұрын
@@justmeandopensource that would be great. i will have a look but please do a video on the complete setup of your os and machine.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Yeah. thats the idea. Right from installing the os to getting the desktop customization exactly what I got. I will be using Ansible automation to do the configuration part. Thanks.
@lokeshraju9733
@lokeshraju9733 4 жыл бұрын
Hi, Thank you very much for sharing the knowledge and implementing it. I have a quick question, Can we use this model for Production level infrastructure ? Is it reliable on production-level applications especially with storage issues?
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Lokesh, thanks for watching this video. Yes, this process can be applied in production. The implementation of the pipeline steps should be adapted as per your needs. This demo is just to explain how different bits glues together when implementing pipeline process with Jenkins and Kubernetes. Cheers.
@F1re4fect
@F1re4fect 4 жыл бұрын
Venkat - Great video. Is there an alternative to logging into each worker to modify permissions on /var/run/docker.sock? For a lab, no problem, but doesn't seem like something I want to do to my real CI env. Thanks!
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Carter, thanks for watching. This is just a demo environment. In a real world scenario, you would be running the docker registry with proper certificates so that you don't have to do this. Or you would be having a configuration management system like puppet/chef/ansible to manage machine collectively.
@F1re4fect
@F1re4fect 4 жыл бұрын
Thanks for the reply. I tried to eliminate that by using ECR. But instead it complains about the docker.sock. docker build -t 778557655328.dkr.ecr.us-west-2.amazonaws.com/myweb:6 . Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
@F1re4fect
@F1re4fect 4 жыл бұрын
I figured it was an issue with permission still, and that it was trying to build the docker image on the agent but still didn't have permissions. I googled something that talked about Docker-in-Docker solves this problem, but I haven't done much more research.
@justmeandopensource
@justmeandopensource 4 жыл бұрын
@@F1re4fect Hmm. Thats strange. If you have docker installed and docker service running you should be able to build the images. Check if docker service is running. Also depending on how you installed and intend to use docker, you may want to add your user account to the docker group or else run docker commands as root.
@F1re4fect
@F1re4fect 4 жыл бұрын
So docker-in-docker was the solution to avoid modifying the permissions on the workers. I have this working now using AWS ECR and my bare metal k8s cluster at home.
@moto_myshka
@moto_myshka 4 жыл бұрын
Hello, i have mistake ERROR: Cannot run program "docker" (in directory "/home/jenkins/workspace/test"): error=2, No such file or directory
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi, thanks for watching. Did you make sure that this job is ran on the slave pod in k8s. I believe it ran on the jenkins master node itself which won't have docker installed. Please set the number of executors to 0 for the master node so that jobs get run on jenkins slave pods in k8s. And make sure to use the right container image for your jenkins slave pod that has docker binary installed.
@akashhr6373
@akashhr6373 Жыл бұрын
Hi venkat , will there be any downtime experienced as one pod needs to be terminated and new pods need to be created? And will terminating the pod is taken care by Kubernetes continuous deployment plugin?
@alltechsinfo2333
@alltechsinfo2333 3 жыл бұрын
when I try to do deployment on aks it gives me the below error: Starting Kubernetes deployment Loading configuration: /var/lib/jenkins/workspace/kube-pipeline/web.yaml ERROR: ERROR: Can't construct a java object for tag:yaml.org,2002:io.kubernetes.client.openapi.models.V1Deployment; exception=Class not found: io.kubernetes.client.openapi.models.V1Deployment in 'reader', line 1, column 1: apiVersion: apps/v1 ^ hudson.remoting.ProxyException: Can't construct a java object for tag:yaml.org,2002:io.kubernetes.client.openapi.models.V1Deployment; exception=Class not found: io.kubernetes.client.openapi.models.V1Deployment in 'reader', line 1, column 1: apiVersion: apps/v1 ^ at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:335) at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:229) at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:219) at io.kubernetes.client.util.Yaml$CustomConstructor.constructObject(Yaml.java:337) at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:173) at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:157) at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:490) at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:456) at io.kubernetes.client.util.Yaml.loadAs(Yaml.java:224) at io.kubernetes.client.util.Yaml.modelMapper(Yaml.java:494) at io.kubernetes.client.util.Yaml.loadAll(Yaml.java:272) at com.microsoft.jenkins.kubernetes.wrapper.KubernetesClientWrapper.apply(KubernetesClientWrapper.java:236) at com.microsoft.jenkins.kubernetes.command.DeploymentCommand$DeploymentTask.doCall(DeploymentCommand.java:172) at com.microsoft.jenkins.kubernetes.command.DeploymentCommand$DeploymentTask.call(DeploymentCommand.java:124) at com.microsoft.jenkins.kubernetes.command.DeploymentCommand$DeploymentTask.call(DeploymentCommand.java:106) at hudson.FilePath.act(FilePath.java:1251) at com.microsoft.jenkins.kubernetes.command.DeploymentCommand.execute(DeploymentCommand.java:68) at com.microsoft.jenkins.kubernetes.command.DeploymentCommand.execute(DeploymentCommand.java:45) at com.microsoft.jenkins.azurecommons.command.CommandService.runCommand(CommandService.java:88) at com.microsoft.jenkins.azurecommons.command.CommandService.execute(CommandService.java:96) at com.microsoft.jenkins.azurecommons.command.CommandService.executeCommands(CommandService.java:75) at com.microsoft.jenkins.azurecommons.command.BaseCommandContext.executeCommands(BaseCommandContext.java:77) at com.microsoft.jenkins.kubernetes.KubernetesDeploy.perform(KubernetesDeploy.java:42) at com.microsoft.jenkins.azurecommons.command.SimpleBuildStepExecution.run(SimpleBuildStepExecution.java:54) at com.microsoft.jenkins.azurecommons.command.SimpleBuildStepExecution.run(SimpleBuildStepExecution.java:35) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: hudson.remoting.ProxyException: org.yaml.snakeyaml.error.YAMLException: Class not found: io.kubernetes.client.openapi.models.V1Deployment at org.yaml.snakeyaml.constructor.Constructor.getClassForNode(Constructor.java:664) at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.getConstructor(Constructor.java:322) at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:331) ... 30 more
@lzZxxZzl
@lzZxxZzl 4 жыл бұрын
Great! But i have a question. How to install lxc? is that "lxc-execute, lxc-create, ... " now ?
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Thanks for watching. I have done a video on LXC installation. Hope that video is still relevant. See if that helps. kzbin.info/www/bejne/eYjQnIaglKdgrdE Cheers.
@thaboramohlale1399
@thaboramohlale1399 5 жыл бұрын
Thanks for the knowledge.......also i have question/request.....can you please show a demostartion of etcd cluster like the one you described in the video of kubernetes the hard way(where etcd are not part of masters).....if you have please link me on the reply, thanks
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Thabo, thanks for watching this video. I have that in my to do list for a long time to configure a separate etcd cluster. I even attempted it one time but couldn't get it working. I need to look at that little more. When I get some time I will play with it. Thanks.
@ahfa7983
@ahfa7983 4 жыл бұрын
hi can you make video about nexus as repository to push and pull image from them and how to add it in jenkinsfile thanks
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi, thanks for watching. I will see If I can find some time to explore that. Cheers.
@snake8801
@snake8801 4 жыл бұрын
Hi Vinkat, Thanks for sharing this video. how do you manage the tagging of image from environment to environment (Build --> Test ---> PreProd --> Prod)? can we use helm charts as it may help to manage the environmental values? Considering a new video to deploy through Help with in Jenkins pipeline? Looking forward ..... Cheers
@justmeandopensource
@justmeandopensource 4 жыл бұрын
I didn't look much into this pipeline process. Just was showing how to integrate Jenkins within Kubernetes cluster. Yes you can use Helm in the pipeline. Cheers.
@DrSteelHammerSlayer
@DrSteelHammerSlayer 4 жыл бұрын
thanks for that video. Could you tell what os, desktop, window manager, terminal you are using, that looks awesome :) thanks
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Daniel, thanks for watching. I use Manjaro Distro with I3 tiling window manager with Zsh with Oh-my-zsh and zsh-autosuggestion.
@justmeandopensource
@justmeandopensource 4 жыл бұрын
I have done few videos on my desktop setup. kzbin.info/aero/PL34sAs7_26wOgqJAHey16337dkqahonNX Github: github.com/justmeandopensource/myi3
@DrSteelHammerSlayer
@DrSteelHammerSlayer 4 жыл бұрын
@@justmeandopensource cool, thanks again!
@justmeandopensource
@justmeandopensource 4 жыл бұрын
@@DrSteelHammerSlayer You are welcome
@AzfarHashmi
@AzfarHashmi 3 жыл бұрын
can you pls make a video to demonstrate available options to manage different pipelines (prod, qa, test etc) with different github branches of same repository auto triggered via github webhook?
@piratevv
@piratevv 4 жыл бұрын
what is the use of using jenkins operator vs a helm chart. what extra does the operator manage?
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Vignesh, thanks for watching. Jenkins Operator does more than what you can benefit from a simple jenkins helm chart. With jenkins helm chart you can deploy jenkins to k8s cluster individually. Every single jenkins instance deployed will have to managed separately. Whereas with Jenkins operator, you get a custom resource named jenkins like any other kubernetes resource, which makes it easier to manage. In addition, jenkins operator can do back up and restore of your jenkins instances. You can't compare helm chart with Jenkins operator. Helm chart is just a set of template files but Jenkins operator is a set of components deployed in the cluster which takes care of depoying and managing jenkins for you. Hope this makes sense. Cheers.
@somethingtosee7554
@somethingtosee7554 4 жыл бұрын
Trying to follow this good demo tutor. Thanks for this. Random question, how do you able to show the memory, IP, weather bar on the console window bottom right? By the way whats the OS you are using to test this
@justmeandopensource
@justmeandopensource 4 жыл бұрын
HI, thanks for watching. I used Manjaro Linux with I3 tiling window manager in this video. The bottom bar is the i3bar with i3blocks. I have done few videos on my setup about i3 and some ansible automation to get started. You can find them here. kzbin.info/aero/PL34sAs7_26wOgqJAHey16337dkqahonNX But recently I switched to using Gentoo but with same I3 window manager setup. Cheers.
@raskosk
@raskosk 4 жыл бұрын
Hey There, Could you please do some Videos about CI/CD with Kubernetes and Gitlab (also Running as a Container)? Would be Great in comparison to the Jenkins Playlist
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi, thanks for watching. Gitlab is in my list of videos to do and I will get it done sometime soon. Cheers.
@MusheghDavtyan
@MusheghDavtyan 4 жыл бұрын
Thank you. Today in 2020 is it possible to run Jenkins jobs by github actions?
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Mushegh, thanks for watching. I have no idea about Github Actions unfortunately. Thats in my list to explore.
@rohitchavan7535
@rohitchavan7535 3 жыл бұрын
Can you please mention what are the prerequisite before doing this CICD pipeline.
@zaheerhussain5311
@zaheerhussain5311 4 жыл бұрын
Hi Vinkat This is very good video. Can we access internet inside the pod. for example , I can ping google IP from inside the but cannot ping google.com inside the POD. how can I configure DNS resolution in this environment.
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Zaheer, thanks for watching. You can configure to a certain extent the name resolution for individual pods by setting the dnsPolicy attribute in the pod spec. kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy
@zaheerhussain5311
@zaheerhussain5311 4 жыл бұрын
@@justmeandopensource thanks for prompt response. how can I configur it in scalable Jenkins
@justmeandopensource
@justmeandopensource 4 жыл бұрын
@@zaheerhussain5311 how do you mean?
@zaheerhussain5311
@zaheerhussain5311 4 жыл бұрын
@@justmeandopensource i create Jenkins (scale able) from your exiting videos using helm, it creates pods. inside the pod, i cannot ping any side by its name like ping yahoo.com , google.co etc. on the other hand, pods scale-up/scale-up so that i cannot incorporate dnsPolicy on pod level. what will be the other way that i can resolve dns name resolution inside any pod. I am using kubernetes 1.15 . hopefully you understand my point.
@justmeandopensource
@justmeandopensource 4 жыл бұрын
HI Zaheer, I understand. THe jenkins slave pods are created by Cloud plugin so you can't add dnsPolicy option to the manifest for the slave pods that are auto scaled. There is a way using PodPreset. kzbin.info/www/bejne/gqi6Z36Xm9WHga8 You can configure a PodPreset with certain options that can be applied to any pods with certain labels. When the pod gets scheduled, the controller will add the option dynamically to it.
@prasadshivan79
@prasadshivan79 4 жыл бұрын
Hi Venkat, I have a doubt, you are giving :$BUILD_NUMBER as docker tag in Jenkinsfile and manually changing the image tag in Deployment file, will that not mismatch if one build fails. Cant we use "latest" tag in the deployment file so that it will lake the latest image from the repository to deploy?
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Prasad, thanks for watching. You are right. This is not the exact way you would do in real world. Just for the sake of simplicity I went for this approach. You should be using some other methods to assign the tags for the images. Cheers.
@prasadshivan79
@prasadshivan79 4 жыл бұрын
@@justmeandopensource Thanks Venkat, I have been practicing using your videos from past few days. All videos are very informative and interesting
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Happy to hear that. Thanks for your interest. Cheers.
@ДенисНикитин-ш7и
@ДенисНикитин-ш7и 4 жыл бұрын
Hi Venkat, Install stable jenkins the Helm > STATUS Pending and nothing else happens when viewed: kubectl -n jenkins logs -f jenkins-6866788986-g49dq - there are no logs. I don 't know what to do?
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi, thanks for watching. If you could provide me with more details about the command and output, it will be helpful for me to assist. May be you can paste everything in pastebin.com.
@ДенисНикитин-ш7и
@ДенисНикитин-ш7и 4 жыл бұрын
Today I set everything with your Vagrantfile: 1. kubeadm init -> WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io 2. helm install jenkins -> STATUS Pending
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi, You can ignore the warning about kubeadm cannot validate component. I see that too and despite that the cluster works absolutely fine. Regarding installing Jenkins, find out why the status is pending. Is it waiting for persistent volumes to be provisioned.
@Unaidedsteaks
@Unaidedsteaks 4 жыл бұрын
Really useful video, thanks! What do you use for creating the hand drawn diagrams and notes I see in most of your videos?
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Ryan, thanks for watching. Old school way of writing on a white paper, scaning as a pdf. Don't have time to create infographics in computer or a powerpoint slide. I found this very effective. :)
@ishanair6400
@ishanair6400 5 жыл бұрын
Thank you venkat.Very detailed video. One query is it possible to have jenkins configured separately instead of having Jenkins and the app running on the same k8s cluster?
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Isha, thanks for watching this video. Yes you can use Jenkins outside of the Kubernetes cluster. You just need to make sure to configure Jenkins Kubernetes plugin with appropriate settings to connect to your k8s cluster. Thanks.
@ishanair6400
@ishanair6400 5 жыл бұрын
@@justmeandopensource Thanks venkat. i am able to make the jenkins work(With no agent configured) to deploy my app to my seperate k8s cluster,however when i installed Jenkins with agent configured through helm on a separate k8s cluster its not working as expected and the pipeline is waiting for executor. In the Configure-> Cloud secton is its expecting the Jenkin agent and application to reside on the same cluster where jenkins is installed?
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Isha, I will give it a try in my environment and see how it goes. I don't think it will be a problem. I will let you know anyways. Thanks.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
@@ishanair6400 I have tried it in my environment and made it work. I have also recorded a video of it. I have 5 videos before that waiting to be scheduled and I hope you are aware that I release videos one every week on Mondays. So this video will be released in 5 weeks time. I could however share the video directly with you if you need it. If you could let me know your email, I will forward the video link. Or if you don't like to share you email publicly, I can share my email and you can send an email to me. Whichever works best for you. Thanks.
@ChitrankDixit
@ChitrankDixit 3 жыл бұрын
very nice video as always :) and this is helping me in my POC for my project CI/CD configs. However I ran into issues that has issues connecting to docker build step + docker build -t 192.168.1.202:5000/justme/myweb:2 . Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
@justmeandopensource
@justmeandopensource 3 жыл бұрын
Hi Chitrank, thanks for watching. Can you confirm where this pipeline is running? Is this pipeline docker build step running in a slave pod or on the Jenkins master pod? You would have specified in the pipeline, the node label where you want this pipeline to run. The slave pod (if you used the same slave container image as shown in this video) comes with docker binary but not docker runtime. It uses the docker runtime on the underlying kubernetes nodes. In the slave pod configuration in Jenkins, you would have mounted the /var/run/docker.sock volume from the host. Just make sure you have mounted this volume. Otherwise you will get this error.
@ChitrankDixit
@ChitrankDixit 3 жыл бұрын
@@justmeandopensource right I looked again at the values.yaml and changed some of the custom settings, I managed to solve this issue by removing the extra args DOCKER_HOST, and let it mount with hostPath, It worked now many thanks.
@justmeandopensource
@justmeandopensource 3 жыл бұрын
Perfect.
@soufianemakhloufi3790
@soufianemakhloufi3790 4 жыл бұрын
hi vankat thank you for this video i have a question please: how you can deploy jenkins slave in multiple namespaces with this chart?
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi, thanks for watching and an interesting questions. Well, I think you could manually update the Kubernetes plugin confiuration in Jenkins master to add another slave template ona different namespace. I don't have this environment right now to test. But if I get a chance later this week, I will test it. Cheers.
@soufianemana
@soufianemana 4 жыл бұрын
Thank you vankat really I'm a fan of your Channel, and your videos are very beneficial
@justmeandopensource
@justmeandopensource 4 жыл бұрын
@@soufianemana You are welcome.
@nghiepvo4493
@nghiepvo4493 5 жыл бұрын
Thanks Venkat! How to create storedClass? because I don't see you say on this video.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi, I used dynamic nfs provisioning in this video automatic storage provisioning. Explained in the below video. kzbin.info/www/bejne/d5LZn4SwjKmHe80
@kartheekvasireddy5233
@kartheekvasireddy5233 5 жыл бұрын
Hi @venkat, thanks for the video. One thing i have observed when i tried this is i have to increase my readiness probe values to the actually let the war to get extracted and continue the with installation. The default values are not ideal for my setup and pod the is getting recreated and not allowing to continue with the install.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Kartheek, That's a good point. Increasing the memory and cpu limit for jenkins master pod can also help in quick starting od jenkins service. Thanks.
@kartheekvasireddy5233
@kartheekvasireddy5233 5 жыл бұрын
@@justmeandopensource thanks venkat setup just worked fine in my environment.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
@@kartheekvasireddy5233 Cool.
@kartheekvasireddy5233
@kartheekvasireddy5233 5 жыл бұрын
@@justmeandopensource HI venkat, I just tried it on version 15.3 and looks like it has bug and the agent is pod is getting created and terminated. issues.jenkins-ci.org/browse/JENKINS-59000?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel Don't think its working for version 14.3 also now.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Kartheek, the Kubernetes cluster I have been using is 1.14.3. For me it worked both in 1.14.3 and 1.15.0. Cheers.
@mzw8374
@mzw8374 3 жыл бұрын
HI, if I am using EKS cluster, should I change the ClusterZone or not?
@justmeandopensource
@justmeandopensource 3 жыл бұрын
Can you point me the time in this video where you are referring to clusterzone? This video was done long time ago and I can't remember the exact details.
@elsabaa85
@elsabaa85 4 жыл бұрын
Thanks alot for this really infomrmative Video .. I am working now on OpenShift 4.4 and it is comming with CRIO as a container runtime , in this case i need jenkins slave image with CRIO installed and use the CRIO Socket from the Worker machines , is this right ? is this image exists anywhere ?
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Hassan, thanks for watching. I haven't tried crio yet.
@elsabaa85
@elsabaa85 4 жыл бұрын
@@justmeandopensource Thanks for the prompt answer .. I am already searching , once i find something i will share it here .
@justmeandopensource
@justmeandopensource 4 жыл бұрын
@@elsabaa85 Thanks. That will be helpful. Cheers.
@sarfarazshaikh
@sarfarazshaikh 4 жыл бұрын
Great Video Sir, How can we set this project on minikube
@justmeandopensource
@justmeandopensource 4 жыл бұрын
The steps in this video can be followed on any Kubernetes cluster provisioned by any means. You can also follow this on Minikube cluster. You need to have helm installed. I am deploying Jenkins through Helm and accessing Jenkins through nodeport. You also need to have dynamic volume provisioning enabled or if its just for learning, you can do it without persistence. Thanks.
@JonnieAlpha
@JonnieAlpha 4 жыл бұрын
I am getting the error at the "Build Image" stage. Jenkins is giving me this error: + docker build -t 192.168.1.202:5000/justme/myweb:2 . /var/jenkins_home/workspace/playjenkins_master@tmp/durable-595e40dc/script.sh: 1: /var/jenkins_home/workspace/playjenkins_master@tmp/durable-595e40dc/script.sh: docker: not found script returned exit code 127
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi, thanks for watching. Are you sure this job is ran on the dynamically created jenkins slave pod in kubernetes? And did you use the right slave image for jenkins that has docker binary installed? I believe this job ran on the Jenkins master instead of jenkins slave pod in k8s. Just set the number of executors on the jenkins master to 0 and re run this job, it will run on the slave pod.
@zaibakhanum203
@zaibakhanum203 2 жыл бұрын
Hi Sir.. In case I'm migrating monolith application to microservices, should I decompose the application to several microservices and write the docker file for each microservice? and also what about deployment manifest?
@HA04259
@HA04259 5 жыл бұрын
Hi Venkat, Thank you for uploading my request. good thing i have noticed here is On the fly Jenkins slave is doing task. i have question why we have Jenkins and JenkinsX is there any difference. when i google JenkinsX is intended for Kubernetes CI/CD. If you any idea about jenkinsX, give some Keypoints.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Hareesh, thanks for watching this video. I recorded this video for you but couldn't find your original comment to reply saying that the video is available. I read about Jenkins X (jenkins-x.io) a while ago but yet to play with it. It seems to be a cloud native CI/CD implementation using Jenkins. Its a separate project. Its a different tool to automate Jenkins pipeline that makes it a lot easier to adopt in the cloud environment. I am going to try this and soon make a video. Thanks.
@HA04259
@HA04259 5 жыл бұрын
@@justmeandopensource Hi Venkat, Thank you for reply. I have commented at 48. the pod distruption video.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
@@HA04259 Yeah. Found that today. Thanks.
@jefffogarty6470
@jefffogarty6470 5 жыл бұрын
@@justmeandopensource Hi Venkat, I've been wanting to install jenkins-x on bare metal for a long time. The folks at Cloudbees are not too interested in supporting this. I found this book that talks about the scalability issue between jenkins and jenkins-x leanpub.com/the-devops-2-6-toolkit I'd love to see a thorough video on serverless jenkins-x on gke.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Jeff, thanks for your interest in Jenkins-x. I am preparing for it. Once I gain some confidence on the workflow, I will record and release a video. Thanks.
@hrishekessaraghueeti1258
@hrishekessaraghueeti1258 4 жыл бұрын
Hello, May I know what could be the 'Deploy ' in Jenkinsfile if you deploy the application into AWS EKS setup? What are the steps to be taken in AWS environment for EKS setup if we use ECR for storing the Docker images and use those images in ECR to deploy to EKS? What would be the changes in Jenkinsfile if we use AWS ECR instead of dockerhub registry.
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Thanks for watching. I will take a look when I get some time. I am still catching up with all the old emails. Cheers.
@atulgaba4296
@atulgaba4296 4 жыл бұрын
Nice Tutorial, However I ran into a issue when deploying to kubernetes. I have Jenkins running on vm and 3 node kubernetes cluster with 1 master and 2 slave in my lab. I get below error for all properties defined in app1.yaml Starting Kubernetes deployment Loading configuration: /var/lib/jenkins/workspace/cicdtest_master/app1.yaml ERROR: ERROR: Cannot create property=spec for JavaBean=class V1Deployment {
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Atul, thanks for watching. I am not sure about the error you are getting. No clue sorry.
@Siva-ur4md
@Siva-ur4md 4 жыл бұрын
Hello Venkat, I am facing a strange issue with Kubernetes agents(cloud). when I trigger Jenkins freestyle job creating a pod in Kubernetes with 2 containers(my_container, JNLP), but whatever I mentioned in the execute shell in the job configure, it is not running on my_container, it is running on JNLP container instead. Could you please help if I am doing anything wrong with configuration.
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Siva, thanks for watching. I am not clear about your question. What is your container and what is jnlp container. In this video, there is Jenkins master pod running in K8s. We also configure slave pods to be launched on demand. Please could you explain in a bit more detail about your setup and issue. Thanks.
@Siva-ur4md
@Siva-ur4md 4 жыл бұрын
Hello, Venkat, currently i have created Jenkins master in K8S with own deployment used jenkins offical image and Service exposed 8080-node port, 50000 jnlp cluster port(not used helm). and I have installed the kubernetes plug in. I have followed same steps which you have configured in pod template section. Pod template section --> Name default Container name: test_container (in your case it is JNLP) container Image name: joao29a/jnlp-slave-alpine when i ran the job its created on demand pod, But in your case it just created pod with only one container that is JNLP, but for me it is created 2 containers in a pod (1 is test_container, 2 is JNLP default container which will connect to my jenkins master with 50000). and in you case if you run job the workspace is created in single container, but for me workspace is creating on JNLP default container which will created by Jenkins, what ever i mentioned in execute shell it is not running on my primary container. So, don't know where i am doing wrong, 1. in your case slave pod contains only 1 container and in my case 2 containers. 2. why workspace is creating on JNLP container instead of my container. instead test_container
@justmeandopensource
@justmeandopensource 4 жыл бұрын
@@Siva-ur4md Ah okay. So something to do with your test_container then.
@atulbarge7445
@atulbarge7445 4 жыл бұрын
hi venket , from last week i am getting an error to my kubernetes setup as my jenkins pod get pending and it is not starting and running mode and after checking i got message as kubectl describe pod cjoc Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedScheduling default-scheduler 0/5 nodes are available: 5 node(s) had taints that the pod didn't tolerate. Warning FailedScheduling default-scheduler 0/5 nodes are available: 5 node(s) had taints that the pod didn't tolerate. this is output i got it please help me out .
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Atul, thanks for watching. So it was working but stopped working recently. And from the error I can see that none of the nodes are available to take any new pods. You will have to look at the nodes to find out what taints it has. $ kubectl describe node Towards the bottom of the above output, you will see taints. I guess the nodes are in memory or disk pressure.
@zancrnivec1271
@zancrnivec1271 4 жыл бұрын
Hi, great tutorial! I have some issues though, if maybe you can help. For some reason, the slaves/agents are not starting during the build. Also, I get the following error: + docker build -t user/sample-app:5 . /var/jenkins_home/workspace/demo-pipeline_master@tmp/durable-ead8b43c/script.sh: 1: /var/jenkins_home/workspace/demo-pipeline_master@tmp/durable-ead8b43c/script.sh: docker: not found script returned exit code 127
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Zan, thanks for watching. I know whats going on. Your pipeline actually ran on the Jenkins master and not on new slave Jenkins pod. You can do one of two things. You can set the number of executors on master to 0, so that no jobs gets run on master. Or edit the pipeline script Jenkinsfile and change "agent any" section to include labels of the slave pods.
@kranthit6446
@kranthit6446 4 жыл бұрын
I have a query to implement Ci/CD in my project we have 18 services with 18 repos team deploy continuously I am not able to figure out when to kick start my Automation testsuite to validate build quality we use canary build any suggestions from you?
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Kranthi, thanks for watching. in general, you would run the test suite as the next step to build to validate it. This video is about the CI/CD process in Kubernetes. I am not an expert in development/testing. Cheers.
@udaykumar-tb5kn
@udaykumar-tb5kn 5 жыл бұрын
Hi bro..we could see only 50videos only in your series ..all are great..I cannot see rest of the 9 videos it says private video am not able to view..please make them as public..please do needful brooo plss
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Uday, thanks for watching this video. I record videos in advance and release them 1 every week on Monday. I usually keep the videos private and release them on every Monday and add it to the playlist. But I want viewers to see what is about to come in the next few weeks. Thats the reason I add them to the playlist but kept private. You will see them in the coming weeks. Thanks for your patience.
@udaykumar-tb5kn
@udaykumar-tb5kn 5 жыл бұрын
Thanks lot bro for your quick and prompt response..lookokg forward to have more sessions on AWS and devops new tools..I highly recommend my friends and colleagues to subscribe your channel at the earliest my promise..thanks lot again for bringing such a excellent videos
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Uday, Many thanks for your effort in sharing these videos with your friends. This is what keeping me motivated every day. Keep it up and there are lot more videos to come and hope you will enjoy. Cheers.
@madhavireddy3298
@madhavireddy3298 4 жыл бұрын
I when i am running jenkins job in k8s like as you shown in video i am getting this error : ERROR: Error cloning remote repo 'origin' can you please help to resolve this error
@ashishkumar256
@ashishkumar256 5 жыл бұрын
I have my Jenkins (monolithic app) running on EC2 which is our current production CICD machine. Now I am working on K8s project and wish to execute slaves (Kubernetes pod) on the top of current existing Jenkins environment. By doing so we don't need extra effort to setup in case we move fully Jenkins micro architecture. Please suggest.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Ashish, Thanks for watching this video. Few other viewers asked the same question on how to connect existing Jenkins server to the Kubernetes cluster to run slave pods. I have recorded a video for that. But there are 5 more videos waiting to be released before that video. As you might be aware, I release one video every Monday which means this video will get released in 5 weeks time. Either you can wait for 5 weeks or if you like I can share the video privately with you before the schedule. Thanks.
@ashishkumar256
@ashishkumar256 5 жыл бұрын
@@justmeandopensource please share, it would be very helpful for me. Otherwise after next 5 weeks, my efforts will get doubled itself.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Ashish, may I know your email address please? I will share the link. If you don't want your email id to be publicly visible, I can share mine. Thanks.
@ashishkumar256
@ashishkumar256 5 жыл бұрын
@@justmeandopensource still awaiting of video
@justmeandopensource
@justmeandopensource 5 жыл бұрын
@@ashishkumar256 Hi, could you please share your email address to wenkatn@gmail.com? I have recorded the video you requested couple weeks ago. Thanks.
@Siva-ur4md
@Siva-ur4md 5 жыл бұрын
Hi Venkat, Thanks for the video. sorry for bothering you. 1. is there any way to update values directly in Kubernetes manifests. for example this case, the image can't we do "${buildnumber}" in the deployment file, like passing command-line arguments for manifests. 2. Could you please make a video of Service-mesh if you get time Thanks in Advance
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Siva, don't be sorry. The more you bother me, the more I will learn and you can learn. I am sorry, I didn't get your first question. Could you give me a detailed example as to what you want to achieve? Service mesh is something I am looking at now especially Istio. And many people have shown interest on that topic. Its in my list and very soon you can expect videos on it. Thanks.
@Siva-ur4md
@Siva-ur4md 5 жыл бұрын
@@justmeandopensource Thank you! my question was, every time when we building a new image and pushing to the repo with the tag of build number right, for example, justformeopensource:web-1, next build/version the image is justformeopensource:web-2 right. and we manually edited the image in the deployment file everytime, so is there any automatic of replacing the image/build number in deployment file
@justmeandopensource
@justmeandopensource 5 жыл бұрын
@@Siva-ur4md Now I completely understand your question. I know someone will ask this question and glad you did. Yes when I was recording this video, I thought about it. My focus was to introduce you to the ci/cd process in kubernetes. There are many things we could do to improve this process. In the pipeline stages, we could use a different variable instead of build number. It all depends on how we want to name the image tag. And in the manifest, we can just change it to "image: justmeandopensource/myweb:latest" instead of specifying the tag version. Thanks.
@manikandans8808
@manikandans8808 5 жыл бұрын
Can you post a video on RBAC?
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Mani, Thanks for watching this video. RBAC is something I have used on all my videos implicitly. Creating role, rolebinding, clusterrole & clusterrolebinding has been covered in various videos in my series. Although I haven't focused on that topic solely, most of the videos has that component on it. As of now, I am focusing on Istio (Service Mesh). Its an exciting topic. Already uploaded couple of videos and more to come on that topic. Stay tuned. Thanks.
@manikandans8808
@manikandans8808 5 жыл бұрын
@@justmeandopensource thank you
@justmeandopensource
@justmeandopensource 5 жыл бұрын
You are welcome. Cheers
@vknvnn
@vknvnn 5 жыл бұрын
Hello Venkat! Readly thanks for this video, I have a question, I want to deploy Jenkins for specific Node, so how will I do?
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi, thanks for watching this video. Do you mean you want to deploy Jenkins master on a specific Kubernetes worker node? If so, you will have to label the worker node and use node selector in your deployment file. kzbin.info/www/bejne/inekcoZ3m7SSnck Thanks.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
And if you are using Helm to deploy Jenkins, then in the values file you can specify the node selector.
@vknvnn
@vknvnn 5 жыл бұрын
Thanks for your response, So I will update where in jenkins.values file for specific worker node
@justmeandopensource
@justmeandopensource 5 жыл бұрын
@@vknvnn Under master and under nodeSelector. Or you can pass it as an argument during Helm install. Say for example, you labelled a worker node like "ssd=fast". Then you can do , $ helm install --name jenkins --values jenkins.values --set master.nodeSelector="ssd=fast" stable/jenkins Something like this. Thanks.
@vknvnn
@vknvnn 5 жыл бұрын
@@justmeandopensourcemany thanks, I got it, thanks again
@hemantbagade8249
@hemantbagade8249 4 жыл бұрын
Hi Venkat, In /etc/docker/daemon.yml you gave your local ip. I am using GCP CloudShell. So which IP should i give to daemon file? GCP CloudShell's public ip is not accessible via outside world(tried ping). Thanks :)
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Hemant, thanks for watching this video. For /etc/docker/daemon.yml, you will have to specify the IP address of the machine where you are running your docker private registry. Cheers.
@hemantbagade8249
@hemantbagade8249 4 жыл бұрын
@@justmeandopensource Hi Venkat, Thanks for help :) I have one more question :P in jenkinsFile there is an entery "pipeline { environment { registry = "192.168.1.168:5000/justme/myweb" dockerImage = "" }" Here in registry i have given my ip, will that work? where is :/justme/myweb is defined? Thanks
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Yes. You have to give the ip address of the server where your private registry is running.
@hemantbagade8249
@hemantbagade8249 4 жыл бұрын
@@justmeandopensource Thanks Venkat. your tutorial helped a lot to clear concepts :). Do you have any plan tutorial for HPA with external metrics. Thanks again cheers :)
@justmeandopensource
@justmeandopensource 4 жыл бұрын
@@hemantbagade8249 You are welcome. HPA with cistom metrics is in my list. But I haven't figured out how to use it. When I find out I will post a video. Thanks.
@zaholbrook
@zaholbrook 5 жыл бұрын
I am having issues with my jenkins talking to my kubernetes cluster to deploy - I cannot seem to find the solution to this can you point me in the correct direction? It seems to be using a anonymous connection but i cannot figure out how to fix it. Error testing connection kubernetes.default: Failure executing: GET at: kubernetes.default/api/v1/namespaces/jenkins/pods. Message: Forbidden!Configured service account doesn't have access. Service account may have been revoked. pods is forbidden: User "system:anonymous" cannot list resource "pods" in API group "" in the namespace "jenkins".
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Zach, thanks for watching this video. Just to confirm, this jenkins instance is deployed within the Kubernetes cluster right? Or is it a separate Jenkins outside the cluster and you are trying to configure access to Kubernetes? Thanks.
@zaholbrook
@zaholbrook 5 жыл бұрын
Just me and Opensource yes Jenkins is running on a deployment inside or on top of kubernetes.
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Thanks for confirming. When I was playing with Jenkins helm chart, I got the exact same issue you mentioned. Its something to do with RBAC and service account. Is your Kubernetes cluster RBAC enabled? That is mandatory. I am not sure how you provisioned your Kubernetes cluster but it needs RBAC enabling. And in the Jenkins helm chart, service account should be set to true, which is the default. But as shown in this video, I didn't experience that issue. Please try to mimic exactly as shown in this video. Thanks.
@shashanksharma9583
@shashanksharma9583 5 жыл бұрын
Hi bro , i have seen almost all your videos, also try the same in my local environment found no issue , but when am creating the CI CD pipeline m getting error at build step which is ERROR: cannot connect to the docker daemon , although i have followed all the steps which you have mentioned .. Requesting you to please help me its a request. Thanks in advance
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Shashank, thanks for watching this video. Can you tell me the exact location in this video where you are seeing this problem please?
@shashanksharma9583
@shashanksharma9583 5 жыл бұрын
Just me and Opensource thanks for your instant reply appreciated. At 34:15. In my setup when my pipeline going at build step it will give me the error which I mentioned in my above comment. Also i have noticed that in ur video when ur buid staat jenkins slave agent is running but in my case its not running .. Please suggest
@justmeandopensource
@justmeandopensource 5 жыл бұрын
@@shashanksharma9583 Okay. You mentioned two issues here. 1) Your build stage of the pipeline is failing with ERROR: Cannot connect to the docker daemon. 2) Whenever a jenkins build is triggered, you don't see the kubectl jenkins pod startup up or running I don't think both these are happening at the same time. Because as per your first issue, the build stage of the pipeline is failing. Which means the checkout stage completed successfully. All three stages run on the same Jenkins slave pod. So definitely your slave pods are starting up and running. May be you are not looking on the right namespace. Now, coming back to ERROR: Cannot connect to docker daemon, Starting at 13:40 I was doing the jenkins slave agent configuration in the Jenkins.values file. Are you using the right slave image jaoa29a/jnlp-slave-alpine-docker? And have you configured the volume mount like I did in the agent section of the jenkins.values file? Basically, the agent image we are using comes with docker binary installed and it connects to the docker engine running on the host machine which will be your kubernetes worker nodes. How is your k8s cluster provisioned? Thanks.
@shashanksharma9583
@shashanksharma9583 5 жыл бұрын
@Just me and Opensource Once again thanks for your prompt response. Okey i understand that am not looking for slave in the right namespace. Although am using the command -all-namespaces to see all pods. Second thing is i have mount the same volume path in the jenkins.values file which is /var/docker/docker.sock. Also done the required configuration on worker nodes too and also run the registry container on worker node. Image name is also correct. As i told you that i have seen ur all videos, you can see you are my teacher in this technology, I have setup same cluster with one master and 2 worker with nfs dynamic provisioning. NOTE:- i just change the mater image from ur to the another image which have pre installed docker in the master too. Thanks in advance
@justmeandopensource
@justmeandopensource 5 жыл бұрын
@@shashanksharma9583 Thanks for these details. Are your worker nodes VMs or lxc containers? I have provisioned cluster using VMs, LXC containers and even docker containers. I believe you have followed every step. But just checking, the important step which when missed would give the error you are getting is when /var/run/docker.sock is not accessible. Basically two important steps. 1) on each worker node, chmod 666 /var/run/docker.dock 2) Mount /var/run/docker.sock to agent pods in jenkins.values file Just make sure you are doing the above two steps. Thanks.
@manikandans8808
@manikandans8808 5 жыл бұрын
Hi venkat, I was using this setup for deploying aws lambda using aws lambda plugin, in that case I have to define awsAccesskey and awsSecretkey as direct input that jenkinsfile, is there any solution to make to env variables?
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Hi Mani, I am yet to explore topics around Jenkins in AWS. But I think you can use environment variables to store access key id and secret access key, also region. Jenkins -> Manage Jenkins -> Configure System -> Global properties -> Environment variables AWS_DEFAULT_REGION= AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= Thanks
@manikandans8808
@manikandans8808 5 жыл бұрын
@@justmeandopensource Thanks @venkat....that works perfectly.......cheers
@justmeandopensource
@justmeandopensource 5 жыл бұрын
@@manikandans8808 Cool. I will be doing a video on this as well. Thanks.
@manikandans8808
@manikandans8808 5 жыл бұрын
@@justmeandopensource thats great....cheers....thanku @venkat...
@justmeandopensource
@justmeandopensource 5 жыл бұрын
You are welcome. Cheers.
@luttferreira8109
@luttferreira8109 4 жыл бұрын
Hello, Venkat. Could you give me a hand? My BlueOcean pipeline is failing at the Push Stage. The error log shows "no basic auth credentials". I'm using a private docker registry installed on a server in my network. How can I give the registry's user and password to Jenkinsfile? Thanks a lot!
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Lutt, thanks for watching. You got to create Jenkins credential for your private docker registry username and password and then reference it in the jenkinsfile. stackoverflow.com/questions/49029379/use-private-docker-registry-with-authentication-in-jenkinsfile
@luttferreira8109
@luttferreira8109 4 жыл бұрын
@@justmeandopensource Hello again, Venkat. Everything is finally working! But I still have a question: it seems like my pipeline is passing through all stages without creating the "jenkins slave" pod... No matter I monitor the pods creation, it never shows up, although the final "myweb" pod is successfuly deployed... Is this behavior right? What can be happening? Thank you so much for the videos. Simply the best around, hands down! =D
@justmeandopensource
@justmeandopensource 4 жыл бұрын
@@luttferreira8109 I don't think its right. Basically we install kubernetes plugin in jenkins. Configure the kubernetes plugin to connect to the kubernetes cluster. Also configure the slave pods in the kubernetes plugin. The slave pod will be using the docker runtime on the host machine where it is scheduled by binding to /var/run/docker.sock on the host machine. We create a pipeline job and specify that the job needs to be run on the slave pod by specifying the label. What I think happened in your case is that when you created the job, you didn't specify the label where it needs to run. So I believe it ran on the jenkins master node itself.
@luttferreira8109
@luttferreira8109 4 жыл бұрын
@@justmeandopensource Yes, you're right. I can see that the image was created on Jenkins master, for example. But this os strange, because I've followed your instructions... Where exactly can I assure that the label "jenkins-jenkins-slave" was specified in the job? Thanks again. You are very attentive!
@luttferreira8109
@luttferreira8109 4 жыл бұрын
@@justmeandopensource Sorry, let me correct an information: I DID follow you instructions, but I've made a mix between this video and [Kube 25 Discussion 1], because I'm using a separated Jenkins Master, which was installed on another VM without using HELM, in a tradicional fashion. So, maybe I've lost some important details from that helm instalation.
@pavankonakanchi3104
@pavankonakanchi3104 3 жыл бұрын
Thanks for the video.. it realy helps... I am using containerd in my kubernetes node and deploying i jenkins in kubernetes and using kubernetes plugin. Here we required to build images in jenkins slave. I undestood the docker.sock file to mounted to run this from node to port. But can you help with how this will work in case containerd running in node instead of Docker. Thanks in advance..
@goro7178
@goro7178 3 жыл бұрын
Hello Venkat nice vid and btw im having same concern here where im using containerd on host instead of docker and slave containers will be referring to docker socket that does not exist. Any suggestion please? Thanks in advance
@justmeandopensource
@justmeandopensource 3 жыл бұрын
@@goro7178 I am exploring other options for containerd environment and will soon post a video. Cheers.
@goro7178
@goro7178 3 жыл бұрын
@@justmeandopensource you ROCKKKKK VENKAT Sir
@justmeandopensource
@justmeandopensource 3 жыл бұрын
@@goro7178 haha
@justmeandopensource
@justmeandopensource 3 жыл бұрын
Hi, not sure if you are aware that I released new video couple weeks ago addressing this issue and what to do going forward. kzbin.info/www/bejne/j5-9gn13grBpgKs
@manikandans8808
@manikandans8808 5 жыл бұрын
Can i implement this setup with CodePipeline ?
@justmeandopensource
@justmeandopensource 5 жыл бұрын
HI Mani, thanks for watching this video. CodePipeline is similar concept in AWS that involves bunch of other services specific to AWS like CodeCommit, CodeBuild & CodeDeploy. I am planning to do a video on that as well. Workflow might be slightly different to this. I have another 4 videos waiting to be scheduled in the Learn AWS series around Beanstalk topic. After that I will do Codepipeline video. Thanks.
@manikandans8808
@manikandans8808 5 жыл бұрын
@@justmeandopensource sure...thanks for that. I'm planning to deploy docker containers with Kops. Will that be useful one?
@justmeandopensource
@justmeandopensource 5 жыл бұрын
@@manikandans8808 I haven't used kops yet. But I believe its used for provisioning a Kubernetes cluster in AWS. I am not sure what you mean when you say deploy docker containers.
@putinscat1208
@putinscat1208 3 жыл бұрын
Wow, I gave a perfectly benign comment and it's gone!
@justmeandopensource
@justmeandopensource 3 жыл бұрын
I don't understand why comments are disappearing these days. But I have it in my email that you suggested TrueNFS. I will give it a try. Cheers.
@putinscat1208
@putinscat1208 3 жыл бұрын
@@justmeandopensource Is suggesting a product a problem for comments? I didn't know that was a competitor to KZbin??
@justmeandopensource
@justmeandopensource 3 жыл бұрын
@@putinscat1208 May be.. Not sure.
@ravipacc
@ravipacc 4 жыл бұрын
Many thanks. Great work. As per your video, I am getting this error, when i am executing jenkins pipeline. "Waiting for next available executor". I am using Docker images as joao29a/jnlp-slave-alpine-docker:latest Below is the console output Branch indexing Connecting to api.github.com using admin/****** Obtained Jenkinsfile from xxxxxxxxxxxxxxxxxx Running in Durability level: MAX_SURVIVABILITY [Pipeline] Start of Pipeline [Pipeline] node Still waiting to schedule task Waiting for next available executor I waited for long time but the pipeline is waiting for the next available executor. Any advise will be helpful. thanks
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi, thanks for watching. When this is happening, have a look in the jenkins log and see if the slave container is being launched. There could be a configuration problem in your container/pod template in the Kubernetes CD plugin that prevents the container from successfully launching and running.
@udaykumar-tb5kn
@udaykumar-tb5kn 5 жыл бұрын
Hope I would get response bro..please do needful
@justmeandopensource
@justmeandopensource 5 жыл бұрын
Thanks Uday. I always try to respond as quickly as I can and believe you got my replies already for the other two comments you just posted. Cheers.
@udaykumar-tb5kn
@udaykumar-tb5kn 5 жыл бұрын
Thanks lot
@justmeandopensource
@justmeandopensource 5 жыл бұрын
You are welcome.
@karl-heinzpeters7283
@karl-heinzpeters7283 4 жыл бұрын
Usually I like your videos, but sorry to say: this time I gave you a dislike. This video ist too long, has to many prerequisites, only runs in a very specialized environment. So the benefit for "common users" is too small.
@justmeandopensource
@justmeandopensource 4 жыл бұрын
Hi Karl, thanks for your feedback. I think viewers will get something out of it.
@karl-heinzpeters7283
@karl-heinzpeters7283 4 жыл бұрын
@@justmeandopensource Of course, and I got many suggestions from your clips. Thx.
@andetejas4869
@andetejas4869 Жыл бұрын
Hi venkat how can I contact you triéd msgng you in many ways but no reply
@justmeandopensource
@justmeandopensource Жыл бұрын
Hi Ande, how can I help?
@andetejas4869
@andetejas4869 Жыл бұрын
@@justmeandopensource I have my AkS cluster and Jenkins running as Pod n i m using using kaniko to build n push images to registry while scanning with trivy is throwing error .. i m using k8s 1.22
[ Kube 25 Discussion 1 ] Configuring Jenkins to connect to Kubernetes cluster
19:27
Как мы играем в игры 😂
00:20
МЯТНАЯ ФАНТА
Рет қаралды 3,3 МЛН
My Daughter's Dumplings Are Filled With Coins #funny #cute #comedy
00:18
Funny daughter's daily life
Рет қаралды 11 МЛН
Incredible: Teacher builds airplane to teach kids behavior! #shorts
00:32
Fabiosa Stories
Рет қаралды 11 МЛН
[ Kube 31 ] Set up Nginx Ingress in Kubernetes Bare Metal
30:17
Just me and Opensource
Рет қаралды 72 М.
The Value of Source Code
17:46
Philomatics
Рет қаралды 60 М.
Kaniko - Building Container Images In Kubernetes Without Docker
28:48
DevOps Toolkit
Рет қаралды 48 М.
[ Kube 25 Discussion 2 ] Deploying to Kubernetes cluster using Jenkins
19:31
Just me and Opensource
Рет қаралды 24 М.
Learn GitLab in 3 Hours | GitLab Complete Tutorial For Beginners
3:26:43
Do NOT Learn Kubernetes Without Knowing These Concepts...
13:01
Travis Media
Рет қаралды 299 М.