일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- CS
- mysql
- vm
- virtualization
- 데이터베이스
- spring boot
- spring batch
- 스프링 배치
- 스프링 시큐리티
- 자바
- 스프링 부트
- CI/CD
- JPA
- ORM
- 백엔드
- Java
- 웹 서버
- Spring
- spring cloud
- Spring Security
- 컨테이너
- 스프링
- Container
- 가상화
- 영속성 컨텍스트
- web server
- 배포
- 도커
- computer science
- HTTP
- Today
- Total
개발 일기
[Kubernetes] 쿠버네티스(Kubernetes) 교양 쌓기 본문
쿠버네티스에 대해 공부하기 시작하면서 현업자의 인터뷰를 보면서 대강 뭐하는 애인지 정도 편하게 봤다. 이것을 발판 삼아 앞으로 잘 배워봐야겠다.
직접 써봤듯이 Git Actions와 같은 도구를 통해 CI/CD 배포를 자동화할 수 있었다. 그런데 이때 자동으로 배포한 것에서 감시까지 자동화 했을 때 에러가 난다면 조치는 누가할까? "사람"이 한다. 즉, 자동화는 품질이 사람에 의해 좌지우지가 되는 것이다.
이때 배포, 감지에서 더 나아가 조치까지 자동화하겠다는 것이 "오케스트레이션"이란 개념이다.
장애가 났어? 그럼 내가 살려줄게, 과부화 났어? 그럼 내가 알아서 Scale Out 해줄게 이러한 것이 추가된 것이다.
소프트웨어를 이미지로 만든 것이 ISO이다. 예를들어 Window OS를 설치하기 위해서는 디스크에 Window OS ISO파일이 필요한데 또 이것 가지고는 OS가 동작하지 않는다. 이것을 실행을 시켜야지만 되는 것이다.
Docker 또한 마찬가지다 Dockerfile을 빌드하여 얻은 Docker Image를 실행시켜서 Cotainer로 메모리에 띄워야만 동작하는 것이다.
이런 컨테이너는 완전 무결한 immutable한 환경이다. 데이터를 저장하고 수정하고 했을 때 이 컨테이너를 내리고 재 실행시킨다면 원래의 상태로 돌아오기 때문이다. 그래서 컨테이너에는 데이터를 저장해서는 안된다. 그 대신에 VM의 경우 누군가가 들어와서 조작될 위험성이 크지만 컨테이너는 누군가 들어와 조작하더라도 이미지를 기반으로 되살릴 수 있다.
쿠버네티스 클러스터를 하나 만든다고 했을때
마스터 노드에서 전체적으로 워커 노드들을 매니지먼트 하는 곳이고 파드(Pod)라고 부르는 컨테이너 집합체 즉, 컨테이너들을 파드라는 것으로 감싸져서 사용자의 어플리케이션이 구동되는 것을 워커 노드라고 한다.
'DevOps > Docker Kubernetes' 카테고리의 다른 글
[Docker] 하나의 컨테이너에 하나의 어플리케이션만? (0) | 2024.05.25 |
---|---|
[Docker] 컨테이너 런타임(Container Runtime) (0) | 2024.05.21 |
[Docker] 스프링 부트 Dockerfile 작성부터 EC2 환경에 배포까지 (0) | 2024.05.19 |
[Docker] 도커파일(Dockerfile) 작성하기 (0) | 2024.05.15 |
[Docker] 도커 명령어 정리 (0) | 2024.05.14 |