-
[젠킨스] 쿠버네티스에 젠킨스 설치DevOps/Jenkins 2023. 10. 29. 23:14
1. PV, PVC, NFS 지정 및 생성
VM 외부에 저장소를 NFS 서버로 지정
노드에 nfs-common 패키지 설치 완료 && NFS 서버에 nfs-server 패키지 설치 완료 후 진행
1.1 NFS 서버로 이동 -> 스토리지로 사용할 디렉토리 생성
mkdir /mnt/shared/jenkins
1.2 디렉토리 권한 설정
chmod [권한설정] /mnt/shared/jenkins1.3 NFS 권한,디렉토리,ip 설정
vi /etc/export
# /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5). # # Example for NFSv2 and NFSv3: # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) # # Example for NFSv4: # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) # # 디렉토리 지정, * ip 설정, (읽기쓰기 권한 설정) /mnt/shared *(ro,rw,sync,no_root_squash) /mnt/shared/jenkins *(ro,rw,sync,no_root_squash)
1.4 NFS 수정 사항 반영
service nfs restart
1.5 쿠버네티스 PV 설정
# nfs-pv-jenkins.yaml apiVersion: v1 kind: PersistentVolume metadata: name: nfs-jenkins namespace: jenkins labels: type: nfs-jenkins spec: storageClassName: "nfs-jekins" capacity: storage: 20Gi accessModes: - "ReadWriteOnce" persistentVolumeReclaimPolicy: Retain nfs: server: 192.168.219.127 path: /mnt/shared/jenkins
1.6 쿠버네티스 PVC 설정
# nfs-pvc-jenkins.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nfs-pvc-jenkins labels: name: nfs-jenkins spec: storageClassName: "nfs-jekins" accessModes: - "ReadWriteOnce" resources: requests: storage: 20Gi volumeMode: Filesystem
설정 파일 적용
k create -f nfs-pv-jenkins.yaml
k create -f nfs-pvc-jenkins.yaml2. 젠킨스 helm 설정
# 헬름 레포 등록 helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update # 젠킨스 네임스페이스 생성 k create ns jenkins # 젠킨스 yaml 파일 불러오기 helm pull bitnami/jenkins # 젠킨스 압축 풀기 tar xvfz jenkins-12.3.9.tgz # 젠킨스 버전에 맞춰서 디렉토리명 변경 mv jenkins jenkins-12.3.9 # 압축 파일 삭제 rm -rf jenkins-12.3.9.tgz # 설정 파일 수정 vi jenkins-12.3.9/value.yaml
3. 젠킨스 value.yaml 수정
vi jenkins-12.3.9/values.yaml
storageClass와 existingClaim을 PVC에 맞춰 수정해준다.
VM에 설치된 경우 노드포트 타입으로 서비스를 바꾼후 포트를 지정한다.
지정한 노드포트를 로컬에 nginx를 통해서 포워딩한다.
https://heehee-myblog.tistory.com/9
# 젠킨스 설정 값 반영하여 설치 helm install jenkins -f values.yaml . --namespace jenkins # ID : user # PW : 명령어를 통해 확인 echo $(kubectl get secret --namespace jenkins jenkins -o jsonpath="{.data.jenkins-password}" | base64 -d)
젠킨스 로그인 후 플러그인 설치하는 방법과 플러그인 gradle, github, slack notification plugin, pipeline, blue ocean
https://heehee-myblog.tistory.com/12#toc2
'DevOps > Jenkins' 카테고리의 다른 글
[젠킨스] 도커없이 K8S에서 도커 이미지 빌드 (0) 2023.11.09 [젠킨스] 작업내용 슬랙 알림 (0) 2023.10.31 [젠킨스] 깔끔한 UI/UX 플러그인 (0) 2023.10.30 [젠킨스] 쿠버네티스 agent 설정 (0) 2023.10.30