Skip to main content

Install Jenkins on AWS EKS using Helm

Prerequisites

  • Create namespace for jenkins
  •                     
    kubectl create ns jenkins
                        
                    
  • We'll store jenkins data on AWS EBS as persistent storage hence for that
    • Create storage class
    •                             
      apiVersion: storage.k8s.io/v1
      kind: StorageClass
      metadata:
        name: jenkins-sc
      provisioner: kubernetes.io/aws-ebs
      parameters:
        type: gp2
        fsType: ext4   
                                  
                              
    • Create persistent volume claim
    •                             
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: jenkins-pvc
        namespace: devops-tools
      spec:
        storageClassName: jenkins-sc
        resources:
          requests:
            storage: 50Gi
        accessModes:
          - ReadWriteOnce  
                                  
                              
  • Install using Helm - In this command we've set few values like namespace, pvc, sc - as created in intial steps; service type, jenkins master and slave resource requests and limit for fine grained usage of all resources under EKS
  •                     
    helm install ng-jenkins stable/jenkins --set namespaceOverride=jenkins,master.serviceType=LoadBalancer,master.slaveKubernetesNamespace=jenkins,master.resources.requests.cpu=500m,master.resources.requests.memory=1Gi,master.resources.limits.cpu=500m,master.resources.limits.memory=1Gi,persistence.existingClaim=jenkins-pvc,persistence.storageClass=jenkins-sc,master.adminPassword=admin           
                        
                    

How to check

            
kubectl get sc -n jenkins
kubectl get pvc -n jenkins
kubectl get pv -n jenkins
helm list -n jenkins
kubectl get po -n jenkins
kubectl get pvc -n jenkins
            
        

Comments

Popular posts from this blog

Install AWS CLI on Ubuntu localhost using Ansible Playbook

Install AWS CLI on Ubuntu localhost using Ansible Playbook --- - hosts: localhost tasks: - name: Installing Unzip package package: name: unzip state: present when: ansible_facts['os_family'] == "Debian" become: true - name: Create awscli directory in home directory file: path: ~/awscli state: directory mode: '0755' - name: Download bundled installer zip file get_url: url: https://s3.amazonaws.com/aws-cli/awscli-bundle.zip dest: ~/awscli/awscli-bundle.zip - name: Extract zip file unarchive: src: ~/awscli/awscli-bundle.zip dest: ~/awscli - name: Run install command shell: /home/ubuntu/awscli/awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws become: true Same script is also avail...

How to clone Github repository using SSH

Run ssh-keygen Upload ssh public key to github account curl -u "gitUsername:password" --data '{"title":"keyName","key":"'"$(cat ~/.ssh/id_rsa.pub)"'"}' https://api.github.com/user/keys Sample output of ssh public key upload command { "id": 1234567890, "key": "ssh-rsa aaaaaaaaaaaaaaaaaaaa/dddd/+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "url": "https://api.github.com/user/keys/123456...

Add coding block in HTML using Code Tag

<html> <style> pre code { background-color: #eee; border: 1px solid #999; display: block; padding: 20px; color: black; } code{ color: blue; } <style> <body> <code> #!/bin/bash read -p "What is your name ?" name echo "Welcome $name!" <code> <body> <html> Output of this code would be as below #!/bin/bash read -p "What is your name ?" name echo "Welco...