본문 바로가기

Cloud/GCP

[GCP] Jenkins로 GKE 연결하기

반응형

0. 개요

해당 포스팅에서는 소프트웨어 제공 파이프라인을 조정하는 데 도움이 되도록 Google Kubernetes Engine에서 Jenkins를 설정하는 방법에 대해 알아봅니다.

 

  • Kubernetes Engine으로 Kubernetes 클러스터 만들기
  • Jenkins 배포 및 서비스 만들기.
  • 젠킨스에 연결 중입니다.

 

1. 환경준비

Cloud Shell 에서 Zone 설정 후 샘플코드 clone 

gcloud config set compute/zone us-central1-f

git clone https://github.com/GoogleCloudPlatform/continuous-deployment-on-kubernetes.git

cd continuous-deployment-on-kubernetes

 

GKE 생성

gcloud container clusters create jenkins-cd \
--num-nodes 2 \
--scopes "https://www.googleapis.com/auth/projecthosting,cloud-platform"

 

생성완료되었으면 cloud shell에 GKE 자격증명 가져오기

gcloud container clusters get-credentials jenkins-cd
kubectl cluster-info

 

2. helm 설정 휴 Jenkins 설치

Jenkins의 helm repo 등록

helm repo add jenkins https://charts.jenkins.io
helm repo update

 

Jenkins 설치

helm upgrade --install -f jenkins/values.yaml myjenkins jenkins/jenkins
### jenkins/values.yaml

controller:
  installPlugins:
    - kubernetes:latest
    - workflow-job:latest
    - workflow-aggregator:latest
    - credentials-binding:latest
    - git:latest
    - google-oauth-plugin:latest
    - google-source-plugin:latest
    - google-kubernetes-engine:latest
    - google-storage-plugin:latest
  resources:
    requests:
      cpu: "50m"
      memory: "1024Mi"
    limits:
      cpu: "1"
      memory: "3500Mi"
  javaOpts: "-Xms3500m -Xmx3500m"
  serviceType: ClusterIP
agent:
  resources:
    requests:
      cpu: "500m"
      memory: "256Mi"
    limits:
      cpu: "1"
      memory: "512Mi"
persistence:
  size: 100Gi
serviceAccount:
  name: cd-jenkins

설치 확인

kubectl get pods

### Result
NAME          READY   STATUS    RESTARTS   AGE
myjenkins-0   2/2     Running   0          2m1s

 

port-forward를 통해 8080 tunnel 열기

echo http://127.0.0.1:8080
kubectl --namespace default port-forward svc/myjenkins 8080:8080 >> /dev/null &

 

3. Jenkins 접속

해당 명령어를 통해 Pod 내부로 접속하여 비밀번호 출력하기

kubectl exec --namespace default -it svc/myjenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo

 

8080으로 접속

 

---

출처

https://www.cloudskillsboost.google/focuses/1776?catalog_rank=%7B%22rank%22%3A1%2C%22num_filters%22%3A0%2C%22has_search%22%3Atrue%7D&parent=catalog&search_id=22626454

 

반응형