3.11. etcd의 데이터베이스 크기 증가
공간이 부족하거나 과도한 증가 경고가 표시되면 etcd 디스크 할당량을 늘립니다. etcd가 공간이 부족하기 전에 할당량을 확장하면 쓰기 실패 및 클러스터 불안정성을 방지할 수 있습니다.
각 etcd 인스턴스에 대해 디스크 할당량을 기가바이트(GiB)로 설정할 수 있습니다. etcd 인스턴스의 디스크 할당량을 설정하는 경우 8에서 32로 정수 값을 지정할 수 있습니다. 기본값은 8입니다. 증가하는 값만 지정할 수 있습니다.
공간 부족 경고가 발생하면 디스크 할당량을 늘릴 수 있습니다. 이 경고는 자동 압축 및 조각 모음에도 불구하고 클러스터가 etcd에 너무 커서 있음을 나타냅니다. 이 경고가 표시되면 etcd가 공간이 부족하면 쓰기가 실패하기 때문에 즉시 디스크 할당량을 늘려야 합니다.
디스크 할당량을 늘릴 수 있는 또 다른 시나리오는 과도한 데이터베이스 증가 경고가 발생하는 경우입니다. 이 경고는 다음 4시간 동안 데이터베이스가 너무 커질 수 있다는 경고입니다. 이 시나리오에서는 결국 낮은 공간 경고가 발생하지 않고 쓰기가 실패할 수 있도록 디스크 할당량을 늘리는 것이 좋습니다.
디스크 할당량을 늘리면 지정한 디스크 공간이 즉시 예약되지 않습니다. 대신 필요한 경우 etcd를 해당 크기로 확장할 수 있습니다. etcd가 디스크 할당량에 지정된 값보다 큰 전용 디스크에서 실행되고 있는지 확인합니다.
대규모 etcd 데이터베이스의 경우 컨트롤 플레인 노드에 추가 메모리 및 스토리지가 있어야 합니다. API 서버 캐시를 고려해야 하므로 필요한 최소 메모리는 etcd 데이터베이스의 구성된 크기의 세 배 이상입니다.
etcd의 데이터베이스 크기를 늘리는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
프로세스
다음 명령을 입력하여 각 etcd 인스턴스의 디스크 할당량의 현재 값을 확인합니다.
$ oc describe etcd/cluster | grep "Backend Quota"출력 예
Backend Quota Gi B: <value>다음 명령을 입력하여 디스크 할당량 값을 변경합니다.
$ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": <value>}}'출력 예
etcd.operator.openshift.io/cluster patched
검증
다음 명령을 입력하여 디스크 할당량의 새 값이 설정되었는지 확인합니다.
$ oc describe etcd/cluster | grep "Backend Quota"etcd Operator는 새 값으로 etcd 인스턴스를 자동으로 롤아웃합니다.
다음 명령을 입력하여 etcd pod가 실행 중인지 확인합니다.
$ oc get pods -n openshift-etcd다음 출력에서는 예상된 항목을 보여줍니다.
출력 예
NAME READY STATUS RESTARTS AGE etcd-ci-ln-b6kfsw2-72292-mzwbq-master-0 4/4 Running 0 39m etcd-ci-ln-b6kfsw2-72292-mzwbq-master-1 4/4 Running 0 37m etcd-ci-ln-b6kfsw2-72292-mzwbq-master-2 4/4 Running 0 41m etcd-guard-ci-ln-b6kfsw2-72292-mzwbq-master-0 1/1 Running 0 51m etcd-guard-ci-ln-b6kfsw2-72292-mzwbq-master-1 1/1 Running 0 49m etcd-guard-ci-ln-b6kfsw2-72292-mzwbq-master-2 1/1 Running 0 54m installer-5-ci-ln-b6kfsw2-72292-mzwbq-master-1 0/1 Completed 0 51m installer-7-ci-ln-b6kfsw2-72292-mzwbq-master-0 0/1 Completed 0 46m installer-7-ci-ln-b6kfsw2-72292-mzwbq-master-1 0/1 Completed 0 44m installer-7-ci-ln-b6kfsw2-72292-mzwbq-master-2 0/1 Completed 0 49m installer-8-ci-ln-b6kfsw2-72292-mzwbq-master-0 0/1 Completed 0 40m installer-8-ci-ln-b6kfsw2-72292-mzwbq-master-1 0/1 Completed 0 38m installer-8-ci-ln-b6kfsw2-72292-mzwbq-master-2 0/1 Completed 0 42m revision-pruner-7-ci-ln-b6kfsw2-72292-mzwbq-master-0 0/1 Completed 0 43m revision-pruner-7-ci-ln-b6kfsw2-72292-mzwbq-master-1 0/1 Completed 0 43m revision-pruner-7-ci-ln-b6kfsw2-72292-mzwbq-master-2 0/1 Completed 0 43m revision-pruner-8-ci-ln-b6kfsw2-72292-mzwbq-master-0 0/1 Completed 0 42m revision-pruner-8-ci-ln-b6kfsw2-72292-mzwbq-master-1 0/1 Completed 0 42m revision-pruner-8-ci-ln-b6kfsw2-72292-mzwbq-master-2 0/1 Completed 0 42m다음 명령을 입력하여 etcd 포드에 대한 디스크 할당량 값이 업데이트되었는지 확인합니다.
$ oc describe -n openshift-etcd pod/<etcd_podname> | grep "ETCD_QUOTA_BACKEND_BYTES"이 값은 기본값인
8에서 변경되지 않을 수 있습니다.출력 예
ETCD_QUOTA_BACKEND_BYTES: 8589934592참고설정한 값은 GiB 단위의 정수이지만 출력에 표시된 값은 바이트로 변환됩니다.