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

How to skip resources, compiler, surfire, install plugin in maven's default build process

When we want to use maven command line to upload zip type artifact to artifact repository then we don't want resources, compiler, surefire, install phases in maven process, only assembly would be enough. To skip particular phases go to each plugin's original website phase according to latest running plugin version download the same to our own project refer the skip phase configuration of particular phase, either it can be done command line or as part of the build-plugin-configuration. Example using POM.xml file <project> [...] <build> <plugins> <plugin> <groupId...

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 give permission to particular user to particular dir. or file in Linux

Permission error: ubuntu@ip-192-168-62-113:~/bbb/testing$ ls -ltrh total 4.0K -rwx------ 1 ubuntu ubuntu 70 Mar 18 09:43 test.sh ubuntu@ip-192-168-62-113:~/bbb/testing$ sudo su - abc abc@ip-192-168-62-113:~$ cat /home/ubuntu/jaydeep/testing/test.sh cat: /home/ubuntu/bbb/testing/test.sh: Permission denied Command - how to give permission to particular user to particular dir. or file ubuntu@ip-192-168-62-113:~/bbb/testing$ sudo setfacl -m u:abc:r test.sh ubuntu@ip-192-168-62-113:~/bbb/testing$ sudo su - abc abc@ip-192-168-62-113:~$ cat /home/ubuntu/bbb/testing/test.sh #!/bin/bash read -p "What is your name? " name echo "Welcome $name!" For the Directory setfacl -m u:userID:rwx /dir/subdir/ setfacl -m u:userID:rwx /d...