TIL|쿠버네티스2

타샤's 월드·2025년 4월 17일

목표: CKAD

쿠버네티스 필요성?

  • 고가용성 High Availablity - 시스템이 장애 없이 오랫동안 작동할 수 있는 능력.
    • 이중화(Redundancy) – 서버, 네트워크, 데이터베이스 등을 여러 대로 구성
    • 자동 장애 조치(Failover) – 문제가 생기면 자동으로 다른 인스턴스로 전환
    • 로드 밸런싱 – 부하를 여러 서버에 나눠 처리
  • 내결함성 (Fault Tolerance)- 시스템 구성 요소 중 일부가 고장 나더라도 전체 시스템이 정상 작동하는 능력.
    • 핫스왑(Hot Swap) – 고장난 부품을 시스템을 끄지 않고 교체
    • 이중화된 하드웨어 – 전원 공급, 저장장치, 네트워크 등이 모두 예비 장비를 가짐
    • 에러 감지 및 자동 수정 메커니즘

명령적 접근법 vs 선언적 접근법

  • 편함: 명령어를 계속 입력할 필요가 없으니까
  • 결과가 중요: 선언된 yml 파일 내용과 달리 컨테이너 하나가 죽으면 자동으로 다시 실행

직접설치법

  • 금융권이나 제한적인 상황에서 직접 설치

클라우드 서비스 설치

  • aws eks, 혹은 gcp 사용 ⇒ aws eks 사용
  1. role 지정 : 일종의 보안설정
  2. cluster 설정
  3. 접근 권한 설정(IAM 사용 등..)
  4. node group 생성

삭제

  1. 노드 그룹 삭제
  2. 클러스터 삭제

특강: 싱글노드 (카인드 사용)

작은 개발 조직에서는 그냥 싱글노드 쿠버네티스 클러스터로 개발장비로 하는게 나을 수 있음

싱글노드 쿠버네티스

-k3s
-minikube
-kind (kubenetes in docker): 도커 컨테이너 하나하나가 노드 처럼 작동


\

멀티노드 클러스터 with extra mapping

각각 컨테이너가 노드 1개의 역활을 함.

인그레스

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

profile
그때 그때 꽂힌것 하는 개발블로그

0개의 댓글