목표: CKAD
쿠버네티스 필요성?
- 고가용성 High Availablity - 시스템이 장애 없이 오랫동안 작동할 수 있는 능력.
- 이중화(Redundancy) – 서버, 네트워크, 데이터베이스 등을 여러 대로 구성
- 자동 장애 조치(Failover) – 문제가 생기면 자동으로 다른 인스턴스로 전환
- 로드 밸런싱 – 부하를 여러 서버에 나눠 처리
- 내결함성 (Fault Tolerance)- 시스템 구성 요소 중 일부가 고장 나더라도 전체 시스템이 정상 작동하는 능력.
- 핫스왑(Hot Swap) – 고장난 부품을 시스템을 끄지 않고 교체
- 이중화된 하드웨어 – 전원 공급, 저장장치, 네트워크 등이 모두 예비 장비를 가짐
- 에러 감지 및 자동 수정 메커니즘
명령적 접근법 vs 선언적 접근법
- 편함: 명령어를 계속 입력할 필요가 없으니까
- 결과가 중요: 선언된 yml 파일 내용과 달리 컨테이너 하나가 죽으면 자동으로 다시 실행
직접설치법
클라우드 서비스 설치
- aws eks, 혹은 gcp 사용 ⇒ aws eks 사용
- role 지정 : 일종의 보안설정
- cluster 설정
- 접근 권한 설정(IAM 사용 등..)
- node group 생성

삭제
- 노드 그룹 삭제
- 클러스터 삭제
특강: 싱글노드 (카인드 사용)
작은 개발 조직에서는 그냥 싱글노드 쿠버네티스 클러스터로 개발장비로 하는게 나을 수 있음
싱글노드 쿠버네티스
-k3s
-minikube
-kind (kubenetes in docker): 도커 컨테이너 하나하나가 노드 처럼 작동



\
각각 컨테이너가 노드 1개의 역활을 함.
인그레스
클러스터 외부에서 클러스터 내부로 http 와 https 경로를 노출
트래픽 라우팅은 인그레스 리소스에 정의된 설정 및 규칙에 의해 컨트롤이 된다
nginx 인그레스 컨트롤러(웹서버 같은 어플리케이션)로드밸런싱, 라우팅,ssl/tls