Learn how to configure CI/CD pipelines with Jenkins and Kubernetes. We will show you to how to automate deployments from source code to production clusters.
Bravo. No seriously, I could not figure out how CI/CD would work across load balancing and horizontal scaling on AWS, if each instance was suppose to be a Jenkins slave, etc. I guess the lesson here is to use Kubernetes (and maybe GCP) instead; it configures load balancing settings (well). Commit to github => Jenkins, push to docker hub, Kubernetes deploy to environments and scale, declarative yaml files. Done. Kubernetes even lets you roll back to previous container versions. I don't know how you would do this without containers unless you were to re-build every horizontal box for every release. Networking there also seems like a nightmare. Kubernetes is a godsend. Treating containers as build artifacts is a bit of a hack but I guess I can deal with it. I suck at devops. Awesome video. Thanks man.
Its awesome. You gave a good idea about all concepts. And Let me ask few queries ----- 1. You are saying that code is taken from github , then why you are using docker hub ? , Since every rollout you are only doing commit to github. So what is the docker hub role? 2. Can I use commiting codes in repository without using docker hub ? , I don't want to take my client code in a public place. 3. Can I use a private on-premise SVN repository with Jenkins? 4. If I am using more than one nodes in kubernetes ( Means I am using 3 nodes plus cluster master VM. ), How I need to create the shell script for releasing into different nodes ? Where I can create my pod.yml , service.yml ?
At around 32.27, did you install kubectl in Jenkins server? How does it know which one is the master K8n node? It is very confusing to me that how Jenkins server is going to know where is Kubernetes cluster?
Thank u so much !! I i wish to create CICD pipieline with kubernetes always. It worked for me fluently in AWS. And i have a question, ru running jenkins and kubernetes in different nodes or same? i tried in the same only.
Hi Janikiram, Thanks for putting to gether CICD pipeline ; however I'm running into issue after running docker run -d -p80:80 --name hellowhale hellowhale and getting following error "docker: Error response from daemon: Conflict. The container name "/hellowhale" is already in use by container "b5bf1cd5d6ad0d31dfd6af6fbcb8d50d61f786f9a90a0d43f3eb4a1c2251ddf1". You have to remove (or rename) that container to be able to reuse that name. See 'docker run --help'." I think it is because It require access to your docker repository, not sure please review and confirm that can help me. Thanks for your help
How did you connect jenkins running on a separate VM to Kubernetes cluster? kubectl commands do not work in the jenkins pipeline without this integration.
Quick question. So I'm noticing that you currently have 4 instance provisioned on GCP. Likewise, I have sinned up 4 servers as well hosted on AWS. I have 3 nodes in my kubernetes cluster, and a Jenkins master. In the build step you have specified kubectl and docker commands to build, push, and scale the app with kubernestes. So regarding your architecture, Do you have docker slave, or do you you have both Jenkins, and the Kube master on the same node? Please advise. Thanks!
How come which K8S cluster to connect to? How a Jenkins job can connect to multiple cluster, in case of deploying multiple project? This demo is good for POC only. Its only one to one mapping from Jenkins to K8S.
I need to setup microservices pipeline with docker and build is maven type but bit confused of keeping the docker images in Nexus as I don't want to use dockerhub how can I set up the pipeline.Hope for early response
ur jenkins is running in the cluster where we will deploy or in seperate instance..... cause m running in seperate instance try to make deployment in a cluster ???/ pllzz answer
adding few points jenkins can be running on separate instance or it can be deployed in one of the container. you just need to pull jenkins image! and talking about HA with kubernetes you can replicate your master server $ MULTIZONE=true KUBE_GCE_ZONE=europe-west1-b ENABLE_ETCD_QUORUM_READS=true ./cluster/kube-up.sh
I'm having issues with Jenkins Build. Throwing an Error. + docker build . -t janakiramm/hellowhale:7 /tmp/jenkins8775513526231623955.sh: line 3: docker: command not found
You need to make sure you have the docker plugin installed in Jenkins (if I am not wrong you can install it through the Jenkins UI on Server Settings/Extensions)
Goid one Janakiram, quick question I guess you have Jenkins running on the same machine where you have Kubernetes master as per your Jenkins configuration Please confirm. Appreciate your efforts thanks!
Keep jenkins,docker and kubernetes in the same machine. Kubectl command to create cluster will auto create master n nodes. Whole process wat he explained really worked for me! i done this is AWS env.
Very good explanation. Just as an improvement, you could have cut a quarter of the hour spent on explaining CI/CD, Jenkins etc., since most people watching this would likely know those basics already and want to know about integrating these tools in the context of k8s.
Akhil Maddu there is a google qwiklab to do so, I don’t have the resource right now, but maybe if you google it you’ll find it. I wish you luck! Also, if I can during the day I’ll paste the link here