VPC: Configuración de direcciones IP autorizadas para IBM Cloud Object Storage
Nube privada virtual
Puede autorizar a las direcciones IP de origen de punto final de servicio de nube de VPC a que accedan a su grupo de IBM Cloud Object Storage. Cuando configure direcciones IP autorizadas, solo podrá acceder a los datos de grupo desde dichas direcciones IP; por ejemplo, en un pod de app.
- Permisos mínimos necesarios
- Rol de acceso al servicio de Gestor para el servicio Red Hat OpenShift on IBM Cloud.
- Rol de acceso al servicio de Escritor para el servicio IBM Cloud Object Storage.
-
Siga las instrucciones para instalar el plugin de Helm
ibmc. Asegúrese de instalaribm-object-storage-pluginy de configurar la opciónbucketAccessPolicyentrue. -
Cree una credencial de servicio HMAC de
Managery una credencial de servicio HMAC deWriterpara la instancia de IBM Cloud Object Storage. -
Codifique la
apikeydesde sus credenciales de Gestor de IBM Cloud Object Storage en base64.echo -n "<cos_manager_apikey>" | base64 -
Codifique
access-keyysecret-keydesde sus credenciales de Escritor de IBM Cloud Object Storage en base64.echo -n "<cos_writer_access-key>" | base64 echo -n "<cos_writer_secret-key>" | base64 -
Cree un archivo de configuración secreto con los valores que ha codificado. Para
access-keyysecret-key, especifiqueaccess-keycodificada en base64 ysecret-keyde las credenciales de HMAC de Escritor que ha creado. Parares-conf-apikey, especifique laapikeycodificada en base64 de las credenciales de HMAC de Gestor.apiVersion: v1 kind: Secret metadata: name: <secret_name> type: ibm/ibmc-s3fs data: access-key: # Enter your base64 encoded COS Writer access-key secret-key: # Enter your base64 encoded COS Writer secret-key res-conf-apikey: # Enter your base64 encoded COS Manager api-key -
Cree el secreto en el clúster.
oc create -f secret.yaml -
Verifique que se ha creado el secreto.
oc get secrets -
Cree una PVC que utilice el secreto que ha creado. Establezca las anotaciones
ibm.io/auto-create-bucket: "true"eibm.io/auto_cache: "true"para crear automáticamente un grupo que almacene sus datos en memoria caché.kind: PersistentVolumeClaim apiVersion: v1 metadata: name: <pvc_name> annotations: ibm.io/auto-create-bucket: "true" ibm.io/auto-delete-bucket: "false" ibm.io/auto_cache: "true" ibm.io/bucket: "<bucket_name>" ibm.io/secret-name: "<secret_name>" ibm.io/secret-namespace: "<secret-namespace>" # By default, the COS plug-in searches for your secret in the same namespace where you create the PVC. If you created your secret in a namespace other than the namespace where you want to create your PVC, enter the namespace where you created your secret. spec: accessModes: - ReadWriteMany resources: requests: storage: 8Gi storageClassName: ibmc-s3fs-standard-regional volumeMode: Filesystem -
Obtenga una lista de las direcciones IP de origen de punto final de servicio de nube de la VPC.
-
Obtenga una lista de sus VPC.
ibmcloud is vpcs -
Obtenga los detalles de la VPC y anote las direcciones IP de origen del punto final de servicio en la nube.
ibmcloud is vpc <vpc_ID>Salida de ejemplo
... Cloud Service Endpoint source IP addresses: Zone Address us-south-1 10.249.XXX.XX us-south-2 10.249.XXX.XX us-south-3 10.249.XXX.XX
-
-
Verifique que las direcciones IP de origen de punto final de servicio de nube de la VPC están autorizadas en el grupo de IBM Cloud Object Storage.
-
En la lista de recursos de IBM Cloud Object Storage, seleccione la instancia de IBM Cloud Object Storage y seleccione el grupo que ha especificado en la PVC.
-
Seleccione Políticas de acceso > IP autorizadas y verifique que se muestran las direcciones IP de origen de punto final de servicio de nube de la VPC.
No puede leer ni escribir en el grupo desde la consola. Solo puede acceder al grupo desde dentro de un pod de app en el clúster.
-
Cree un YAML de despliegue que haga referencia a la PVC que ha creado.
-
Cree la app en el clúster.
oc create -f app.yaml
- Verifique que el pod de la app está
Running.
oc get pods | grep <app_name>
-
Verifique que el volumen está montado y que puede leer y escribir en el grupo de COS.
-
Inicie una sesión en el pod de app.
oc exec -it <pod_name> bash -
Verifique que el grupo de COS está montado desde el pod de app y que puede leer y escribir en el grupo de COS. Ejecute el mandato
df(disk free) para ver los discos disponibles en el sistema. El grupo de COS muestra el tipo de sistema de archivoss3fsy la vía de acceso de montaje que ha especificado en la PVC.dfEn este ejemplo, el grupo de COS está montado en
/cos-vpc.Filesystem 1K-blocks Used Available Use% Mounted on overlay 102048096 9071556 87786140 10% / tmpfs 65536 0 65536 0% /dev tmpfs 7565792 0 7565792 0% /sys/fs/cgroup shm 65536 0 65536 0% /dev/shm /dev/vda2 102048096 9071556 87786140 10% /etc/hosts s3fs 274877906944 0 274877906944 0% /cos-vpc tmpfs 7565792 44 7565748 1% /run/secrets/kubernetes.io/serviceaccount tmpfs 7565792 0 7565792 0% /proc/acpi tmpfs 7565792 0 7565792 0% /proc/scsi tmpfs 7565792 0 7565792 0% /sys/firmware -
Cambie al directorio donde está montado el grupo de COS. En este ejemplo, el grupo está montado en
/cos-vpc.cd cos-vpc -
Escriba un archivo
test.txten el grupo de COS y obtenga una lista de los archivos para verificar que el archivo se ha escrito.touch test.txt && ls -
Elimine el archivo y cierre la sesión del pod de la app.
rm test.txt && exit