728x90
1. CI/CD 란

지속적 통합 (CI) + 지속적 전달 (CD - Continuous Delivery) + 지속적 배포 (CD - Continuous Deployment)
2. CI/CD 특징
- 협업 효율성 증가
- 품질 향상
- 지속적인 통합과 배포
3. GithubActions vs Jenkins

- github actions
- github 저장소에 통합된 ci/cd 도구로 코드 변경 사항이 발생하면 자동으로 빌드, 테스트, 배포 작업 수행
- 장점
- 클라우드 기반으로 별도 인프라 구축 불필요
- 간편한 설정, yaml 파일로 워크플로우 정의하여 설정이 직관적
- github 와 통합하여 빠른 배포 가능
- Jenkins
- 오픈소스 자동화 서버, 빌드/테스트/배포 과정을 자동화하는데 사용됨. 플로그인 기반 아키텍처로 배포 환경에 맞게 확장 가능.
- 장점
- 복잡한 빌드 파이프라인을 효율적으로 관리할 수 있음
- 스크립트 기반으로 높은 유연성 제공
- git, docker, kubernetes 등과 연동 지원
- 단점
- 복잡한 설정: 초기 설정과 유지 관리 어려움
- 자원 소모: 자체 서버에서 운영하여 리소스 관리 필요
4. VM 과 Hypervisor
- VM
- 호스트 시스템에서 실행되는 가상 컴퓨터로, 실제 컴퓨터처럼 동작하지만 물리적인 하드웨어 없이 소프트웨어로 구현됨.
- Hypervisor
- VM을 관리하고 제어하는 소프트웨어 또는 하드웨어 계층.
5. Container

VM과 다른 방식을 사용해서 효율성이 높아진 것이 컨테이너!!!!
가상머신과 달리 운영 체제 수준에서 격리된 환경을 제공하며 하나의 호스트 시스템에서 여러 컨테이너를 실행할 수 있어 자원을 효율적으로 사용 가능하다.
리눅스의 두 가지 핵심 기능을 활용하여 이루어진다.
- Cgroups (Control Groups)
- 프로세스 그룹의 리소스 사용량을 모니터링하고 제한함
- 컨테이너가 할당된 자원 초과 사용 방지, 안정성 유지
- 네임스페이스 (Namespace)
- process 가 자신의 네임스페이스 내에서만 시스템 리소스를 볼 수 있도록 함.
- 격리된 환경을 제공하는 핵심 기술
6. Docker

- Image
- container 를 실행하는 템플릿
- docker 컨테이너 이미지는 코드, 런타임, 시스템 도구, 라이브러리 및 설정 등 애플리케이션을 실행하는데 모든 것을 포함하는 경량의 독립형 실행 가능한 소프트웨어 패키지이다.
- dockerfile을 사용해 직접 빌드 가능
- Container
- docker image 실행 인스턴스
- 컨테이너는 이미지 기반으로 실행되며 독립적으로 관리된다.
- Docker File
- 도커 이미지를 자동으로 빌드하기 위한 스크립트 파일
- docker build 명령어와 함께 사용하며 새로운 도커 이미지를 생성한다.
- Docker Hub
- 도커 이미지를 찾고, 공유, 관리할 수 있는 클라우드 기반 저장소이다.
- 무료로 이미지 다운로드 가능 또는 이미지 공개 가능하다.
- Docker Registry
- 도커 이미지를 저장 및 배포하기위한 서버 측 응용 프로그램
- docker hub와 유사한데 자신의 서버에 직접 설치하여 조직 내부에 사용할 수 있는 프라이빗 저장소를 만들 수 있게해준다.
- 비공개 프로젝트를 수행할 때 적합함!
728x90
'스터디 > Cloud & k8s' 카테고리의 다른 글
[쿠버네티스 스터디.1-2] 확장성, 고가용성, 안정성 (0) | 2025.03.25 |
---|---|
[쿠버네티스 스터디.1-1] 모던 애플리케이션의 특징 (0) | 2025.03.23 |
[k8s] Container 환경에서 JVM GC (Garbage Collection) 확인하기 (0) | 2023.08.25 |
[k8s] Helm과 Chart 란? (쿠버네티스 패키지 매니저) (0) | 2022.11.01 |
[k8s] 컨테이너 실행 명령어 종류 (1) | 2022.10.28 |
댓글