
나는 4개의 마스터 HA K8S 클러스터를 가지고 있지만(2개의 데이터 센터에 걸쳐, 각 사이트에 2개씩) 2개의 마스터를 종료한 후 kubectl 명령이 작동을 멈춥니다. 이것이 예상된 동작입니까?
데이터 센터 충돌 시 클러스터가 살아남기를 원합니다.
추신: 2개의 HA 프록시 + Keepalived를 사용하고 있습니다.
답변1
나는 당신의 마스터가 etcd 컨테이너를 호스팅할 것이라고 가정합니다. 그렇죠? 그렇다면 이것은 예상되는 것입니다.
확인하다etcd FAQ. 4개 노드 클러스터에는 실제로 1개 멤버의 장애 허용 범위가 있습니다. 2번의 실패를 허용하려면 5명의 멤버가 필요합니다. Kubernetes를 실행하는 데 권장되는 크기는 일반적으로 3입니다.
다중 데이터 센터 배포는 복잡할 수 있습니다. etcd 멤버 간의 대기 시간이 문제가 될 수 있습니다. 이것이 괜찮다면 DC 충돌에서 살아남으려면 3개의 DC가 필요합니다. 그렇지 않으면 개별 클러스터를 설정하고 그 위에 장애 조치/복제를 구현하는 것이 더 좋습니다.