programing

쿠베르네테스 마리아드브 갈레라 단일 노드

nicescript 2022. 12. 29. 22:03
반응형

쿠베르네테스 마리아드브 갈레라 단일 노드

클러스터에 galera mariadb를 설치하려고 합니다.노드는 1개뿐이지만 향후 확장할 예정입니다.정상적으로 인스톨 되고 있는 것 같습니다.

도입 시 다음과 같이 표시됩니다.

** Please be patient while the chart is being deployed **
Tip:
  Watch the deployment status using the command:
    kubectl get sts -w --namespace databases -l app.kubernetes.io/instance=galera
and then other things here

상태를 확인하라는 메시지가 표시되지만 상태는 항상 다음과 같습니다.

galera-mariadb-galera   0/1     8m

cubectl description pod / galera - galera - galera - 0 --discription 데이터베이스

Name:           galera-mariadb-galera-0
Namespace:      databases
Priority:       0
Node:           <none>
Labels:         app.kubernetes.io/instance=galera
                app.kubernetes.io/managed-by=Helm
                app.kubernetes.io/name=mariadb-galera
                controller-revision-hash=galera-mariadb-galera-8d5cc8855
                helm.sh/chart=mariadb-galera-5.3.2
                statefulset.kubernetes.io/pod-name=galera-mariadb-galera-0
Annotations:    <none>
Status:         Pending
IP:             
IPs:            <none>
Controlled By:  StatefulSet/galera-mariadb-galera
Containers:
  mariadb-galera:
    Image:       docker.io/bitnami/mariadb-galera:10.5.8-debian-10-r26
    Ports:       3306/TCP, 4567/TCP, 4568/TCP, 4444/TCP
    Host Ports:  0/TCP, 0/TCP, 0/TCP, 0/TCP
    Command:
      bash
      -ec
      exec /opt/bitnami/scripts/mariadb-galera/entrypoint.sh /opt/bitnami/scripts/mariadb-galera/run.sh
      
    Liveness:  exec [bash -ec exec mysqladmin status -u$MARIADB_ROOT_USER -p$MARIADB_ROOT_PASSWORD
] delay=120s timeout=1s period=10s #success=1 #failure=3
    Readiness:  exec [bash -ec exec mysqladmin status -u$MARIADB_ROOT_USER -p$MARIADB_ROOT_PASSWORD
] delay=30s timeout=1s period=10s #success=1 #failure=3
    Environment:
      MY_POD_NAME:                          galera-mariadb-galera-0 (v1:metadata.name)
      BITNAMI_DEBUG:                        false
      MARIADB_GALERA_CLUSTER_NAME:          galera
      MARIADB_GALERA_CLUSTER_ADDRESS:       address-is-here-removed-unsure-if-private
      MARIADB_ROOT_USER:                    root
      MARIADB_ROOT_PASSWORD:                <set to the key 'mariadb-root-password' in secret 'galera-mariadb-galera'>  Optional: false
      MARIADB_USER:                         default-db-user
      MARIADB_PASSWORD:                     <set to the key 'mariadb-password' in secret 'galera-mariadb-galera'>  Optional: false
      MARIADB_DATABASE:                     default-db-name
      MARIADB_GALERA_MARIABACKUP_USER:      mariabackup
      MARIADB_GALERA_MARIABACKUP_PASSWORD:  <set to the key 'mariadb-galera-mariabackup-password' in secret 'galera-mariadb-galera'>  Optional: false
      MARIADB_ENABLE_LDAP:                  no
      MARIADB_ENABLE_TLS:                   no
    Mounts:
      /bitnami/mariadb from data (rw)
      /opt/bitnami/mariadb/.bootstrap from previous-boot (rw)
      /opt/bitnami/mariadb/conf/my.cnf from mariadb-galera-config (rw,path="my.cnf")
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-8qzpx (ro)
Conditions:
  Type           Status
  PodScheduled   False 
