📌 목표
- Helm을 사용해서 Jenkins를 Kubernetes 클러스터 환경에 구축해보자 !
⚡ Leggo
- Helm 설치 for Mac OS
$ brew install helm
- helm repo 추가하기
$ helm repo add jenkins <https://charts.jenkins.io>
$ helm repo update
- jenkins 설정 파일인 values.yaml 받기
$ helm show values jenkins/jenkins > jenkins-values.yaml
- jenkins namespace 생성 후 jenkins chart 설치
# Helm 3
$ helm install [RELEASE_NAME] jenkins/jenkins [flags]
$ kubectl create namespace jenkins
$ helm install jenkins jenkins/jenkins -f jenkins-values.yaml -n jenkins
- 비밀 번호 확인
$ helm status jenkins -n jenkins
...
$ kubectl exec --namespace jenkins -it svc/jenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo
...
- 외부에서 jenkins dashboard에 접근하기 위해 kubenetes service에 포트 포워딩을 사용한다.
$ k port-forward svc/jenkins 8080:8080 -n jenkins
Forwarding from 127.0.0.1:8080 -> 8080
Forwarding from [::1]:8080 -> 8080
Handling connection for 8080
Handling connection for 8080
...
- 접속
- 127.0.0.1:8080
- Account
- id : admin
pwd : ********→ 변경 완료
- 로그인 성공
- 지금은 클러스터가 private 환경이어서 로컬에서만 접속 가능하다.
- 외부에서 jenkins에 접근을 위해 service 타입을 모두 loadbalancer로 변경해주었다 !
- 먼저 values.yaml 파일 변경 !
- serviceType: ClusterIP → LoadBalancer
- 변경 사항 적용 !
$ helm upgrade jenkins jenkins/jenkins -f jenkins-values.yaml -n jenkins
- 성공 !
- REVISION = Release 횟수
- EXTERNAL-IP 발급 성공 !
- 접속도 좋구만요 !
ref.
https://github.com/jenkinsci/helm-charts/tree/main/charts/jenkins
'CI/CD' 카테고리의 다른 글
Jenkins Back-End Gradle Build (0) | 2022.12.13 |
---|---|
Jenkins Webhook 연동 (0) | 2022.12.12 |
ArgoCD Helm 설치 & 테스트 (0) | 2022.12.10 |
Jenkins 환경 설정 및 빌드 테스트 (0) | 2022.12.09 |
Github Action (0) | 2022.11.12 |