Kwangil
로그인
Kwangil
로그인
도커와 쿠버네티스
최광일
·
2023년 1월 14일
팔로우
0
0
패스트캠퍼스 강의 수강
Kubernetes 와 Docker로 한 번에 끝내는 컨테이너 기반 MSA
Part1. Docker 기초
컨테이터 기술의 발전
배경
서비스 운영을 위해 컴퓨팅 리소스를 어떻게 효율적으로 사용할까?
발전과정
Traditional Deployment
HW > OS > App
Virtualized Deployment
HW > OS > Hypervisor > VM
Container Deployment
HW > OS > Docker
Kubernetes Deployment
도커 (Docker)
정의
리눅스 컨테이너 생성 및 실행을 위한 컨테이너 기술
구성요소
client
docker host
image, container
registry
이미지와 컨테이너 (
image
)
도커에서 사용하는 가장 기본적인 단위
클래스와 인스턴스와 같은 관계
image
소프트웨어 패키지로, 컨테이너를 생성할 때 필요한 요소
container
호스트와 다른 컨테이너로부터 격리된 시스템 자원과 네트워크를 사용하는 프로세스
도커 컨테이너 다루기
컨테이너 라이프사이클 (
image
)
created > running > paused > stoped > deleted
엔트리포인트와 커맨드
환경변수
네트워크
볼륨
로그
도커 이미지 다루기
도커 레이어 아키텍쳐 (
image
)
여러개의 레이어를 하나의 파일시스템으로 사용
base image > build image > execute image
DockerFile
이미지 저장소
dockerHub, AWS ECR
이미지 경량화 전략
경량 이미지 사용
이미지 레이어 수 줄이기
멀티 스테이지 빌드 사용
도커 컴포즈 (Docker Compose)
정의
명시적으로 여러 컨테이너 관리
사용이유
단일 서버에서 여러 컨테이너를 프로젝트 단위로 묶어서 관리
docker-compose.yml YAML 파일을 통해 명시적 관리
구성요소
프로젝트
도커 컴포즈에서 다루는 워크스페이스 단위
함께 관리하는 서비스 컨테이너의 묶음
서비스
도커 컴포즈에서 컨테이너를 관리하기 위한 단위
scale을 통해 서비스 컨테이너의 수 확장 가능
컨테이너
서비스를 통해 컨테이너 관리
Part2. Docker 활용
도커 빌드를 위한 jenkins CI 활용
구성요소
Source code manager
github
Source code Builder
gradle
Docker image Builder
jib
Container Image regsitry
AWS ECR
Cloud compute for CI
AWS EC2, jenkins
Cloud compute for CD
AWS EC2, docker
jenkins pipeline
1 Pull Codes from Github
2 Build Codes by Gradle
3 Build Docker Image by Jib & Push to AWS ECR Repository
4 Deploy to AWS EC2 VM
Nexus를 활용한 Private 환경에서 도커 빌드
구성요소
AWS VPC내 4개의 Subnet
Public Subnet 1
Bastion(Jenkins) VM
Private Subnet2내 Deploy VM 접속용 네트워크
Public Subent 2
NAT Gateway
Private Subnet1내 Nexus(Common) VM에서 인터넷망에 있는 시스템 접속용
Private Subnet 1
Nexus(Common) VM
Private 환경내 Nexus 운영/관리 환경을 구현할 네트워크
Private Subnet 2
Private Deploy VM
Private 환경내 개발/배포 환경을 구현할 네트워크
jenkins pipeline
1 Pull Codes from Github
2 Build Base Image by Docker
3 Build Codes by Gradle
4 Build Docker Image by Jib & Push to Nexus Custom Repository
5 Deploy Nexus Repository to AWS EC2 VM
Part3. Kubernetes 입문
Part4. Kubernetes for develper
Part5. Kubernetes for devops
Part6. MSA with Kubernetes
Part7. Yaml
Part8. Helm
Part9. Kubernetes 자격증 CKA
최광일
Hello
팔로우
다음 포스트
React.js
0개의 댓글
댓글 작성