Courses Offered: SCJP SCWCD Design patterns EJB CORE JAVA AJAX Adv. Java XML STRUTS Web services SPRING HIBERNATE  

       

JENKINS, DOCKER & KUBERNETES Course Details
 

Subcribe and Access : 5200+ FREE Videos and 21+ Subjects Like CRT, SoftSkills, JAVA, Hadoop, Microsoft .NET, Testing Tools etc..

Batch Date: May 7th @8:00AM

Faculty: Mr. Shiva (8+ Yrs Of Exp,..)

Duration: 45 Days

Venue :
DURGA SOFTWARE SOLUTIONS,
Flat No : 202, 2nd Floor,
HUDA Maitrivanam,
Ameerpet, Hyderabad - 500038

Ph.No: +91- 9246212143, 80 96 96 96 96

Syllabus:

JENKINS, DOCKER & KUBERNETES

DevOps

  • What is SDLC? What is DevOps? Where is DevOps position in SDLC?
  • Importance of DevOps in software release.
  • Introduction to Physical Servers, Virtualization, Virtual Servers and Cloud.
  • Jenkins, Docker & Kubernetes position in SDLC.
  • Importance of Jenkins, Docker & Kubernetes in the IT industry.

Jenkins Introduction

  • Introduction to Continuous Integration & Continuous Deployment
  • Popular tools for CICD in the market.
  • Introduction to Jenkins & Installation. Creating and explanation of master slave architecture to execute Jenkins jobs.
  • Explanation of technical terms in Jenkins.

Jenkins Deep Dive

  • Walking through the Jenkins console.
  • Creating a free style project with pipeline syntax.
  • Creating and working with pipeline projects.
  • Creating and working with a multi branch pipeline project.
  • Exploring various options that we have as part of creating pipelines.

Jenkins Integrations

  • Jenkins integration with GitHub to fetch the project.
  • Jenkins integration with SonarQube to check application vulnerabilities.
  • Jenkins integration with Jfrog to store artifacts.
  • Jenkins integration with DockerHub to store docker images.
  • Jenkins integration with Trivy to scan docker images.
  • Jenkins integration with Kubernetes to deploy applications.

Jenkins Configuration

  • Configuring credentials in Jenkins to use them in the pipeline.
  • Configuring custom environmental variables with Jenkins pipeline.
  • Shared libraries and Configuring shared libraries with Jenkins pipeline.
  • Configuring Jenkins pipeline with parameters.
  • Configuring Jenkins blue ocean.
  • Configuring upstream and downstream projects.
  • Configuring predefined environmental variables with Jenkins pipeline.
  • User and role management in Jenkins.
  • Using plugins with Jenkins.
  • Exploring Jenkins stash and working with it.

Jenkins troubleshooting and backup

  • Troubleshooting issues faced and possible problems in Jenkins.
  • Backup and restore required things from Jenkins machine.

Projects

  • Project on combination of Jenkins, Java, Maven, SonarQube, JFrog, Docker, Trivy and Kubernetes.

Docker Introduction

  • Introduction to Docker & Containers.
  • Installation of Docker and Docker-Compose.
  • Explanation of YAML syntax.
  • Explanation of technical terms used in Docker.
    (Docker Host, Docker Client, Docker Daemon, Docker Registry, Docker Images)

Docker DeepDive

  • Commands used in Docker and their explanation along with flags.
  • Working on Docker images
  • Practical examples of running applications and use cases.
  • Understanding 3-tier architecture.
  • Explanation and creating multi container architecture.
    (with -- link flag and docker-compose)
  • Practical examples and use cases with multi container architecture.

Custom Docker Images

  • Understanding and creating custom Docker images.
  • Understanding of DOCKERFILE.
  • Explanation of various keywords used in DOCKERFILE.
  • What is cache busting in Docker?

Docker Volumes & Docker Networking

  • Understanding significance of Docker volumes and its types.
    (Simple Docker Volumes and Docker Volume Containers)
  • Understanding Docker networking and types.
    (Bridge network, Host network, Null network, Overlays network)
  • Practical examples and use cases with Docker volumes and Docker networking.

Docker Registry

  • Understanding Docker registry and types.
    (Public registry and Private registry)
  • Pushing Docker images to Docker registry
  • Practical examples and use cases with Docker registry.

Advanced Concepts & Projects

  • Multi stage docker builds for two applications.
  • Understanding layers for Docker images.
  • Practical examples and use cases of multi stage docker builds.
  • Projects on Docker and Docker-Compose.
  • Debugging/Troubleshooting of issues faced in docker.

Next…

  • Introduction to container orchestration and advantages.
  • Various orchestration technologies available in the market.
  • Introduction to Kubernetes.

Kubernetes (K8S) & Installation of tools

  • What is K8S? Why K8S?
  • Installation of K8S with Minikube to reduce costs.
  • Installation of K8S client kubectl.
  • Creating Kubernetes cluster with AWS EKS with YAML.
  • K8S cluster architecture and its components explanation.
    (kube api-server, controller manager, scheduler, ETCD, kubelet, kube-proxy, container runtime engine)
  • Explanation of technical terminologies in Kubernetes.
  • Exploring the Kubernetes cluster.
  • Imperative commands and Kubernetes manifests.

