3.10. etcd의 데이터베이스 크기 증가
각 etcd 인스턴스에 대해 디스크 할당량을 기가바이트(GiB)로 설정할 수 있습니다. etcd 인스턴스의 디스크 할당량을 설정하는 경우 8에서 32로 정수 값을 지정할 수 있습니다. 기본값은 8입니다. 증가하는 값만 지정할 수 있습니다.
공간 부족
경고가 발생하면 디스크 할당량을 늘릴 수 있습니다. 이 경고는 자동 압축 및 조각 모음에도 불구하고 클러스터가 etcd에 너무 커서 있음을 나타냅니다. 이 경고가 표시되면 etcd가 공간이 부족하면 쓰기가 실패하기 때문에 즉시 디스크 할당량을 늘려야 합니다.
디스크 할당량을 늘릴 수 있는 또 다른 시나리오는 과도한 데이터베이스 증가
경고가 발생하는 경우입니다. 이 경고는 다음 4시간 동안 데이터베이스가 너무 커질 수 있다는 경고입니다. 이 시나리오에서는 결국 낮은 공간
경고가 발생하지 않고 쓰기가 실패할 수 있도록 디스크 할당량을 늘리는 것이 좋습니다.
디스크 할당량을 늘리면 지정한 디스크 공간이 즉시 예약되지 않습니다. 대신 필요한 경우 etcd를 해당 크기로 확장할 수 있습니다. etcd가 디스크 할당량에 지정된 값보다 큰 전용 디스크에서 실행되고 있는지 확인합니다.
대규모 etcd 데이터베이스의 경우 컨트롤 플레인 노드에 추가 메모리 및 스토리지가 있어야 합니다. API 서버 캐시를 고려해야 하므로 필요한 최소 메모리는 etcd 데이터베이스의 구성된 크기의 세 배 이상입니다.
etcd의 데이터베이스 크기를 늘리는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
3.10.1. etcd 데이터베이스 크기 변경 링크 복사링크가 클립보드에 복사되었습니다!
etcd의 데이터베이스 크기를 변경하려면 다음 단계를 완료합니다.
프로세스
다음 명령을 입력하여 각 etcd 인스턴스의 디스크 할당량의 현재 값을 확인합니다.
oc describe etcd/cluster | grep "Backend Quota"
$ oc describe etcd/cluster | grep "Backend Quota"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Backend Quota Gi B: <value>
Backend Quota Gi B: <value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 디스크 할당량 값을 변경합니다.
oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": <value>}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": <value>}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
etcd.operator.openshift.io/cluster patched
etcd.operator.openshift.io/cluster patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 입력하여 디스크 할당량의 새 값이 설정되었는지 확인합니다.
oc describe etcd/cluster | grep "Backend Quota"
$ oc describe etcd/cluster | grep "Backend Quota"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd Operator는 새 값으로 etcd 인스턴스를 자동으로 롤아웃합니다.
다음 명령을 입력하여 etcd pod가 실행 중인지 확인합니다.
oc get pods -n openshift-etcd
$ oc get pods -n openshift-etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 출력에서는 예상된 항목을 보여줍니다.
출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 etcd 포드에 대한 디스크 할당량 값이 업데이트되었는지 확인합니다.
oc describe -n openshift-etcd pod/<etcd_podname> | grep "ETCD_QUOTA_BACKEND_BYTES"
$ oc describe -n openshift-etcd pod/<etcd_podname> | grep "ETCD_QUOTA_BACKEND_BYTES"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 값은 기본값인
8
에서 변경되지 않을 수 있습니다.출력 예
ETCD_QUOTA_BACKEND_BYTES: 8589934592
ETCD_QUOTA_BACKEND_BYTES: 8589934592
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고설정한 값은 GiB 단위의 정수이지만 출력에 표시된 값은 바이트로 변환됩니다.
3.10.2. 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
etcd의 데이터베이스 크기를 늘리려고 할 때 문제가 발생하면 다음 문제 해결 단계가 도움이 될 수 있습니다.
3.10.2.1. 값이 너무 작음 링크 복사링크가 클립보드에 복사되었습니다!
지정한 값이 8
보다 작으면 다음과 같은 오류 메시지가 표시됩니다.
oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 5}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 5}}'
오류 메시지의 예
The Etcd "cluster" is invalid: * spec.backendQuotaGiB: Invalid value: 5: spec.backendQuotaGiB in body should be greater than or equal to 8 * spec.backendQuotaGiB: Invalid value: "integer": etcd backendQuotaGiB may not be decreased
The Etcd "cluster" is invalid:
* spec.backendQuotaGiB: Invalid value: 5: spec.backendQuotaGiB in body should be greater than or equal to 8
* spec.backendQuotaGiB: Invalid value: "integer": etcd backendQuotaGiB may not be decreased
이 문제를 해결하려면 8
에서 32
사이의 정수를 지정합니다.
3.10.2.2. 값이 너무 큽니다 링크 복사링크가 클립보드에 복사되었습니다!
지정한 값이 32
보다 크면 다음과 같은 오류 메시지가 표시됩니다.
oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 64}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 64}}'
오류 메시지의 예
The Etcd "cluster" is invalid: spec.backendQuotaGiB: Invalid value: 64: spec.backendQuotaGiB in body should be less than or equal to 32
The Etcd "cluster" is invalid: spec.backendQuotaGiB: Invalid value: 64: spec.backendQuotaGiB in body should be less than or equal to 32
이 문제를 해결하려면 8
에서 32
사이의 정수를 지정합니다.
3.10.2.3. 값이 감소 링크 복사링크가 클립보드에 복사되었습니다!
값이 8
에서 32
사이의 유효한 값으로 설정된 경우 값을 줄일 수 없습니다. 그렇지 않으면 오류 메시지가 표시됩니다.
다음 명령을 입력하여 현재 값을 확인합니다.
oc describe etcd/cluster | grep "Backend Quota"
$ oc describe etcd/cluster | grep "Backend Quota"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Backend Quota Gi B: 10
Backend Quota Gi B: 10
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 디스크 할당량 값을 줄입니다.
oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 8}}'
$ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 8}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 오류 메시지의 예
The Etcd "cluster" is invalid: spec.backendQuotaGiB: Invalid value: "integer": etcd backendQuotaGiB may not be decreased
The Etcd "cluster" is invalid: spec.backendQuotaGiB: Invalid value: "integer": etcd backendQuotaGiB may not be decreased
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
이 문제를 해결하려면
10
보다 큰 정수를 지정합니다.