
Explore why deploying Jenkins as Kubernetes pods enables high availability, fault tolerance, and scalable workflows, with master and worker pods, docker in docker (dinD), and Kubernetes orchestration.
Install and configure AWS CLI, eksctl, kubectl, and Helm; authenticate with IAM; and create an SSH key for ECS worker nodes to provision a Kubernetes cluster on AWS.
Provision an AWS EKS cluster with eksctl, auto-creating a VPC, subnets, and security groups, then verify the Kubernetes API server and worker nodes.
This lecture contrasts EFS and EBS for Kubernetes persistent volumes in Jenkins, highlighting EFS’s multi-az, regional accessibility and node restart resilience over EBS’s zonal limits and snapshot downtime.
Create an EFS file system and its security group using AWS CLI, including VPC CIDR-based NFS access, and set up mount targets across public subnets for EKS readiness.
Learn to create an IAM role for the EFS CSI driver using IRSA, attach the policy to a Kubernetes service account, and enable dynamic EFS provisioning for PVCs.
Deploy the AWS EFS CSI driver in Kubernetes using a helm chart, reuse a service account to assume an IAM role, and align the image URI with your region.
Mount EFS to EC2 by configuring fstab and a user data script, ensuring persistence across reboots, and updating the launch template so new nodes auto mount EFS.
Create a dynamic EFS storage class, PVC, and pod in Kubernetes; verify persistent data on EFS across pods and nodes, preparing for Jenkins deployment.
Learn how to pre-install Jenkins using a helm chart with helm v3, add the Jenkins io repo, inspect values.yaml, and configure Jenkins as code via yaml in a dedicated namespace.
Create a Jenkins PVC using the chapter five YAML in the Jenkins namespace with the existing storage class, then update the Jenkins helm persistence to reference this EFS-backed PVC.
Install Jenkins on Kubernetes with a helm chart, release name Jenkins in namespace Jenkins, override values.yaml, and bind Jenkins home to EFS via PVC, so Jenkins runs on 8080.
Install and configure the Jenkins Kubernetes plugin to run jobs in Kubernetes pods using a Jenkins slave pod template. Access Jenkins via port forwarding and enable websocket.
Configure a Jenkinsfile for a pipeline using a Kubernetes pod YAML, defining a worker pod with multiple containers, including a docker daemon, to support docker in docker and helm-related steps.
Build docker images inside a Jenkins worker pod using Docker-in-Docker, integrating Git pull, npm install, tests, and builds; push to private registries and deploy via Helm to Kubernetes.
Push a docker image to an AWS ECR from a Kubernetes pod using a custom image with Docker and AWS CLI, login, and push. Implement IRSA for the Jenkins slave.
Hide sensitive information from Jenkins logs by toggling xtrace off before critical commands and on after, while using the credentials plugin to redact secrets.
Create an IRSA IAM role for the Jenkins pod to push to ECR, using Eksctl in the Jenkins namespace, and attach the Amazon EC2 container Registry power user policy.
Packaging and uploading a helm chart via a Jenkins pipeline, with values.yaml edits, helm lint and package, S3 upload, then helm upgrade to staging and helm test.
Have you heard about Jenkins CI/CD pipeline before?
But you don't know what's the best way to set up Jenkins CI/CD pipeline for Kubernetes cluster?
Well, you don't want to install Jenkins as a package on Linux server if you are deploying to K8s cluster.
In fact, there is a helm chart version of Jenkins which can be deployed as a K8s pod in k8s cluster.
Well, in this course, I will summarize why you would want to deploy Jenkins as a k8s pod.
By the time you finish this FREE course, you will be ready to jump onto my "Advanced Jenkins in K8s (Docker in Docker)" course!
Who should take this course
you are a software developer/engineer or intermediate DevOps
you know AWS, EFS, EBS
you know Kubernetes, Persistent Volume, Persistent Volume Claim, ClusterRole, etc
Why you should take this course:
Instructed by a cloud DevOps engineer (with CKA and certified AWS DevOps pro) working at US company in SF
I have been pretty handson with Terraform, AWS, AWS EKS with 7+ industry experience in both North America and Europe.
My background & Education & Career experience
Cloud DevOps Software Engineer with 6.5+ years experience
Bachelor of Science in Computing Science from a Canadian university
Knows Java, C#, C++, Bash, Python, JavaScript, Terraform, IaC
Expert in AWS (holds AWS DevOps Professional certification) and Kubernetes (holds Certified Kubernetes Administrator, CKA)
I will see you inside!