DevOps
Jenkins 를 통한 k8s클러스터 CI 구성 (1) Jenkins 설치
print(name)
2023. 4. 18. 06:55
대표적인 CI(Continuous Integration) 툴인 jenkins를 설치해 본다.
빠르고 간단한 설치 및 설정을 위해 Helm을 사용한다.
헬름 젠킨스 레포 업데이트
helm repo add jenkins <https://charts.jenkins.io>
helm repo update
젠킨스 yaml파일 받기
helm show values jenkins/jenkins > jenkins-values.yaml
헬름 젠킨스 yaml파일 기반 설치
helm install jenkins jenkins/jenkins -f jenkins-values.yaml
아래와 같이 나온다
서비스 외부접속
## 노드포트 방식
kubectl patch svc jenkins -p '{"spec": {"type": "NodePort"}}'
## 로드밸런스 방식
kubectl patch svc jenkins -p '{"spec": {"type": "LoadBalancer"}}'
## 포트포워딩 방식 8080 포트
kubectl --namespace default port-forward svc/jenkins 8080:8080
argoCD때와 같다. ingress 방식도 적용하면 할수는 있을것이고
편한 방식을 골라서 외부접속 환경을 만들어 놓는다.
설치 확인 및 로그인
kubectl get all
여러개의 파드 디플로이먼트 서비스 레플리카셋 등이 잘 설치되었나 확인을하고,
pv와 pvc도 정상 작동하는지 확인한다.
kubectl get pv,pvc
서비스쪽에 위 포트로 접속하면 이런 화면이 나온다.
- argoCD는 443과 80 포트 둘다 사용가능하지만 여기서 설명하는 jenkins는 http(80포트) 만 사용가능해서 접속할때 http 인것을 확인해야 한다.
기본 ID: admin
기본 PW (네임스페이스 주의)
kubectl exec --namespace default -it svc/jenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo
로 접속하면 된다.