-
K3S로 프로젝트 구성하기 - 3DevOps/K8s 2023. 5. 23. 23:10
1. 로컬 PC를 NFS 설정 하기
(Multipass NFS용으로 추가생성하여 설정가능)
// 로컬 PC에 nfs 서버 구성 - multipass로 새로 생성하여 사용 가능sudo apt install nfs-kernel-server// 공유할 디렉토리 생성sudo mkdir /sharedir/k8s// 권한 부여sudo chmod 777 /sharedir/k8s// 공유 디렉토리 목록에 추가sudo vi /etc/exports// 맨 아래 다음 줄 추가 (아이피는 master-node 아이피)/sharedir/k8s 10.199.74.0/24(rw,sync,no_subtree_check)// 디렉토리 내보내기 및 재시작sudo exportfs -asudo systemctl restart nfs-kernel-server// 모든 노드에서 실행apt-get install nfs-common2. PV Yaml
저장소를 만드는 작업
apiVersion: v1kind: PersistentVolumemetadata:name: pv-nfsspec:capacity:storage: 20GivolumeMode: FilesystemaccessModes:- ReadWriteOncestorageClassName: jenkins-nfspersistentVolumeReclaimPolicy: Retainnfs:server: 172.30.1.77path: /sharedir/k8s3. PVC Yaml
원하는 용량과 AccessMode(읽기쓰기용인지 읽기용인지)등을 정하고 storageClassName으로 저장소 선택
apiVersion: v1kind: PersistentVolumeClaimmetadata:name: pvc-jenkinsspec:accessModes:- ReadWriteOncevolumeMode: Filesystemresources:requests:storage: 10GistorageClassName: jenkins-nfsK3S에 저장소 적용하는 과정
// 방금 생성한 pv 적용k apply -f pv.yaml// 방금 생성한 pvc 적용k apply -f pvc.yaml// bound 상태 확인k get pvc// 젠킨스 helm 레포 등록, 다운helm repo add jenkins https://charts.jenkins.iohelm repo updatehelm search repo jenkinshelm pull jenkins/jenkinstar xvfz jenkins-4.3.23.tgzmv jenkins jenkins-4.3.23rm -rf jenkins-4.3.23.tgzcd jenkins-4.3.23cp values.yaml my-vaules.yaml// yaml 파일 수정vi my-vaules.yaml// 위에서 생성한 pvc 적용persistence.existingClaim : "pvc-jenkins"// 노드포트 설정, 원하는 포트 설정controller.serviceType : "NodePort"k create ns jenkinshelm install jenkins -f my-vaules.yaml .로컬 nginx를 통해서 VM 포트 포워딩을 하여 로컬에서 확인한다.로컬에서 접속시
젠킨스 접근시 http://127.0.0.1:[nginx포트]/login 이러한 uri로 접근한다.https Xhttp O// 패스워드 확인kubectl exec --namespace jenkins -it svc/jenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo로컬에서 접속한 화면
젠킨스를 쿠버네티스 말고 도커로 별도 실행시
// 도커를 설치했다는 가정하에 명령어 실행// 볼륨마운트 디렉토리 로컬에 맞게 설정 (-v /home/jenkins:/var/jenkins_home)sudo docker run --name jenkins -it -d --privileged=true -p 1004:8080 -p 50000:50000 -v /home/jenkins:/var/jenkins_home -u root jenkins/jenkins:lts /sbin/init// 젠킨스 컨테이너 안에서 도커 설치 후 도커 실행시 다음 명령어로 도커 실행 (DockerInDocker)// 젠킨스 안에 도커를 설치한 이유는 추후에 깃허브에서 소스를 빌드후 도커이미지로 만들어 허브로 올리기위함sudo /etc/init.d/docker start'DevOps > K8s' 카테고리의 다른 글
K3S로 프로젝트 구성하기 - 4 (0) 2023.06.08 k8s 트러블 슈팅 - Failed to create pod sandbox (0) 2023.06.08 K3S로 프로젝트 구성하기 - 2 (0) 2023.05.23 K3S로 프로젝트 구성하기 - 1 (0) 2023.05.20