Git Product home page Git Product logo

Comments (5)

yetone avatar yetone commented on July 23, 2024

First, you should check the PVC status:

kubectl -n yatai-system get pvc

If pvc are pending or failed, you should describe the PVC to get the reseaon:

kubectl -n yatai-system describe pvc $pvcName

Maybe you don't have any storageclass in your cluster or you do not have any storageclass provisioner

refs: https://kubernetes.io/docs/concepts/storage/dynamic-provisioning/

from yatai.

bobmayuze avatar bobmayuze commented on July 23, 2024

I tried to describe the pvc and found out this

kubectl -n yatai-system get pvc
NAME                              STATUS    VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
data-postgresql-ha-postgresql-0   Pending                                      gp2            13h
data-postgresql-ha-postgresql-1   Pending                                      gp2            13h
data-postgresql-ha-postgresql-2   Pending                                      gp2            13h

and to get a further detailed description, i did k -n yatai-system describe pvc data-postgresql-ha-postgresql-0 and got this

Name:          data-postgresql-ha-postgresql-0
Namespace:     yatai-system
StorageClass:  gp2
Status:        Pending
Volume:
Labels:        app.kubernetes.io/component=postgresql
               app.kubernetes.io/instance=postgresql-ha
               app.kubernetes.io/name=postgresql-ha
Annotations:   volume.beta.kubernetes.io/storage-provisioner: ebs.csi.aws.com
               volume.kubernetes.io/selected-node: ip-172-31-21-121.ec2.internal
               volume.kubernetes.io/storage-provisioner: ebs.csi.aws.com
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode:    Filesystem
Used By:       postgresql-ha-postgresql-0
Events:
  Type    Reason                Age                     From                         Message
  ----    ------                ----                    ----                         -------
  Normal  ExternalProvisioning  3m25s (x3203 over 13h)  persistentvolume-controller  waiting for a volume to be created, either by external provisioner "ebs.csi.aws.com" or manually created by system administrator

So I went to describe the storage class gp2, and got this

$ k describe storageclass gp2
Name:            gp2
IsDefaultClass:  Yes
Annotations:     kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"},"name":"gp2"},"parameters":{"fsType":"ext4","type":"gp2"},"provisioner":"kubernetes.io/aws-ebs","volumeBindingMode":"WaitForFirstConsumer"}
,storageclass.kubernetes.io/is-default-class=true
Provisioner:           kubernetes.io/aws-ebs
Parameters:            fsType=ext4,type=gp2
AllowVolumeExpansion:  <unset>
MountOptions:          <none>
ReclaimPolicy:         Delete
VolumeBindingMode:     WaitForFirstConsumer
Events:                <none>

Any guidance on creating the storage class here? This part was not mentioned in the installation doc

from yatai.

yetone avatar yetone commented on July 23, 2024

You should follow this AWS official documentation to setup the CSI driver on EKS and enable OIDC IAM in existing EKS Cluster

https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html
https://stackoverflow.com/a/68725742

from yatai.

bobmayuze avatar bobmayuze commented on July 23, 2024

it worked, but I have to re-install yatai after the ebs-csi driver has been configured

from yatai.

yetone avatar yetone commented on July 23, 2024

@bobmayuze It is not necessary to reinstall, but to recreate the pvc before it is recognized by volume provisioner

from yatai.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.