Volumes:
  data:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  data-galera-mariadb-galera-0
    ReadOnly:   false
  previous-boot:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:     
    SizeLimit:  <unset>
  mariadb-galera-config:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      galera-mariadb-galera-configuration
    Optional:  false
  default-token-8qzpx:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-8qzpx
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason             Age    From                Message
  ----     ------             ----   ----                -------
  Warning  FailedScheduling   2m23s                      0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims.
  Warning  FailedScheduling   2m23s                      0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims.
  Normal   NotTriggerScaleUp  97s    cluster-autoscaler  pod didn't trigger scale-up (it wouldn't fit if a new node is added):
$: 

문제의 원인을 알 수 없습니다.

이 경우:

kubectl logs pod/galera-mariadb-galera-0  --namespace databases

아무것도 안 보여.

이 경우:

 kubectl get pvc data-galera-mariadb-galera-0 --namespace databases


NAME                           STATUS    VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS       AGE
data-galera-mariadb-galera-0   Pending                                      do-block-storage   70m

cubectl은 pvc data-galera-galera-galera-0 --database를 기술합니다.

Name:          data-galera-mariadb-galera-0
Namespace:     databases
StorageClass:  do-block-storage
Status:        Pending
Volume:        
Labels:        app.kubernetes.io/instance=galera
               app.kubernetes.io/managed-by=Helm
               app.kubernetes.io/name=mariadb-galera
Annotations:   volume.beta.kubernetes.io/storage-provisioner: dobs.csi.digitalocean.com
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      
Access Modes:  
VolumeMode:    Filesystem
Mounted By:    galera-mariadb-galera-0
Events:
  Type     Reason                Age                   From                                                                                           Message
  ----     ------                ----                  ----                                                                                           -------
  Normal   ExternalProvisioning  3m59s (x26 over 10m)  persistentvolume-controller                                                                    waiting for a volume to be created, either by external provisioner "dobs.csi.digitalocean.com" or manually created by system administrator
  Normal   Provisioning          85s (x10 over 10m)    dobs.csi.digitalocean.com_master-cluster-id-here  External provisioner is provisioning volume for claim "databases/data-galera-mariadb-galera-0"
  Warning  ProvisioningFail

위의 문제는 기존 저장소가 너무 많이 열려 있었다는 것입니다.이제 삭제하고 재배치했습니다.

이 글을 투고하다Community Wiki코멘트와 상기의 답변을 전개합니다.

일반적으로.MariaDB이 설치에 필요한 대로 배포할 수 없습니다.PersistentVolumeOP가 클라우드 환경(Digital Ocean)을 사용하는 것처럼 동적 프로비저닝을 사용하여 생성해야 합니다.~하듯이PersistentVolume속박할 수 없는 창조되지 않았다PersistentVolumeClaim,따라서pod에 갇힌Pedning주.

OP가 질문의 맨 아래에 기술한 바와 같이:

위의 문제는 기존 저장소가 너무 많이 열려 있었다는 것입니다.이제 삭제하고 재배치했습니다.

Kubernetes는 다음 이유로 생성할 수 없습니다.DigitalOcean 제한 사항. OP에 따르면 는 하나의 노드를 사용하고 있으며 이미 10개의 저장소가 있습니다.

  • 검증되지 않은 사용자는 지역별로 최대 10개의 볼륨을 보유할 수 있으며 지역별로 총 500GB의 디스크 공간을 보유할 수 있습니다.
  • 기본적으로 사용자는 영역당 최대 100개의 볼륨과 최대 16TiB의 디스크 공간을 생성할 수 있습니다.델의 지원팀에 문의하여 증액을 요청할 수 있습니다.최대 7개의 볼륨을 하나의 노드 또는 Droplet에 연결할 수 있으며 이 제한은 변경할 수 없습니다.
  • PVC 'data-galera-mariadb-galera-0'이 Unbound 상태이기 때문에 Pod는 'Pending' 상태입니다.PVC가 Bound 상태가 되면 POD는 실행 상태가 됩니다.

언급URL : https://stackoverflow.com/questions/65328496/kubernetes-mariadb-galera-single-node

반응형