Azure용 GKE의 etcd 문제 해결
이 페이지에서는 Azure용 GKE의 etcd 문제를 해결하는 방법을 설명합니다.
추가 지원이 필요하면 Cloud Customer Care에 연락합니다.etcd 데이터 디스크 가득 참
etcd 데이터 디스크가 가득 차면 다음 오류가 발생하고 여러 다른 방식으로 관찰될 수 있습니다.
etcd 로그에 요청 쓰기에 대한 시간 초과 오류가 표시될 수 있습니다.
rafthttp: failed to save KV snapshot (write /var/etcd/data/member/snap/tmp720030520: no space left on device)
피어 연결에 대한 시간 초과 오류도 표시될 수 있습니다.
rafthttp: health check for peer [peer-id] could not connect: dial tcp [peer-ip]:2380: i/o timeout etcd server doesn't start:
직렬 포트 로그는 공간 부족으로 인해 etcd가 시작될 수 없음을 나타냅니다.
failed on file /dev/stdout (No space left on device)
etcd 인스턴스 크기를 확인하려면 다음 방법 중 하나를 사용합니다.
SSH
SSH를 사용해서 마스터 노드 중 하나에 연결하고 다음 명령어를 실행합니다.
ETCDCTL_API=3 etcdctl --write-out=table endpoint status
DB_SIZE
열은 다음 압축된 출력 예시에 표시된 것처럼 사용된 크기를 나타냅니다.+------------------+------------------+---------+---------+ | ENDPOINT | ID | VERSION | DB SIZE | +------------------+------------------+---------+---------+ | 10.240.0.17:2379 | 4917a7ab173fabe7 | 3.5.0 | 45 kB | | 10.240.0.18:2379 | 59796ba9cd1bcd72 | 3.5.0 | 45 kB | | 10.240.0.19:2379 | 94df724b66343e6c | 3.5.0 | 45 kB | +------------------+------------------+---------+---------+
콘솔
콘솔에서 Cloud Monitoring 페이지로 이동합니다.
측정항목 탐색기를 선택합니다.
metric etcd_mvcc_db_total_size_in_bytes
측정항목을 선택합니다.
이 문제를 해결하려면 스토리지 제공업체 및 운영체제의 적절한 절차에 따라 etcd에 맞게 데이터 디스크 크기를 조절합니다. 이후 etcd 성장을 고려해서 충분한 공간을 추가하세요.
디스크 크기를 조절한 후에도 디스크 공간에 대한 경고가 있는지 확인합니다.
ETCDCTL_API=3 etcdctl alarm list
마지막 열이
NOSPACE
를 보고하면 다음과 같이 알람을 해제합니다.TCDCTL_API=3 etcdctl alarm disarm