2장. etcd 관련 권장 사례
다음 문서에서는 etcd에 권장되는 성능 및 확장성 관행에 대한 정보를 제공합니다.
2.1. etcd에 대한 저장 관행 링크 복사링크가 클립보드에 복사되었습니다!
etcd는 디스크에 데이터를 쓰고 제안을 디스크에 저장하므로 성능은 디스크 성능에 따라 달라집니다. etcd는 특별히 I/O를 많이 사용하지는 않지만 최적의 성능과 안정성을 위해 저지연 블록 장치가 필요합니다. etcd의 합의 프로토콜은 메타데이터를 로그(WAL)에 지속적으로 저장하는 데 의존하므로 etcd는 디스크 쓰기 지연에 민감합니다. 디스크가 느리거나 다른 프로세스에서 디스크 활동이 발생하면 fsync 대기 시간이 길어질 수 있습니다.
이러한 지연 시간으로 인해 etcd가 하트비트를 놓치고, 새로운 제안을 제때 디스크에 커밋하지 못하고, 궁극적으로 요청 시간 초과와 일시적인 리더 손실을 경험할 수 있습니다. 쓰기 대기 시간이 길어지면 OpenShift API 속도가 느려서 클러스터 성능에 영향을 미칩니다. 이러한 이유로 I/O에 민감하거나 집약적이며 동일한 기본 I/O 인프라를 공유하는 제어 평면 노드에 다른 작업 부하를 함께 배치하지 마십시오.
fdatasync를 포함하여 10ms 이내에 8KB의 50 IOPS 이상을 순차적으로 쓸 수 있는 블록 장치에서 etcd를 실행합니다. 부하가 심한 클러스터의 경우 8000바이트(2ms)의 연속 500 IOPS가 권장됩니다. 이러한 숫자를 측정하려면 fio
명령과 같은 벤치마킹 도구를 사용할 수 있습니다.
이러한 성능을 달성하려면 낮은 지연 시간과 높은 처리량을 제공하는 SSD 또는 NVMe 디스크로 지원되는 머신에서 etcd를 실행하세요. 메모리 셀 당 1비트를 제공하고 내구성과 안정성이 뛰어나며 쓰기 작업이 많은 작업에 적합한 SLC(Single-Level Cell) 솔리드 스테이트 드라이브(SSD)를 생각해 보세요.
etcd의 부하는 노드와 Pod 수와 같은 정적 요소와 Pod 자동 확장, Pod 재시작, 작업 실행 및 기타 작업 관련 이벤트로 인한 엔드포인트 변경을 포함한 동적 요소로 인해 발생합니다. etcd 설정의 크기를 정확하게 조정하려면 워크로드의 특정 요구 사항을 분석해야 합니다. etcd의 부하에 영향을 미치는 노드, 포드 및 기타 관련 요소의 수를 고려하세요.
다음 하드 드라이브 관행은 최적의 etcd 성능을 제공합니다.
- 전용 etcd 드라이브를 사용합니다. iSCSI와 같이 네트워크를 통해 통신하는 드라이브는 사용하지 마세요. etcd 드라이브에 로그 파일이나 기타 무거운 작업 부하를 두지 마세요.
- 빠른 읽기 및 쓰기 작업을 지원하려면 대기 시간이 짧은 드라이브를 선호합니다.
- 더 빠른 압축 및 조각 모음을 위해 고대역폭 쓰기를 선호합니다.
- 장애 발생 시 빠른 복구를 위해 고대역폭 읽기를 선호합니다.
- 최소한으로 솔리드 스테이트 드라이브를 선택하세요. 프로덕션 환경에서는 NVMe 드라이브를 선호합니다.
- 안정성을 높이려면 서버급 하드웨어를 사용하세요.
- NAS 또는 SAN 설정 및 회전 드라이브를 방지합니다. Ceph Rados Block Device(RBD) 및 기타 유형의 네트워크 연결 스토리지는 예측할 수 없는 네트워크 지연을 초래할 수 있습니다. 대규모로 etcd 노드에 빠른 스토리지를 제공하려면 PCI 패스스루를 사용하여 NVM 장치를 노드에 직접 전달합니다.
-
fio
와 같은 유틸리티를 사용하여 항상 벤치마크를 실시하세요. 이러한 유틸리티를 사용하면 클러스터 성능이 향상되는 것을 지속적으로 모니터링할 수 있습니다. - NFS(네트워크 파일 시스템) 프로토콜이나 기타 네트워크 기반 파일 시스템을 사용하지 마세요.
배포된 OpenShift Container Platform 클러스터에서 모니터링할 몇 가지 주요 지표는 etcd 디스크 쓰기 전 로그 기간과 etcd 리더 변경 횟수입니다. 이러한 지표를 추적하려면 Prometheus를 사용하십시오.
일반 작업 중에 클러스터 내의 etcd 멤버 데이터베이스 크기가 달라질 수 있습니다. 리더 크기가 다른 멤버와 다르더라도 이러한 차이는 클러스터 업그레이드에 영향을 미치지 않습니다.