⭐대표적으로 알아야 할 것
- 개발 - 앱 개발에서 배포까지 써야 되는 기술
- 오케스트레이션/메니징 - 앱을 MSA로 만들 때 쓰면 좋은 기술
- 플랫폼, 런타임 - 이 앱을 클라우드로 올릴 때 주로 사용되는 기술
- 프로비저닝, 분석 - 보안 및 모니터링
🤔실제 프로젝트를 할 때 구조적인 문제
1. 개발과 모니터링 시스템이 서로 얶일 수 밖에 없는 구조
- 모니터링이나 로깅을 하려면 개발 패키지에 에이전트를 심거나 개발 코드를 변경하기도 함
- 개발 기능에 성능이 안나오면 모니터링에 심은 에이전트를 의심
- 모니터링 시스템은 개발 초반부터 개발자들이 써보고 불편한 점이나 주요 모니터링 포인트를 수용하면서 만들어지는게 이상적
- 그러나 개발자들은 로우 레벨로 로그나 성능을 찾아보면서 장애를 분석
2. 개발에서는 한번도 써보지 않은 개발 시스템을 위한 모니터링 시스템을 만드는 구조
- 개발과 모니터링은 각자의 산으로 감
- 개발은 막판에 초기 계획이랑 다르게 요구 사항들이 쏟아지며 앱들이 추가되거나 빠짐
- 그러나 모니터링 시스템에 앱을 자동으로 인식하는 기능이 없을 수도 있고 앱에 에이전트를 심는 것을 놓칠 수 있음
3. 오픈시 개발 프로젝트와 서로 다른 범위의 App들을 모니터링 하게 되는 구조
- k8s 생태계에 있는 모니터링이랑 로깅 툴들을 쓰면 전부 해결
- 이제 모니터링 시스템은 개발 시스템과 엮이지 않음
- 개발 초기부터 바로 사용 및 앱이 자동으로 반영
☀️쿠버네티스 대표 기능
1. Traffic Routing
- Kubernetes에서는 서비스와 인그레스를 통해 트래픽 라우팅을 관리.
- 서비스는 일련의 파드에 대한 액세스 및 통신을 정의하고 로드 밸런싱 역할.
- 인그레스는 클러스터 내의 서비스에 대한 외부 액세스를 관리하며 HTTP를 사용.
- 인그레스를 사용하여 요청 경로나 호스트를 기반으로 트래픽을 다른 서비스로 라우팅.
2. Self-Healing
- Kubernetes는 자체 치유 기능을 갖추고 있어 배포된 애플리케이션이 항상 정상적으로 실행되도록 보장.
- 클러스터 내 파드 및 다른 객체의 상태를 지속적으로 모니터링.
- 파드 충돌 시 자동으로 다시 시작하고 노드 실패 시 다른 노드에 파드를 재할당하여 가용성을 높임.
3. AutoScaling
- Kubernetes는 애플리케이션의 자동 확장과 클러스터의 자동 확장을 지원.
- Horizontal Pod Autoscaler는 자원 사용률에 따라 파드 수를 조정하며, Cluster Autoscaler는 클러스터의 크기를 조정하여 모든 파드가 실행될 수 있도록 함.
4. RollingUpdate
- 제로 다운타임으로 애플리케이션의 업데이트를 배포하는 방법.
- 이전 버전의 인스턴스를 점진적으로 새 버전의 인스턴스로 교체하여 서비스 중단을 최소화함.
- Kubernetes는 배포 및 StatefulSet에 롤링 업데이트를 지원하여 애플리케이션의 가용성을 유지하면서 업데이트를 수행함.
📑기존 환경과 쿠버네티스 환경
기존 환경
1. 기존 VM 환경에 부하가 심해져서 증설을 해야 된다고 판단이 되면 VM의 OS 담당자가 수동으로 설정
2. IP설정은 단순한 작업이지만 기존에 잘 돌아가는 앱에 영향을 주는 설정이라 곤란
3. 부하가 적은 야간에 작업
4. 앱이 3개가 보이도록 모니터링 담당자가 config 작업
쿠버네티스 환경
파드를 늘리고 싶을때 버튼 한 번 누르면 끝
나머지 작업 자동으로 진행
😀쿠버네티스, 인프라 환경 관리 장점
- 코드로 인프라를 관리
- 인프라에 대한 History 관리가 편해짐
- 인프라 작업 추적 가능
- 인프라 환경별 파일 생성
- 1. 시간이 있을 때 미리 구성 가능
- 2. 작업은 Copy&Paste
- 인프라 반복 작업X, 퀄리티 향상에 집중
- 새 인프라 작업시 이전 경험을 녹인 코드 활용
출처
[인프런] 쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2
저자 : 일프로
'k8s' 카테고리의 다른 글
[1-5] Application 기능으로 이해하기 - probe (1) | 2024.04.13 |
---|---|
[1-4] Object 기본적인 이해 (1) | 2024.04.12 |
[1-2] 깊이있는 쿠버네티스 설치 (0) | 2024.04.01 |
[1-1] 컨테이너 한방정리 (0) | 2024.03.25 |
[2-1] DevOps 한방 정리 (0) | 2024.03.21 |