일반적으로 쿠버네티스에서 최소한의 HA를 보장하기 위한 조건이 마스터 노드 3개, 워커 노드 2개라고 하는데, 마스터 노드가 왜 3개 이상이어야 하는지가 궁금합니다 마스터 노드가 etcd 역할을 수행할 때 데이터베이스의 최소한의 무결성을 보장하기 위한 노드의 수가 3개라는데 무결성을 보장하는 방법이 디스크를 RAID5로 묶는 것과 비슷한 방식인가요? 아니면 RAID1처럼 모든 노드에 동일한 데이터를 분배하는 방식인가요? 만약 이 방식이 맞다면 굳이 2개가 아닌 3개 이상이 최소한의 HA 보장 조건인 이유가 무엇인가요? 최소한의 마스터 노드의 개수가 3개인 것은 etcd에 대한 요구사항이고, control plane과는 전혀 관련이 없는건가요? 그리고 etcd가 무결성을 보장하기 위해 RAFT 알고리즘을 통해 투표로 리더를 선출한다고 하는데, 이 과정은 관리자가 직접 지정하지 않아도 프로그램들이 현재 상태를 참고하여 필요할 때마다 실행하는 방식인가요? 투표로 리더를 선출하기 전에는 명확한 리더가 없는 상태인 것 같은데, 이러한 상태는 leader 노드가 터져야만 발생하는 현상인가요? 마지막으로, mariadb galera 클러스터는 전체 노드를 마스터로써 취급한다고 하는데, etcd에서 이 방식을 사용하지 않는 이유는 효율성을 위해서인가요? 아니면 위에서 말한 리더 중심의 무결성 보장 방식이 더 안정적이기 때문인가요?
-
-
Save kujyp/7639edc9e422130dfa5f3df62454bf7e to your computer and use it in GitHub Desktop.
그리고 galera 클러스터는 말씀하신 것 처럼 애초에 다른 네트워크망에 있는 노드들끼리 묶어놓으라고 만든건 아니었던 것 같네요...
바빠가지고 주말에 시간나면 볼게요~
네 바쁘시면 굳이 이번 주말 아니어도 괜찮아요 나중에 시간 나시면 그때 봐주세요
그리고 chatgpt로 관련 내용 질문하다가 들은 건데, 파일 시스템이 zfs면 zfs 전용 csi 드라이버를 따로 설치해줘야 하는 건가요? 마스터 노드만 zfs로 구성되어 있고 워커 노드는 ext4 파일 시스템 사용중인 상태고, control-plane=NoSchedule 가 zfs 사용중인 노드(마스터)에 taint로 붙어 있어서 pv가 마스터에 생성될 것 같지는 않은데 정확히 뭘 해야 할 지 헷갈리네요
아 맞다 잊고있엇는데
이거 아직 질문 궁금한상탠가요?
답변 ㄱ.ㄱ?
아 맞다 잊고있엇는데 이거 아직 질문 궁금한상탠가요? 답변 ㄱ.ㄱ?
네 아직 해결 못했어요...
일단 pvc 로그를 확인해보니까 지금 스토리지 클래스가 없다고 떠서 hostpath로 생성했는데 helm uninstall로 지우고 다시 설치해봐도 계속 pvc에서는 스토리지 클래스가 없다고 떠요
혹시 저기서 pvc가 말하는 스토리지 클래스가 동적 프로비저닝이 가능한 스토리지 클래스를 말하는건가요? 동적 프로비저닝이 가능한 프로비저너는 전부 gce-pd나 aws-ebs처럼 클라우드에서 사용되는 것 같은데 온프레미스 환경에서 사용 가능한 동적 프로비저너를 못 찾겠어요
아 맞다 잊고있엇는데 이거 아직 질문 궁금한상탠가요? 답변 ㄱ.ㄱ?
방금 해결했어요
솔직히 이게 될 줄은 몰랐는데 netdata pvc랑 같은 이름으로 pv 하나 만들고, pvc 직접 수정해서 pv 할당시키니까 바로 되네요...
근데 온프레미스 환경에서 동적 프로비저닝은 아예 안되는건가요?
그리고 pv는 원래 worker 노드에만 생성되는건가요? 마스터 노드에 no scheduling taint는 제거한 상태인데, 기준이 따로 있는건가요?
방금 해결했어요 솔직히 이게 될 줄은 몰랐는데 netdata pvc랑 같은 이름으로 pv 하나 만들고, pvc 직접 수정해서 pv 할당시키니까 바로 되네요...
와아우 해결했다고해서 끝난줄알앗는데 아래가더잇네요??
마스터 노드에 no scheduling taint는 제거한 상태인데, 기준이 따로 있는건가요?
근데 온프레미스 환경에서 동적 프로비저닝은 아예 안되는건가요?
안찾아봐서 모르겠지만
안되는건없음 ㅋㅋㅋ
온프레미스든 아니든
결국 모든 클라우드도 누군가가 직접 세팅한거임.
그리고 pv는 원래 worker 노드에만 생성되는건가요?
마스터 노드에 no scheduling taint는 제거한 상태인데, 기준이 따로 있는건가요
node 랑 pv 랑 관계없을텐데요?
PV 유형이 node 랑 관련있는 유형을 사용하나본데 일단 그런 세부적인건 다 다름.
kubeadm으로 쿠버네티스를 설치하면 csi 드라이버라는걸 설치해줘야 persistent volume을 사용할 수 있는건가요?
애초에 CSI 는 Container Storage Interface 라서 먼저 고려할사항이아님.
https://kubernetes.io/ko/docs/concepts/storage/persistent-volumes/#%ED%8D%BC%EC%8B%9C%EC%8A%A4%ED%84%B4%ED%8A%B8-%EB%B3%BC%EB%A5%A8%EC%9D%98-%EC%9C%A0%ED%98%95
에서 Persistent Volumes 를 무슨종류로 사용할건지부터 의사결정해야함.
PV 를 뭘로 사용하는지 정해지면 그에 필요한것을 준비하면됨.
네 바쁘시면 굳이 이번 주말 아니어도 괜찮아요 나중에 시간 나시면 그때 봐주세요
그리고 chatgpt로 관련 내용 질문하다가 들은 건데, 파일 시스템이 zfs면 zfs 전용 csi 드라이버를 따로 설치해줘야 하는 건가요?
마스터 노드만 zfs로 구성되어 있고 워커 노드는 ext4 파일 시스템 사용중인 상태고, control-plane=NoSchedule 가 zfs 사용중인 노드(마스터)에 taint로 붙어 있어서 pv가 마스터에 생성될 것 같지는 않은데 정확히 뭘 해야 할 지 헷갈리네요