You r the only one in the you tube who replies to the comments always as a priority..that's the best part...
@justmeandopensource2 жыл бұрын
I try my best :)
@SBJK75 жыл бұрын
I watched almost all of your videos and it helped me to crack interview , Thanks alot bro
@justmeandopensource5 жыл бұрын
Many thanks. You made my day. Cheers.
@faridakbarov45324 жыл бұрын
@@justmeandopensource Thanx for all you videos
@justmeandopensource4 жыл бұрын
@@faridakbarov4532 You are welcome. Cheers.
@rahul_bali4 жыл бұрын
I feel love.
@vijaykumar-qp6qj4 жыл бұрын
Very clear explanation thanking you for your work
@justmeandopensource4 жыл бұрын
Hi Vijay, thanks for watching. Cheers
@sridattam0075 жыл бұрын
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.
@justmeandopensource5 жыл бұрын
Hi Sridatta, thanks for watching this video and taking time to comment. Much appreciated. Cheers.
2 жыл бұрын
Excellent presentation ! thanks for sharing
@justmeandopensource2 жыл бұрын
Hi Oliver, Thanks for watching.
@bhaveshliya48483 жыл бұрын
Hi Venkat, Your videos on Kubernetes are awesome and helped me to learn Kubernetes. Thanks a lot.
@justmeandopensource3 жыл бұрын
Hi Bhavesh, many thanks for your interest in my channel. Cheers.
@milindchavan0075 жыл бұрын
Hello, Thanks for implementing my request, I really appreciate that you release it in very short time. I am very thankful to you.
@justmeandopensource5 жыл бұрын
Hi Milind, you are welcome and thanks for watching this video.
@parthi0093 жыл бұрын
great video. worked like a charm. Though I integrated existing Jenkins server to the Kubernetes cluster, it worked perfectly
@justmeandopensource3 жыл бұрын
Perfect. Thanks for watching.
@faridakbarov45324 жыл бұрын
You are a genius!! all devops workflow in one video))
@justmeandopensource4 жыл бұрын
Hi Farid, thanks for watching.
@arunreddy14365 жыл бұрын
Thanks a lot Venkat , such a great opportunity to go through these videos
@justmeandopensource5 жыл бұрын
Hi Arun, thanks for watching this video and taking time to comment/appreciate. Cheers.
@mayurdhande0074 жыл бұрын
Awesome video Venkat .
@justmeandopensource4 жыл бұрын
Hi Mayur, thanks for watching. Cheers.
@HeyMani924 жыл бұрын
Awesome Venkat Sir!!!!! Thank you
@justmeandopensource4 жыл бұрын
Hi Mani, thanks for watching.
@c1i2s3c4o52 жыл бұрын
Great Video, love your explanation! Please share a video for complete CI/CD on kubernetes using gitlab CI, Thank You
@justmeandopensource2 жыл бұрын
Thanks for watching. I will try. Cheers
@vesakk725 жыл бұрын
Your videos are pure gold!
@justmeandopensource5 жыл бұрын
Hi Vesa, many thanks for watching this video and taking time to comment. Much appreciated.
@rainbowp194 жыл бұрын
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.
@justmeandopensource4 жыл бұрын
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.
@rainbowp194 жыл бұрын
@@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.
@justmeandopensource4 жыл бұрын
@@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.
@cloudboy5534 жыл бұрын
Great video I'm looking forward to!!
@justmeandopensource4 жыл бұрын
Hi, thanks for watching.
@umartariq35795 жыл бұрын
Very well explained. Thanks for sharing. Keep it up !!
@justmeandopensource5 жыл бұрын
Hi Umar, thanks for watching this video and taking time to comment/appreciate. Cheers.
@kevinyu99343 жыл бұрын
Very useful dude! Thx for the awesome content
@justmeandopensource3 жыл бұрын
You are welcome and thanks for watching.
@manikandans88085 жыл бұрын
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.
@justmeandopensource5 жыл бұрын
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.
@manikandans88085 жыл бұрын
@@justmeandopensource yes..how can I create different environments in kubernetes cluster? With namespaces?
@justmeandopensource5 жыл бұрын
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.
@manikandans88085 жыл бұрын
@@justmeandopensource that's great 😊. What will be the best way according to you?
@justmeandopensource5 жыл бұрын
@@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-uc3tu5 жыл бұрын
Thank you so much for posting this video which I was requested....
@justmeandopensource5 жыл бұрын
Hi Praveen, You are welcome and thanks for watching this video. Cheers.
@ajjaiii14 жыл бұрын
thank you so much .. i'm waiting video for jenkins x .. : )
@justmeandopensource4 жыл бұрын
Hi Ahmad, thanks for watching.
@user-ano-x5c4 жыл бұрын
Amazing stuff, thank you very much
@justmeandopensource4 жыл бұрын
Hi Anas, many thanks for watching and taking time to comment/appreciate.
@inversemetric4 жыл бұрын
Thank you
@justmeandopensource4 жыл бұрын
Hi Stephen, thanks for watching.
@manjeetswt4 жыл бұрын
That one was amazing ..
@justmeandopensource4 жыл бұрын
Hi Manjeet, thanks for watching.
@mohamedhabas73914 жыл бұрын
quality , thanks alot
@justmeandopensource4 жыл бұрын
Hi Mohamed, thanks for watching. Cheers.
@alfa-being3 жыл бұрын
After watching some of your videos, my default node-port is 32323......LOL
@justmeandopensource3 жыл бұрын
Ha. love it. You get used to certain numbers in your life. This is one such 😄
@goro71783 жыл бұрын
Dear Venkat thanks for the video and plz if possible can you do an updated remake? Thx in advance
@justmeandopensource3 жыл бұрын
Sure. I will try. Thanks for watching.
@sunnynehar5 жыл бұрын
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.
@justmeandopensource5 жыл бұрын
Hi Nehar, thanks for watching this video. I will add this to my list and look into it when I get some time. Cheers.
@vivekanandpandey15585 жыл бұрын
Please share one full video on real-time project. Appreciate your help.thanks
@justmeandopensource5 жыл бұрын
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.lat10n3 жыл бұрын
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
@justmeandopensource3 жыл бұрын
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.
@phanisura6344 жыл бұрын
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.
@justmeandopensource4 жыл бұрын
Hi Phani, thanks for watching. It would be helpful if you could paste the exact error. Thanks
@gnadha1235 жыл бұрын
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
@justmeandopensource5 жыл бұрын
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.
@soufianemakhloufi37904 жыл бұрын
hi Venkat thank you for the videos can you please make us videos on GitOps weave with gitlab
@justmeandopensource4 жыл бұрын
hi Soufiane, thanks for watching. I will explore that and see if I can do a video on that. Cheers.
@SonNguyen-pw8lm4 жыл бұрын
Hello, Thanks for tutorial. Do you have a video about Jenkins CI CD Pipeline and spring boot, maven. Build many project. Thank you.
@justmeandopensource4 жыл бұрын
Hi, thanks for watching. I am not a developer and no experience with Spring boot. This series is focused towards Kubernetes administration.
@SonNguyen-pw8lm4 жыл бұрын
@@justmeandopensource thanks bro
@justmeandopensource4 жыл бұрын
@@SonNguyen-pw8lm no worries.
@jlan4214 жыл бұрын
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!
@justmeandopensource4 жыл бұрын
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.
@madhusudhanmukthavaram51073 жыл бұрын
You are like drona charya, helping how to hit the eye of bird. Ask for my thumb.
@justmeandopensource3 жыл бұрын
That's too much of a compliment :) Thanks for your interest in this channel.
@surensingh1234 жыл бұрын
@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 ?
@justmeandopensource4 жыл бұрын
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.
@arifsali5 жыл бұрын
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.
@justmeandopensource5 жыл бұрын
Hi Arif, thanks for watching this video. I haven't explored OpenShift yet. Thanks for that tip though. Cheers.
@linusseino57533 жыл бұрын
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-og9pb4 жыл бұрын
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...
@justmeandopensource4 жыл бұрын
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.
@zaibakhanum2032 жыл бұрын
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..
@tenaciousprevailer995 жыл бұрын
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..
@justmeandopensource5 жыл бұрын
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.
@RamakrishnnanEP3 жыл бұрын
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?
@justmeandopensource3 жыл бұрын
Hi, thanks for watching. I will have to revisit this video. Cheers.
@RamakrishnnanEP3 жыл бұрын
@@justmeandopensource thank you
@justmeandopensource3 жыл бұрын
@@RamakrishnnanEP no worries.
@leagueoflegendswildriftnep22363 жыл бұрын
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 ❤️
@justmeandopensource3 жыл бұрын
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?
@leagueoflegendswildriftnep22363 жыл бұрын
@@justmeandopensource thanks i got it I'm having little confusion
@justmeandopensource3 жыл бұрын
@@leagueoflegendswildriftnep2236 no worries.
@tenaciousprevailer995 жыл бұрын
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.
@justmeandopensource5 жыл бұрын
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.
@tenaciousprevailer995 жыл бұрын
@@justmeandopensource that would be great. i will have a look but please do a video on the complete setup of your os and machine.
@justmeandopensource5 жыл бұрын
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.
@lokeshraju97334 жыл бұрын
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?
@justmeandopensource4 жыл бұрын
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.
@F1re4fect4 жыл бұрын
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!
@justmeandopensource4 жыл бұрын
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.
@F1re4fect4 жыл бұрын
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?
@F1re4fect4 жыл бұрын
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.
@justmeandopensource4 жыл бұрын
@@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.
@F1re4fect4 жыл бұрын
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_myshka4 жыл бұрын
Hello, i have mistake ERROR: Cannot run program "docker" (in directory "/home/jenkins/workspace/test"): error=2, No such file or directory
@justmeandopensource4 жыл бұрын
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 Жыл бұрын
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?
@alltechsinfo23333 жыл бұрын
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
@lzZxxZzl4 жыл бұрын
Great! But i have a question. How to install lxc? is that "lxc-execute, lxc-create, ... " now ?
@justmeandopensource4 жыл бұрын
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.
@thaboramohlale13995 жыл бұрын
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
@justmeandopensource5 жыл бұрын
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.
@ahfa79834 жыл бұрын
hi can you make video about nexus as repository to push and pull image from them and how to add it in jenkinsfile thanks
@justmeandopensource4 жыл бұрын
Hi, thanks for watching. I will see If I can find some time to explore that. Cheers.
@snake88014 жыл бұрын
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
@justmeandopensource4 жыл бұрын
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.
@DrSteelHammerSlayer4 жыл бұрын
thanks for that video. Could you tell what os, desktop, window manager, terminal you are using, that looks awesome :) thanks
@justmeandopensource4 жыл бұрын
Hi Daniel, thanks for watching. I use Manjaro Distro with I3 tiling window manager with Zsh with Oh-my-zsh and zsh-autosuggestion.
@justmeandopensource4 жыл бұрын
I have done few videos on my desktop setup. kzbin.info/aero/PL34sAs7_26wOgqJAHey16337dkqahonNX Github: github.com/justmeandopensource/myi3
@DrSteelHammerSlayer4 жыл бұрын
@@justmeandopensource cool, thanks again!
@justmeandopensource4 жыл бұрын
@@DrSteelHammerSlayer You are welcome
@AzfarHashmi3 жыл бұрын
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?
@piratevv4 жыл бұрын
what is the use of using jenkins operator vs a helm chart. what extra does the operator manage?
@justmeandopensource4 жыл бұрын
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.
@somethingtosee75544 жыл бұрын
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
@justmeandopensource4 жыл бұрын
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.
@raskosk4 жыл бұрын
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
@justmeandopensource4 жыл бұрын
Hi, thanks for watching. Gitlab is in my list of videos to do and I will get it done sometime soon. Cheers.
@MusheghDavtyan4 жыл бұрын
Thank you. Today in 2020 is it possible to run Jenkins jobs by github actions?
@justmeandopensource4 жыл бұрын
Hi Mushegh, thanks for watching. I have no idea about Github Actions unfortunately. Thats in my list to explore.
@rohitchavan75353 жыл бұрын
Can you please mention what are the prerequisite before doing this CICD pipeline.
@zaheerhussain53114 жыл бұрын
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.
@justmeandopensource4 жыл бұрын
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
@zaheerhussain53114 жыл бұрын
@@justmeandopensource thanks for prompt response. how can I configur it in scalable Jenkins
@justmeandopensource4 жыл бұрын
@@zaheerhussain5311 how do you mean?
@zaheerhussain53114 жыл бұрын
@@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.
@justmeandopensource4 жыл бұрын
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.
@prasadshivan794 жыл бұрын
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?
@justmeandopensource4 жыл бұрын
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.
@prasadshivan794 жыл бұрын
@@justmeandopensource Thanks Venkat, I have been practicing using your videos from past few days. All videos are very informative and interesting
@justmeandopensource4 жыл бұрын
Happy to hear that. Thanks for your interest. Cheers.
@ДенисНикитин-ш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?
@justmeandopensource4 жыл бұрын
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и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
@justmeandopensource4 жыл бұрын
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.
@Unaidedsteaks4 жыл бұрын
Really useful video, thanks! What do you use for creating the hand drawn diagrams and notes I see in most of your videos?
@justmeandopensource4 жыл бұрын
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. :)
@ishanair64005 жыл бұрын
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?
@justmeandopensource5 жыл бұрын
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.
@ishanair64005 жыл бұрын
@@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?
@justmeandopensource5 жыл бұрын
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.
@justmeandopensource5 жыл бұрын
@@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.
@ChitrankDixit3 жыл бұрын
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?
@justmeandopensource3 жыл бұрын
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.
@ChitrankDixit3 жыл бұрын
@@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.
@justmeandopensource3 жыл бұрын
Perfect.
@soufianemakhloufi37904 жыл бұрын
hi vankat thank you for this video i have a question please: how you can deploy jenkins slave in multiple namespaces with this chart?
@justmeandopensource4 жыл бұрын
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.
@soufianemana4 жыл бұрын
Thank you vankat really I'm a fan of your Channel, and your videos are very beneficial
@justmeandopensource4 жыл бұрын
@@soufianemana You are welcome.
@nghiepvo44935 жыл бұрын
Thanks Venkat! How to create storedClass? because I don't see you say on this video.
@justmeandopensource5 жыл бұрын
Hi, I used dynamic nfs provisioning in this video automatic storage provisioning. Explained in the below video. kzbin.info/www/bejne/d5LZn4SwjKmHe80
@kartheekvasireddy52335 жыл бұрын
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.
@justmeandopensource5 жыл бұрын
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.
@kartheekvasireddy52335 жыл бұрын
@@justmeandopensource thanks venkat setup just worked fine in my environment.
@justmeandopensource5 жыл бұрын
@@kartheekvasireddy5233 Cool.
@kartheekvasireddy52335 жыл бұрын
@@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.
@justmeandopensource5 жыл бұрын
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.
@mzw83743 жыл бұрын
HI, if I am using EKS cluster, should I change the ClusterZone or not?
@justmeandopensource3 жыл бұрын
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.
@elsabaa854 жыл бұрын
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 ?
@justmeandopensource4 жыл бұрын
Hi Hassan, thanks for watching. I haven't tried crio yet.
@elsabaa854 жыл бұрын
@@justmeandopensource Thanks for the prompt answer .. I am already searching , once i find something i will share it here .
@justmeandopensource4 жыл бұрын
@@elsabaa85 Thanks. That will be helpful. Cheers.
@sarfarazshaikh4 жыл бұрын
Great Video Sir, How can we set this project on minikube
@justmeandopensource4 жыл бұрын
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.
@JonnieAlpha4 жыл бұрын
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
@justmeandopensource4 жыл бұрын
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.
@zaibakhanum2032 жыл бұрын
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?
@HA042595 жыл бұрын
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.
@justmeandopensource5 жыл бұрын
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.
@HA042595 жыл бұрын
@@justmeandopensource Hi Venkat, Thank you for reply. I have commented at 48. the pod distruption video.
@justmeandopensource5 жыл бұрын
@@HA04259 Yeah. Found that today. Thanks.
@jefffogarty64705 жыл бұрын
@@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.
@justmeandopensource5 жыл бұрын
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.
@hrishekessaraghueeti12584 жыл бұрын
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.
@justmeandopensource4 жыл бұрын
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.
@atulgaba42964 жыл бұрын
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 {
@justmeandopensource4 жыл бұрын
Hi Atul, thanks for watching. I am not sure about the error you are getting. No clue sorry.
@Siva-ur4md4 жыл бұрын
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.
@justmeandopensource4 жыл бұрын
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-ur4md4 жыл бұрын
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
@justmeandopensource4 жыл бұрын
@@Siva-ur4md Ah okay. So something to do with your test_container then.
@atulbarge74454 жыл бұрын
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 .
@justmeandopensource4 жыл бұрын
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.
@zancrnivec12714 жыл бұрын
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
@justmeandopensource4 жыл бұрын
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.
@kranthit64464 жыл бұрын
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?
@justmeandopensource4 жыл бұрын
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-tb5kn5 жыл бұрын
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
@justmeandopensource5 жыл бұрын
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-tb5kn5 жыл бұрын
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
@justmeandopensource5 жыл бұрын
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.
@madhavireddy32984 жыл бұрын
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
@ashishkumar2565 жыл бұрын
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.
@justmeandopensource5 жыл бұрын
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.
@ashishkumar2565 жыл бұрын
@@justmeandopensource please share, it would be very helpful for me. Otherwise after next 5 weeks, my efforts will get doubled itself.
@justmeandopensource5 жыл бұрын
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.
@ashishkumar2565 жыл бұрын
@@justmeandopensource still awaiting of video
@justmeandopensource5 жыл бұрын
@@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-ur4md5 жыл бұрын
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
@justmeandopensource5 жыл бұрын
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-ur4md5 жыл бұрын
@@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
@justmeandopensource5 жыл бұрын
@@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.
@manikandans88085 жыл бұрын
Can you post a video on RBAC?
@justmeandopensource5 жыл бұрын
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.
@manikandans88085 жыл бұрын
@@justmeandopensource thank you
@justmeandopensource5 жыл бұрын
You are welcome. Cheers
@vknvnn5 жыл бұрын
Hello Venkat! Readly thanks for this video, I have a question, I want to deploy Jenkins for specific Node, so how will I do?
@justmeandopensource5 жыл бұрын
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.
@justmeandopensource5 жыл бұрын
And if you are using Helm to deploy Jenkins, then in the values file you can specify the node selector.
@vknvnn5 жыл бұрын
Thanks for your response, So I will update where in jenkins.values file for specific worker node
@justmeandopensource5 жыл бұрын
@@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.
@vknvnn5 жыл бұрын
@@justmeandopensourcemany thanks, I got it, thanks again
@hemantbagade82494 жыл бұрын
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 :)
@justmeandopensource4 жыл бұрын
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.
@hemantbagade82494 жыл бұрын
@@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
@justmeandopensource4 жыл бұрын
Yes. You have to give the ip address of the server where your private registry is running.
@hemantbagade82494 жыл бұрын
@@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 :)
@justmeandopensource4 жыл бұрын
@@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.
@zaholbrook5 жыл бұрын
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".
@justmeandopensource5 жыл бұрын
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.
@zaholbrook5 жыл бұрын
Just me and Opensource yes Jenkins is running on a deployment inside or on top of kubernetes.
@justmeandopensource5 жыл бұрын
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.
@shashanksharma95835 жыл бұрын
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
@justmeandopensource5 жыл бұрын
Hi Shashank, thanks for watching this video. Can you tell me the exact location in this video where you are seeing this problem please?
@shashanksharma95835 жыл бұрын
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
@justmeandopensource5 жыл бұрын
@@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.
@shashanksharma95835 жыл бұрын
@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
@justmeandopensource5 жыл бұрын
@@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.
@manikandans88085 жыл бұрын
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?
@justmeandopensource5 жыл бұрын
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
@manikandans88085 жыл бұрын
@@justmeandopensource Thanks @venkat....that works perfectly.......cheers
@justmeandopensource5 жыл бұрын
@@manikandans8808 Cool. I will be doing a video on this as well. Thanks.
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!
@justmeandopensource4 жыл бұрын
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
@luttferreira81094 жыл бұрын
@@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
@justmeandopensource4 жыл бұрын
@@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.
@luttferreira81094 жыл бұрын
@@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!
@luttferreira81094 жыл бұрын
@@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.
@pavankonakanchi31043 жыл бұрын
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..
@goro71783 жыл бұрын
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
@justmeandopensource3 жыл бұрын
@@goro7178 I am exploring other options for containerd environment and will soon post a video. Cheers.
@goro71783 жыл бұрын
@@justmeandopensource you ROCKKKKK VENKAT Sir
@justmeandopensource3 жыл бұрын
@@goro7178 haha
@justmeandopensource3 жыл бұрын
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
@manikandans88085 жыл бұрын
Can i implement this setup with CodePipeline ?
@justmeandopensource5 жыл бұрын
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.
@manikandans88085 жыл бұрын
@@justmeandopensource sure...thanks for that. I'm planning to deploy docker containers with Kops. Will that be useful one?
@justmeandopensource5 жыл бұрын
@@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.
@putinscat12083 жыл бұрын
Wow, I gave a perfectly benign comment and it's gone!
@justmeandopensource3 жыл бұрын
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.
@putinscat12083 жыл бұрын
@@justmeandopensource Is suggesting a product a problem for comments? I didn't know that was a competitor to KZbin??
@justmeandopensource3 жыл бұрын
@@putinscat1208 May be.. Not sure.
@ravipacc4 жыл бұрын
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
@justmeandopensource4 жыл бұрын
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-tb5kn5 жыл бұрын
Hope I would get response bro..please do needful
@justmeandopensource5 жыл бұрын
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-tb5kn5 жыл бұрын
Thanks lot
@justmeandopensource5 жыл бұрын
You are welcome.
@karl-heinzpeters72834 жыл бұрын
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.
@justmeandopensource4 жыл бұрын
Hi Karl, thanks for your feedback. I think viewers will get something out of it.
@karl-heinzpeters72834 жыл бұрын
@@justmeandopensource Of course, and I got many suggestions from your clips. Thx.
@andetejas4869 Жыл бұрын
Hi venkat how can I contact you triéd msgng you in many ways but no reply
@justmeandopensource Жыл бұрын
Hi Ande, how can I help?
@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