YJWANG

[kubernetes] Helm 으로 jenkins 설치하기 본문

60.Cloud/80.Kubernetes

[kubernetes] Helm 으로 jenkins 설치하기

왕영주 2021. 1. 26. 15:50

Refer to


구성


위 글들을 참고하여 helm 설치와 nfs-provisioner는 구성이 됐다는 가정 하에 작업이 진행된다.
본 작업에서는 bitnami helm repository를 사용할 예정이다.

helm repo 추가

# helm repo add bitnami https://charts.bitnami.com/bitnami

[root@master01 ~]# helm repo list
NAME       URL                               
stable     https://charts.helm.sh/stable     
bitnami    https://charts.bitnami.com/bitnami

helm config 수정
이외 값은 Default를 사용하며 storageClass를 nfs-provisioner 설정한 내용으로 맞춰준다.

[root@master01 ~]# helm show values bitnami/jenkins > helm-jenkins.yaml

[root@master01 ~]# grep -v '.*#' helm-jenkins.yaml 
---
persistence:
  enabled: true
  storageClass: "jenkins-nfs"
  annotations:
  accessModes:
    - ReadWriteOnce
  size: 25Gi

service:
  type: NodePort
  nodePorts:
    http: ""
    https: ""

helm chart install

[root@master01 ~]# helm install -f helm-jenkins.yaml --namespace helm-jenkins helm-jenkins bitnami/jenkins 
NAME: helm-jenkins
LAST DEPLOYED: Tue Jan 26 06:31:49 2021
NAMESPACE: helm-jenkins
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
** Please be patient while the chart is being deployed **

1. Get the Jenkins URL by running:

  export NODE_PORT=$(kubectl get --namespace helm-jenkins -o jsonpath="{.spec.ports[0].nodePort}" services helm-jenkins)
  export NODE_IP=$(kubectl get nodes --namespace helm-jenkins -o jsonpath="{.items[0].status.addresses[0].address}")
  echo "Jenkins URL: http://$NODE_IP:$NODE_PORT/"

2. Login with the following credentials

  echo Username: user
  echo Password: $(kubectl get secret --namespace helm-jenkins helm-jenkins -o jsonpath="{.data.jenkins-password}" | base64 --decode)

위 명령어 안내대로 실행 후 jenkins를 설정한다.
# kubectl logs로 아래 메시지가 출력돼야 배포가 잘 된 것이다.

2021-01-26 06:40:53.915+0000 [id=20]    INFO    hudson.WebAppMain$3#run: Jenkins is fully up and running

반응형