IBM Cloud Object Storage с кластером VPC

Я следовал этому руководству, чтобы добавить объектное хранилище IBM Cloud в свой кластер.

Хотя я заставил его работать со стандартным кластером, у меня возникают проблемы при попытке подключить COS к кластеру VPC. (Ни одно хранилище объектов, ни кластер. Две совершенно разные среды)

Я включил VRF (и он был одобрен), и я создал свой собственный класс хранилища с конечной точкой s3.direct.

Однако похоже, что класс хранилища не может предоставить объем. Я получаю ошибку от TokenManagerRetrieveError: ошибка при получении токена. Мне не удалось найти никакой документации по этому делу. Я проверил токены IAM в аккаунтах, и они на месте. Вот события из следующей команды. См. Особенно второй абзац.

Вот созданный мной класс хранения:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cos-vpc
  namespace: default
parameters:    
  ibm.io/chunk-size-mb: "16"
  ibm.io/curl-debug: "false"
  ibm.io/debug-level: "warn"
  ibm.io/iam-endpoint: "https://iam.bluemix.net"
  ibm.io/kernel-cache: "true"
  ibm.io/multireq-max: "20"
  ibm.io/object-store-endpoint: "https://s3.direct.eu-de.cloud-object-storage.appdomain.cloud"
  ibm.io/object-store-storage-class: eu-de-standard
  ibm.io/parallel-count: "2"
  ibm.io/s3fs-fuse-retry-count: "5"
  ibm.io/stat-cache-size: "100000"
  ibm.io/tls-cipher-suite: AESGCM
provisioner: "ibm.io/ibmc-s3fs"
reclaimPolicy: Delete
volumeBindingMode: Immediate

А вот и пвх:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: hasher-java-pvc
  namespace: default
  annotations:
    ibm.io/auto-create-bucket: "false"
    ibm.io/auto-delete-bucket: "false"
    ibm.io/bucket: uia-bucket2
    ibm.io/secret-name: cos-write-access
spec:
  accessModes:
  - "ReadWriteOnce"
  resources:
    requests:
      storage: "13Gi"
  storageClassName: "cos-vpc"

Описание ПВХ.

Name:          hasher-java-pvc
Namespace:     default
StorageClass:  cos-vpc
Status:        Pending
Volume:        
Labels:        <none>
Annotations:   ibm.io/auto-create-bucket: false
               ibm.io/auto-delete-bucket: false
               ibm.io/bucket: uia-bucket2
               ibm.io/secret-name: cos-write-access
               volume.beta.kubernetes.io/storage-provisioner: ibm.io/ibmc-s3fs
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      
Access Modes:  
VolumeMode:    Filesystem
Mounted By:    hasher-java-7c44896747-d5g8q
               hasher-java-7c44896747-gm2m9
               hasher-java-7c44896747-qhrxm
Events:
  Type     Reason                Age                    From                                                                                                  Message
  ----     ------                ----                   ----                                                                                                  -------
  Normal   Provisioning          4m52s (x3 over 5m53s)  ibm.io/ibmc-s3fs_ibmcloud-object-storage-plugin-d76dc998c-5wsx5_0f82cf0d-69e3-11ea-bdd1-2a0e250d0c0b  External provisioner is provisioning volume for claim "default/hasher-java-pvc"
  Warning  ProvisioningFailed    4m22s (x3 over 5m23s)  ibm.io/ibmc-s3fs_ibmcloud-object-storage-plugin-d76dc998c-5wsx5_0f82cf0d-69e3-11ea-bdd1-2a0e250d0c0b  failed to provision volume with StorageClass "cos-vpc": hasher-java-pvc:bppmei1f05qovjlv74vg:cannot access bucket uia-bucket2: TokenManagerRetrieveError: error retrieving the token
  Normal   ExternalProvisioning  12s (x24 over 5m53s)   persistentvolume-controller                                                                           waiting for a volume to be created, either by external provisioner "ibm.io/ibmc-s3fs" or manually created by system administrator

Любая помощь приветствуется.

0 ответов

Этот случай теперь указан в разделе устранения неполадок документации IBM Cloud здесь: https://cloud.ibm.com/docs/containers?topic=containers-cs_troubleshoot_storage#cos_pvc_pending (прокрутите вниз, чтобы найти совпадение для этой ошибки)

Может потребоваться создать секрет для доступа к корзине с использованием учетных данных в стиле HMAC вместо instanceid + IAM AKI key.

Поэтому попробуйте создать учетные данные с ключами HMAC, как описано здесь: https://cloud.ibm.com/docs/containers?topic=containers-object_storage#create_cos_service

Затем посмотрите пример аутентификации HMAC, где в документации объясняется, как создавать секреты:

kubectl create secret generic cos-write-access --type=ibm/ibmc-s3fs --from-literal=access-key=<access_key_ID> --from-literal=secret-key=<secret_access_key>

(Справочный документ: https://cloud.ibm.com/docs/containers?topic=containers-object_storage#create_cos_secret)

Другие вопросы по тегам