Kubernetes Workloads and Resources

  • Containers, InitContainers, SidecarContainers, Pods, ReplicaSet, Deployments, DaemonSet, Jobs & CronJobs, StatefulSets.
  • Understanding the difference between InitContainers and SidecarContainers.
  • Understanding pod phases and container states in Kubernetes.
  • Explanation of annotations in K8S.
  • Explanation of multi container pods.
  • Imperative and declarative commands for Kubernetes.
  • Practical examples and use cases of above workloads.

Kubernetes Services and LoadBalancing

  • Understanding services and its types.
    (ClusterIP, NodePort, LoadBalancer, ExternalName, Headless Service)
  • Understanding multi-port services.
  • Practical examples and use cases of services and its types.
  • Understanding DNS for services and pods.

Kubernetes Storage

  • Understanding volumes in Kubernetes.
  • Persistent volumes and Persistent volume claims.
  • EmptyDir, HostPath, Static volume provisioning, Dynamic volume provisioning and Storage Classes. Practical examples and use cases of storage.

Configuring Kubernetes Workloads

  • Configmaps, Secrets and Sealed Secrets.
  • Requests and Limits, ResourceQuota, LimitRanges and Quality Of Service classes..
  • Understanding different types of deployments and their significance.
  • Configuring horizontal pod auto scaler.
  • Configuring pods with policies (eg: ImagePullPolicy)
  • Commands and Arguments and its advantages.
  • Explanation of namespaces.
  • Liveness, Readiness probes and StartUp probes.
  • ApiGroups and Kubernetes resources under them.
  • Security contexts in Kubernetes
  • Practical examples and use cases.

Scheduling

  • Introduction to Scheduling in K8S.
  • Explanation of how the kubernetes schedules the pods on nodes.
  • Manual Scheduling of workloads/pods with node name.
  • Scheduling the applications using labels and selectors.
  • Scheduling using Taints and Tolerations.
  • Scheduling using NodeAffinity.
  • Understanding the difference between Taints and Tolerations and NodeAffinity.
  • Understanding pod affinity and anti affinity and difference.
  • Practical examples and use cases of scheduling.

Maintenance

  • Pod disruption budget in Kubernetes.
  • Garbage collection in the Kubernetes cluster.
  • Condoning and Uncordening the nodes.
  • Understanding the eviction and migration of applications.
  • Switching between contexts for working with different Kubernetes clusters.
  • Kubectx and kubens tools to switch between contexts and namespaces.

Security

  • Understanding service accounts. Using a service account with Kubernetes dashboard application.
  • Roles, RoleBinding, ClusterRole and ClusterRoleBinding.
  • RBAC (Role Based Access Control).
  • Explanation of Static Pods.
  • Explanation of ~/.kube/config file.
  • Practical examples and use cases of security.

Advanced

  • What is a custom resource definition?
  • Deploying CRD to K8S cluster. Working with custom resources.

Networking

  • Introduction to networking in Kubernetes.
  • What is ingress? Why is its significance?
  • Available ingress controllers.
  • Practical examples of nginx and kong ingress controllers (Path Based Routing and Host Based Routing).
  • Understanding network policies and use cases.
  • Service internal traffic policy.
  • Practical examples and use cases of networking.

Backup & Restore

  • Need of backup kubernetes resources.
  • Ways to backup Kubernetes resources.
  • Rolling Updates & Roll Backs.
  • Backups of ETCD database deployed in kubernetes cluster.

Monitoring and Troubleshooting

  • Introduction to Logging and Monitoring.
  • Different issues that may occur in the Kubernetes cluster.
  • Visiting logs and describing applications to debug applications.
  • Understanding the problems and their significance.
  • Monitoring cluster with Kubernetes dashboard.
  • Integrating rancher with AWS EKS cluster.

Other Tools

  • Introduction to Helm.
  • Installing Helm and working with it.
  • Commands used to deploy applications with Helm and their explanation.
  • Working with Helm and explanation of folder structure.
  • Functions, Conditions and Loops in Helm.
  • Helm templatising. Named templates.
  • K9S tool to manage multiple EKS clusters.
  • ArgoCD to automate the deployments to Kubernetes cluster.

Projects

  • Projects on combination of Jenkins, Docker, Kubernetes, K9S, ArgoCD.

Summary

  • Summary about the things we learned.

Tools We Use

  • Git
  • AWS CLI
  • MongoComposs
  • PostMan
  • Intellij or VSCode
  • Trivy
  • Docker
  • Docker-Compose
  • Kubeadm
  • Kubectl
  • Kubectx
  • Kubens
  • Kubeseal
  • K9S
  • Rancher
  • Kubernetes-Dashboard
  • ArgoCD
  • Jenkins
  • SonarQube
  • JFrog
  • BlueOcean
  • FluentBit
  • ElasticSearch
  • Kibana
  • Prometheus
  • Grafana
  • Istio
  • Kiali

AWS Services We Use

  • Elastic Compute Cloud
  • LoadBalancers
  • Elastic Container Registry
  • Elastic Kubernetes Service
  • Virtual Private Cloud

PROJECT - 1

PROJECT - 2

PROJECT - 3

PROJECT - 4

PROJECT - 4

PROJECT - 6

PROJECT - 7

PROJECT - 8