-
[젠킨스] 쿠버네티스에 젠킨스 설치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.yamlapiVersion: v1kind: PersistentVolumemetadata:name: nfs-jenkinsnamespace: jenkinslabels:type: nfs-jenkinsspec:storageClassName: "nfs-jekins"capacity:storage: 20GiaccessModes:- "ReadWriteOnce"persistentVolumeReclaimPolicy: Retainnfs:server: 192.168.219.127path: /mnt/shared/jenkins1.6 쿠버네티스 PVC 설정
# nfs-pvc-jenkins.yamlapiVersion: v1kind: PersistentVolumeClaimmetadata:name: nfs-pvc-jenkinslabels:name: nfs-jenkinsspec:storageClassName: "nfs-jekins"accessModes:- "ReadWriteOnce"resources:requests:storage: 20GivolumeMode: Filesystem설정 파일 적용
k create -f nfs-pv-jenkins.yaml
k create -f nfs-pvc-jenkins.yaml2. 젠킨스 helm 설정
# 헬름 레포 등록helm repo add bitnami https://charts.bitnami.com/bitnamihelm 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.yaml3. 젠킨스 value.yaml 수정
vi jenkins-12.3.9/values.yaml
storageClass와 existingClaim을 PVC에 맞춰 수정해준다.
VM에 설치된 경우 노드포트 타입으로 서비스를 바꾼후 포트를 지정한다.
지정한 노드포트를 로컬에 nginx를 통해서 포워딩한다.
https://heehee-myblog.tistory.com/9
K3S로 프로젝트 구성하기 - 2
로컬 우분투 서버 -> VM 우분투 서버로 요청 ( 노드 포트 사용 ) VM 우분투 서버 -> 로컬 우분투 서버로 응답 노드포트로 서비스를 생성하면 설정된 노드포트를 통해서 어떤 노드 아이피의 포트로
heehee-myblog.tistory.com
# 젠킨스 설정 값 반영하여 설치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
K3S로 프로젝트 구성하기 - 4
1. 젠킨스로 스프링 자동 빌드 1-1 스프링부트 프로젝트 생성(3.X) intellij 혹은 https://start.spring.io/ 에서 스프링 프로젝트 생성 디펜던시는 자주 사용하는 lombok, web, devTool로만 사용하였다. (스프링
heehee-myblog.tistory.com
'DevOps > Jenkins' 카테고리의 다른 글
[젠킨스] 도커없이 K8S에서 도커 이미지 빌드 (0) 2023.11.09 [젠킨스] 작업내용 슬랙 알림 (0) 2023.10.31 [젠킨스] 깔끔한 UI/UX 플러그인 (0) 2023.10.30 [젠킨스] 쿠버네티스 agent 설정 (0) 2023.10.30