본문 바로가기

[DevOps]/[Kubernetes]

[Qwiklabs] Kubernetes in Google Cloud [ Continuous Delivery with Jenkins in Kubernetes Engine ]

728x90

아니 내가 이 귀찮은걸 왜 시작해가지고

 

[ Continuous Delivery with Jenkins in Kubernetes Engine ]

www.jenkins.io

 

Jenkins

Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software.

www.jenkins.io

  Jenkins 는 CI (Continuous Integration) tool 이다. 이번 실습에는 kubernetes engine에서 jenkins로 어떻게 지속적인 delivery pipeline을 구축하는지를 실습해본다. gcp에서 jenkins를 사용하는 모습은 다음과 같다. 

배울 내용은 다음과 같다.

  • Provision a Jenkins application into a Kubernetes Engine Cluster
  • Set up your Jenkins application using Helm Package Manager
  • Explore the features of a Jenkins application
  • Create and exercise a Jenkins pipeline

Clone the repository)

Provisioning Jenkins)

Install Helm)

helm.sh/docs/intro/

 

Introduction

Helm - The Kubernetes Package Manager.

helm.sh

 Helm은 kubernetes application을 배포하기 쉽게 하기 위해 사용하는 package manager이다. 이번 실습에서는 charts repository에서 jenkins를 설치하기 위해 Helm을 이용한다.

Configure and Install Jenkins)

Connect to Jenkins)

자동으로 password를 받을 수 있다. web-preview에서 id는 admin, password는 생성된 계정을 이용하면 된다. 

printf $(kubectl get secret cd-jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo

Understanding the Application)

The application mimics a microservice by supporting two operation modes.

  • In backend mode: gceme listens on port 8080 and returns Compute Engine instance metadata in JSON format.
  • In frontend mode: gceme queries the backend gceme service and renders the resulting JSON in the user interface.

Deploying the Application)

Creating the Jenkins Pipeline)

Creating the Development Environment)

 

- 랩을 마치며 -

 

 이번 랩은 실습을 진행하기는 했지만 처음 접하는 내용이 많아서 그런지는 몰라도 기억에 깊게 남기지는 못한 것 같다. 하지만 kubernetes를 전반적으로 어떻게 운용하는 지에 대한 개략적인 내용을 확인했으므로, 차후에 이런 툴들을 접할때 당황하지 않고 배울 수 있을 것 같다.

더불어 모든 랩을 더욱 세세히 분석하고 관련 코드들을 뜯어보는 시간을 가졌다면 실력이 더 크게 늘었을 것이란 아쉬움이 남는다. qwiklab의 실습제한시간을 늘려줬으면 하는것이 개인적인 바램이다.

 

 

 

 

 

 

728x90