반응형
-
kubespray "assertion: groups.etcd | length is not divvisibleby 2" 에러
kubespray 설치 후 ansible-playbook 명령어로 k8s 설치 진행 시 "assertion: groups.etcd | length is not divisibleby 2" 에러가 발생할 수 있습니다.
해당 에러는 아래 이미지와 같이 inventory.ini 파일에 지정한 etcd가 짝수인 경우에 발생할 수 있습니다.
이 에러를 해결하기 위해선 etcd를 홀수로 늘리기 위해 노드를 추가하거나, -e ignore_assert_errors=yes 옵션을 추가하여 해결할 수 있습니다. 저같은 경우 테스트용이기도 하고 노드를 더이상 추가 하기가 힘들어서 -e ignore_assert_errors=yes 옵션을 이용하여 해결 후 설치까지 확인 했습니다.
# ex
ansible-playbook -i kubespray/inventory/cluster/inventory.ini \
-v --become --become-user=root kubespray/cluster.yml -e ignore_assert_errors=yes
-
etcd는 홀수로 사용하는것을 권장 합니다.
짝수로 사용할 경우 스플릿 브레인(Split Brain) 현상이 발생하여 네트워크 단절로 인한 통신 장애 등 문제가 발생할 여지가 존재 합니다. 이러한 이유로 실제 서비스 환경에서는 etcd 클러스터를 홀수로 사용하는것이 좋습니다.
참고 사이트 : https://github.com/etcd-io/etcd/blob/master/Documentation/faq.md#what-is-failure-tolerance
반응형
'Container > Kubernetes' 카테고리의 다른 글
[Kubernetes] 쿠버네티스 cordon,drain,PDB 개념과 정리 (k8s Poddisruptionbudget) (9) | 2020.04.16 |
---|---|
[Kubernetes] 쿠버네티스 HPA 개념과 구성 (HorizontalPodAutoscaler, 오토스케일러) (1) | 2020.04.10 |
[Kubernetes] 쿠버네티스 볼륨 개념 2편 (PersistentVolume, PersistentVolumeClaim) (2) | 2020.03.06 |
[Kubernetes] 쿠버네티스 볼륨 개념 1편 (emptryDir, hostPath) (4) | 2020.03.06 |
[Kubernetes] 쿠버네티스 RBAC-클러스터롤바인딩(clusterrolebinding) 개념 및 설정 (1) | 2020.03.05 |