Skip to main content

OpenSource Devops Tool: Jenkins Deployment on Kubernetes

 Jenkins is an open source continuous integration/continuous delivery and deployment (CI/CD) automation software DevOps tool written in the Java programming language. It is used to implement CI/CD workflows, called pipelines.


Devops:

DevOps is best explained as people working together to create, build and deliver secure software at the highest speed. DevOps practices enable software developers (devs) and operations (ops) teams to accelerate delivery through automation, collaboration, rapid feedback, and iterative improvement.

DevOps represents a change in mindset for IT culture. Based on agile, lean practices and systems theory, DevOps focuses on incremental development and rapid software delivery. Success depends on the ability to create a culture of accountability, better collaboration, empathy and shared responsibility for business results.

Process flow:

A developer develops an application

The developer submits the code to GitLab

A reviewer reviews the code and commits to the appropriate branch

Jenkins continuously monitors the relevant branch and starts building the code

Jenkins builds a container image, tags and sends the images to Docker Hub

Jenkins will start deploying the image to the kubernetes cluster

Kubernetes deploys the updated image using a rolling update strategy


Deployment on Kuberneres Cluster

1.    Get into the repo :

https://github.com/ibraraziz/kubernetes-jenkins

2.    Clone the repo from git client like


3.     Goto to Kubernetes and create a namespace devops-tools like

4.    Create Service Account with cloned yaml file like
    

5.    Create the pvc using the below yaml code just replace that in volume.yaml and apply like
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: jenkins-pv-claim # that should same intact as claimed in deployment code
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  storageClassName: tkg-rwx-policy-dev # this need to be the one storageclass you have in your  env



6. Create deployment like (image address needed to be updated as per your env_ I have used jenkins with 2.332.3-jdk11  TAG)






7.    Create a service like below to expose the services to LoadBalancer as below:


apiVersion: v1
kind: Service
metadata:
  name: jenkins-service
  namespace: devops-tools
  annotations:
      prometheus.io/scrape: 'true'
      prometheus.io/path:   /
      prometheus.io/port:   '8080'
spec:
  selector: 
    app: jenkins-server
  type: LoadBalancer  
  ports:
    - port: 8080
      targetPort: 8080

8.    Access with with expose IP 10.50.49.28 and Port as 8080 ( It will differ with respect to your env )


 
9.    How to get the password is very simple

1. Enlist the jenkin pod

2. Enter into the pod and enlisht the path given in UI as above 


3.   Copy the password and paste into UI as below 


Congratulations: Jenkins is Deployed and Accessible Now:


Feel Free to query : Click Here 


By: Ibrar Aziz (Cloud Enthusiast)
https://ibraraziz-cloud.blogspot.com/
https://www.linkedin.com/in/ibraraziz/



Comments

Popular posts from this blog

TKGS VMware/Kubernetes ReadWriteMany Functionality with NFS-CSI

 TKGS VMware WRX Functionality with NFS CSI ReadWriteMany Access mode in Kubernetes When it come to RWX access mode in PVC, TKGS support it if we have the following: 1. Kubernetes is upgraded to 1.22.9 (This version supports this RWX functionality) 2. vSAN should be there in your environment (VMware uses the vpshere csi, which only support vSAN) How to done it without vSAN: 1. Upgrade the kubernetes to version 1.22.9 2. Use NFS-CSI and then create a new storage class to be consumed. Work Around : 2.a : Please use the below link to get the nfs-csi-driver  https://github.com/ibraraziz/csi-driver-nfs Note: It absolutely fine that we have multiple CSI drivers/provisioner in kubernetes (Just for information) Step:1 Goto csi-driver-nfs/deploy/v4.0.0/ and apply that yaml into your environment. It will create NFS csi provisioner and controller pods in namespace of kubesystem as below Step: 2 Now create storage class and goto the example folder  csi-driver- nfs/deploy/example...

Choosing the Right OpenShift Service: Service Mesh, Submariner, or Service Interconnect?

In today’s digital world, businesses rely more and more on interconnected applications and services to operate effectively. This means integrating software and data across different environments is essential. However, achieving smooth connectivity can be tough because different application designs and the mix of on-premises and cloud systems often lead to inconsistencies. These issues require careful management to ensure everything runs well, risks are managed effectively, teams have the right skills, and security measures are strong. This article looks at three Red Hat technologies—Red Hat OpenShift Service Mesh and Red Hat Service Interconnect, as well as Submariner—in simple terms. It aims to help you decide which solution is best for your needs. OPENSHIFT Feature Service Mesh (Istio) Service Interconnect Submariner Purpose Manages service-to-service communication within a single cluster. Enables ...

PV and PVC Deletion in Kubernetes and remains stuck in terminating state

 First we need to note that :  When you need to delete both PV, PVC then you must start from PVC and then go for PV . I n case mistakenly a PV is deleted first then it goes in terminating state as shown below: Deleted the pv mistakenly Output : See the higlighted one Enlisting the desired PVC for which the PV we have deleted as highlighted  Now if we delete that particular PVC so it will also go into terminating state as shown below After deletion it also goes in terminating state. Work Around Edit the particular PVC like as shown kubectl edit pvc < pvc name> Remove that particular line just as highlighted below: Once Edit is done that Terminiating state is no more there and PVC AND PV completely deleted.👏                     Feel Free to query : Click Here   By: Ibrar Aziz (Cloud Enthusiast) https://ibraraziz-cloud.blogspot.com/ https://www.linkedin.com/in/ibraraziz/