3.5. etcd에 대한 데이터베이스 크기 늘리기
각 etcd 인스턴스에 대해 기비바이트(GiB) 단위로 디스크 할당량을 설정할 수 있습니다. etcd 인스턴스에 디스크 할당량을 설정하는 경우 8~32 사이의 정수 값을 지정할 수 있습니다. 기본값은 8입니다. 증가하는 값만 지정할 수 있습니다.
디스크 공간 부족
경고가 발생하면 디스크 할당량을 늘리는 것이 좋습니다. 이 경고는 자동 압축 및 조각 모음에도 불구하고 클러스터가 너무 커서 etcd에 맞지 않음을 나타냅니다. 이 경고가 표시되면 디스크 할당량을 즉시 늘려야 합니다. etcd에서 공간이 부족해지면 쓰기가 실패하기 때문입니다.
디스크 할당량을 늘려야 할 또 다른 상황은 과도한 데이터베이스 증가
경고가 발생하는 경우입니다. 이 경고는 다음 4시간 동안 데이터베이스가 너무 커질 수 있다는 경고입니다. 이런 경우 디스크 할당량을 늘리는 것을 고려해 보세요. 그러면 결국 공간 부족
경고가 발생하고 쓰기가 실패할 가능성이 있습니다.
디스크 할당량을 늘리면 지정한 디스크 공간이 즉시 예약되지 않습니다. 대신 필요한 경우 etcd를 해당 크기로 확장할 수 있습니다. etcd가 디스크 할당량에 지정한 값보다 큰 전용 디스크에서 실행 중인지 확인하세요.
대규모 etcd 데이터베이스의 경우 제어 평면 노드에는 추가 메모리와 스토리지가 필요합니다. API 서버 캐시를 고려해야 하므로 필요한 최소 메모리는 etcd 데이터베이스의 구성된 크기의 최소 3배입니다.
etcd의 데이터베이스 크기를 늘리는 것은 기술 미리 보기 기능에만 해당됩니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
3.5.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 포드가 작동 중인지 확인하세요.
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 Pod의 디스크 할당량 값이 업데이트되었는지 확인하세요.
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.5.2. 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
etcd의 데이터베이스 크기를 늘리려고 할 때 문제가 발생하면 다음 문제 해결 단계가 도움이 될 수 있습니다.
3.5.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.5.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.5.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
보다 큰 정수를 지정하세요.