다음의 Qwiklabs 과정을 거치면서 모르던 내용들 그리고 배웠던 내용들에 대해 써보았다:
- Continuous Delivery with Jenkins in Kubernetes Engine
우선, 저 과정을 거치면서 모르거나 새로 배운 내용들에 대한 정의를 써보도록 하겠다. 나름 나의 해석?도 들어가 있는 것이라 정확하지는 않을 수도 있으나, 최대한 찾아본 내용을 토대로 썼다:
- Jenkins: The go-to automation server used by developers who frequently integrate their code in a shared repository. An open source automation server that lets you flexibly orchestrate your build, test and deployment pipelines → Github 같은 것으로 이해함
- Ephemeral Build Executors: Executor allowing each build to run in a clean environment that's identical to the builds before it
- SSL: Secure Sockets Layer의 약자. Standard technology for keeping an internet connection secure and safeguarding any sensitive data that is being sent between two systems.
- SSL termination: Describes the transition process when data traffic becomes encrypted and unencrypted
- Helm: The package manager for Kubernetes. Helm Charts help you define, install and upgrade even the most complex Kubernetes application. A chart is a collection of files that describe a related set of Kubernetes resources
- Cluster Role Binding: RoleBinding is used for granting permission to a subject in a Kubernetes cluster and ClusterRoleBinding grants that access cluster-wide
- Continuous Deployment Pipeline (CD Pipeline): An implementation of the continuous paradigm, where automated builds, tests and deployments are orchestrated as one release workflow
- Kubernetes Plugin: A framework that can be used to advertise system hardware resources to the Kubelet. Instead of customizing the code for Kubernetes itself, vendors can implement a device plugin.
- Kubelet: The primary "node agen" that runs on each node. Responsible for maintaing a set of pods. Watches for pod specs via the Kubernetes API server.
- Jenkinsfile: A text file that contains the definition of Jenkins Pipeline and is check into source control
- Jenkins Pipeline: A suite of plugins which supports implementing and integrating continuous delivery pipelines to Jenkins
- Pipeline: A set of data processing elements connected in series, where the output of one elements is the input of the next one.
- Jenkins Jobs: Jobs는 Jenkins에서 실행하는 가장 기본적인 단위이며, Jobs들이 모여 CI (continuous integration)를 구성하게 된다.
Jenkins in Kubernetes의 Structure은 다음과 같다:
마지막 문제 답:
1번 같은 경우, gcloud shell 에 kubectl get namespace라고 치면 된다. 그러면 다음과 같이 출력된다:
여기서 kube-system / production / default는 있으므로 3개를 선택하면 된다.
2번의 경우, True이다.
결론:
이번 qwiklabs quest를 하면서 Jenkins Job를 만들때 문제가 생겼었다. 무슨 문제인지 설정이 잘못되어 qwiklabs에서 지시한 sample-app인 Jenkins Job가 잘 안만들어져서 문제가 생겼다. 이것 때문에 애를 먹었지만 다시 시작해서 시도 했더니 큰 문제는 없었다. 아무래도 project id를 잘못 친 것 같다
그리고 다행히 github에 대해 어느 정도 알고 있어서 이번 Jenkins 관련 hands-on-lab가 잘 이해됐지, 아니었으면 잘 이해 못했을 것 같다. 역시 아직은 공부할게 많은 듯 하다
'GCP 공부 일기' 카테고리의 다른 글
Cloud Monitoring: Qwik Start - Qwiklabs 실습 (0) | 2020.10.26 |
---|---|
Introduction to Docker Containers - 도커 컨테이너 기초 다지기 (2) (0) | 2020.10.20 |
Managing Deployments Using Kubernetes Engine - Qwiklabs 실습 (0) | 2020.10.18 |
Orchestrating the Cloud with Kubernetes - Qwiklabs 실습 (0) | 2020.10.16 |
Introduction to Docker Containers - 도커 컨테이너 기초 다지기 (1) (0) | 2020.10.15 |