문서 메뉴
문서 홈
/
MongoDB Enterprise Kubernetes 연산자
/ /

1개의 데이터베이스 리소스에 맞게 스토리지 크기 조정

이 페이지의 내용

  • 전제 조건
  • 절차

StorageClass 가 및 볼륨 플러그인 제공자가 use는 크기 조정을 지원합니다.

kubectl patch storageclass/<my-storageclass> --type='json' \
-p='[{"op": "add", "path": "/allowVolumeExpansion", "value": true }]'

크기 조정을 지원하는 StorageClass가 없는 경우 Kubernetes 관리자에게 도움을 요청하세요.

1

기존 데이터베이스 리소스를 사용하거나 영구 저장으로 새 데이터베이스 리소스를 만듭니다. 영구 볼륨이 Running 상태가 될 때까지 기다립니다.

예제

영구 저장이 있는 데이터베이스 리소스에는 다음이 포함됩니다.

1apiVersion: mongodb.com/v1
2kind: MongoDB
3metadata:
4 name: <my-replica-set>
5spec:
6 members: 3
7 version: "4.4.0"
8 project: my-project
9 credentials: my-credentials
10 type: ReplicaSet
11 podSpec:
12 persistence:
13 single:
14 storage: "1Gi"
2
  1. Kubernetes 클러스터에서 mongo 을(를) 시작합니다.

    $kubectl exec -it <my-replica-set>-0 \
    /var/lib/mongodb-mms-automation/mongodb-linux-x86_64-4.4.0/bin/mongo
  2. test 데이터베이스에 데이터를 삽입합니다.

    <my-replica-set>:PRIMARY> use test
    switched to db test
    <my-replica-set>:PRIMARY> db.tmp.insertOne({"foo":"bar"})
    {
    "acknowledged" : true,
    "insertedId" : ObjectId("61128cb4a783c3c57ae5142d")
    }
3

전체 복제본 세트에 대해 다음 명령을 실행합니다.

kubectl patch pvc/"data-<my-replica-set>-0" -p='{"spec": {"resources": {"requests": {"storage": "2Gi"}}}}'
kubectl patch pvc/"data-<my-replica-set>-1" -p='{"spec": {"resources": {"requests": {"storage": "2Gi"}}}}'
kubectl patch pvc/"data-<my-replica-set>-2" -p='{"spec": {"resources": {"requests": {"storage": "2Gi"}}}}'

영구 볼륨 클레임 이 발생할 때까지 기다립니다. 다음과 같은 조건에 도달합니다.

- lastProbeTime: null
lastTransitionTime: "2019-08-01T12:11:39Z"
message: Waiting for user to (re-)start a pod to finish file
system resize of volume on node.
status: "True"
type: FileSystemResizePending
4

참고

이 단계에서는 StatefulSet 만. pod는 변경되지 않고 계속 실행됩니다.

StatefulSet 삭제 리소스.

kubectl delete sts --cascade=false <my-replica-set>
5
  1. 디스크 크기를 업데이트합니다. 원하는 텍스트 편집기를 열고 다음 예시와 유사하게 변경합니다.

    예제

    복제본 세트의 디스크 크기를 2GB로 업데이트하려면 데이터베이스 리소스 사양에서 storage 값을 변경합니다.

    1apiVersion: mongodb.com/v1
    2kind: MongoDB
    3metadata:
    4 name: <my-replica-set>
    5spec:
    6 members: 3
    7 version: "4.4.0"
    8 project: my-project
    9 credentials: my-credentials
    10 type: ReplicaSet
    11 podSpec:
    12 persistence:
    13 single:
    14 storage: "2Gi"
  2. StatefulSet 다시 만들기 리소스를 새 볼륨 크기로 변경합니다.

    kubectl apply -f my-replica-set-vol.yaml
  3. 이 StatefulSet가 Running 상태를 달성할 때까지 기다립니다.

6

다음 명령을 실행합니다.

kubectl rollout restart sts <my-replica-set>

새 pod는 크기가 조정된 볼륨을 마운트합니다.

7

영구 볼륨 이 단계 에서 삽입한 데이터는 Persistent 2 Volumes 에 저장된 데이터베이스에서 찾을 수 있습니다.:

$ kubectl exec -it <my-replica-set>-1 \
/var/lib/mongodb-mms-automation/mongodb-linux-x86_64-4.4.0/bin/mongo
<my-replica-set>:PRIMARY> use test
switched to db test
<my-replica-set>:PRIMARY> db.tmp.count()
1

돌아가기

배포서버 확장

이 페이지의 내용