Closed YongsHub closed 3 months ago
저장을 위한 워크로드에서 흔히 SSD, HDD가 있는데 SSD가 속도가 더 빠르다고 알려져 있는데 왜 많은 데이터베이스는 HDD를 사용하는지 알고 계시면 좋을 것 같습니다!
최근 면접에서 받은 질문입니다!
위에서 자세하게 설명을 작성해주셔서, 이번 섹션을 공부하며, 집중적으로 봤던 것을 요약해보았습니다. 면접 질문 케이스에 대해서는 처음 고민해봤던 것이라 유용하게 도움되었습니다. 감사합니다.
다음 섹션은 길지 않습니다. (섹션 11 : 43min, 섹션 12: 1min) 화요일까지 어떠신가요!?
위에서 자세하게 설명을 작성해주셔서, 이번 섹션을 공부하며, 집중적으로 봤던 것을 요약해보았습니다. 면접 질문 케이스에 대해서는 처음 고민해봤던 것이라 유용하게 도움되었습니다. 감사합니다.
- 고가용성 구조는 클러스터 내 모든 components에 대해 중복을 갖는 것. 여러개의 마스터 노드가 있을 때, API 서버 수신 요청에 대해서는, 병행적으로 listen되면 안되므로 LB를 사용하는 것이 유용하다.
- etcd는 내장된 형태와 외장된 형태 모두가 가능한데, 중요한 것은 마스터 노드의 API 서버가 etcd 서버의 주소를 잘 가르키고 있어야 한다.
- ETCD가 여러개 있을 때, 하나의 인스턴스에서 쓰기 역할을 담당하는데, 역할을 담당하는 기준에는 RAFT 알고리즘이 사용된다. Instance count는 Odd가 유용하다.
다음 섹션은 길지 않습니다. (섹션 11 : 43min, 섹션 12: 1min) 화요일까지 어떠신가요!?
넵 확인했습니다
쿠버네티스 클러스터 Desgin
On-Premise 환경
Cloud Service
GCP - GKE, AWS - Kops, Azure - Azure Kubernetes Service(AKS)
워크로드
저장 공간
노드
이 부분은 인프런에서도 내용을 배웠음
추가 고려사항
쿠버네티스 인프라 구조 선택
로컬 머신에서 Kubernetes를 쉽게 시작하려면?
Minikube를 사용하자. Minikube는 단일 노드 클러스터를 쉽게 배포한다.kubeadm 도구를 사용하여 배포할 수 있다. 단일 노드 또는 다중 노드 클러스터가 정말 빠르다. 하지만 이를 위해서는 필수 호스트를 프로비저닝해야 한다.
고가용성에서의 ETCD
ETCD는 Kubernetes Cluster에서 Database 역할을 하는 서버. Cluster의 각종 서버정보와 상태를 Key-Value의 형태로 저장함
Kubernetes는 Backing Storage로 ETCD를 사용하고 있으며 모든 데이터가 ETCD에 보관됨. 클러스터에 어떤 노드가 몇 개나 있고 어떤 파드가 어떤 노드에서 동작하는지도 ETCD에 기록됨.
만약 동작중인 클러스터의 ETCD 데이터베이스가 유실된다면 컨테이너뿐만 아니라 모든 리소스가 할당되지 못함.
그렇다면 HA에서 몇개의 노드가 있어야 할까? 최소 3개의 노드이다. - 홀수를 선호함. 더 높은 수준의 내결함성을 선호한다면 5개. 노드가 짝수일 경우, 네트워크 세분화 중 클러스터 결함이 발생할 가능성이 있음.
고가용성과 ETCD