Ssoon
[2주차] CHAPTER-08 MetalLB 로드밸랜서 구축 본문
이정훈님이 집필하신 "24단계 실습으로 정복하는 쿠버네티스" 로 진행하는 CloudNet@ 팀의 PKOS 2주차 정리입니다.
✅ 헬름을 이용한 MetalLB 설치
💠 Heml을 이용해 설치합니다.
💠 로드 밸런서 서비스에 할당할 IP 정의합니다.
💠 L2 CONFIGURATION 설정합니다.
로컬 네트워크의 ARP 요청에 직접 응답하여 시스템의 MAC 주소를 클라이언트에 제공하는 방식으로 작동합니다.
💠 데모 용도의 애플리케이션 voting-app 을 설치합니다.
💠 voting-app 의 서비스 타입을 LoadBalancer 되어 있는지 확인합니다.
💠 LoadBalancer 정보를 확인하고 EXTERNAL-IP 로 접속하여 확인합니다.
💠 vote 파드를 3개로 변경합니다.
💠 for 반복문을 이용해 부하분산을 확인합니다.
✅ MetalLB 파드 아키텍처
⛔ kubetail 설치
✔ kubetail : 복수의 Pod 로그를 동시에 확인
💠 kubetail 을 설치합니다.
💠 metallb-system 네임스페이스에서 speaker 를 인자로 사용해서 동시에 3개의 Pod 의 로그를 확인 할 수 있습니다.
⛔ MetalLB 파드 로그 확인
💠 실행 중이던 서비스를 삭제하고 다시 생성합니다.
💠 서비스를 시작하면 controller pod (metallb-controller-777d84cdd5-55x5r) 가 external ip (192.168.219.70) 를 특정 speaker pod (metallb-speaker-72dmx) 에 할당하고 처리합니다.
💠 speaker pod가 생성된 node에 접속하여 라우팅 정보르 확인합니다.
✔ external ip 를 요청하면 각 Pod 의 IP 가 응답합니다.
✅ MetalLB 부하 테스트 및 고가용성
⛔ K6를 이용한 부하 테스트
https://k6.io/docs/get-started/installation/
💠 k6 를 설치합니다.
💠 스크립트를 준비합니다.
💠 부하 테스트를 실행합니다.
⛔ 노드 장애 시 서비스 다운시간
💠 서비스 단절 시간을 측정하기 위한 스크립트를 실행하고 EXTERNAL IP 를 처리하는 POD가 실행 중인 노드를 재부팅합니다.
💠 재부팅 후 curl 로그를 확인합니다.
✔ 13:52 ~ 15:54 의 서비스 단절이 발생했습니다.
📌 MetalLB 레이어 2모드의 단점으로 BGP 모드를 사용하면 서비스 단절 시간을 줄일 수 있습니다.
'Production Kubernetes Online Study' 카테고리의 다른 글
[2주차] CHAPTER-10 쿠버네티스 스토리지 (0) | 2023.03.14 |
---|---|
[2주차] CHAPTER-09 Traefik 인그레스 구축 (0) | 2023.03.14 |
[2주차] CHAPTER-07 쿠버네티스 서비스 사용하기 (0) | 2023.03.14 |
[1주차] CHAPTER-06 헬름 기반으로 애플리케이션 설치 (0) | 2023.03.10 |
[1주차] CHAPTER-05 쿠버네티스 트러블슈팅 (0) | 2023.03.10 |