CI/CD

Jenkins Helm 설치

uuuhhh 2022. 12. 9. 09:25

📌 목표


  • 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: ClusterIPLoadBalancer

 

  • 변경 사항 적용 !
$ 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