VPC : Configuration des adresses IP autorisées pour IBM Cloud Object Storage
Cloud privé virtuel
Vous pouvez autoriser les adresses IP source de noeud final de service cloud VPC à accéder à votre compartiment IBM Cloud Object Storage. Lorsque vous configurez des adresses IP autorisées, vous ne pouvez accéder à vos données de compartiment qu'à partir de ces adresses IP, par exemple, dans un pod d'application.
- Droits minimaux requis
- Rôle d'accès au service Responsable sur le service Red Hat OpenShift on IBM Cloud.
- Rôle d'accès au service Auteur sur le service IBM Cloud Object Storage.
-
Suivez les instructions d'installation du plug-in
ibmcHelm. Veillez à installeribm-object-storage-pluginet à définir l'optionbucketAccessPolicysurtrue. -
Créez une donnée d'identification de service HMAC
Manageret une donnée d'identification de service HMACWriterpour votre instance IBM Cloud Object Storage. -
Codez en base64 la valeur
apikeydes données d'identification Responsable d'IBM Cloud Object Storage.echo -n "<cos_manager_apikey>" | base64 -
Codez en base64 les valeurs
access-keyetsecret-keydes données d'identification Auteur d'IBM Cloud Object Storage.echo -n "<cos_writer_access-key>" | base64 echo -n "<cos_writer_secret-key>" | base64 -
Créez un fichier de configuration de secret avec les valeurs que vous avez codées. Pour
access-keyetsecret-key, entrez les valeursaccess-keyetsecret-keycodées en base64 issues des données d'identification HMAC Auteur que vous avez créées. Pourres-conf-apikey, entrez la clé d'API (apikey) codée en base64 issue des données d'identification HMAC Responsable.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 -
Créez le secret dans votre cluster.
oc create -f secret.yaml -
Vérifiez que le secret a été créé.
oc get secrets -
Créez un PVC qui utilise le secret que vous avez créé. Définissez les annotations
ibm.io/auto-create-bucket: "true"etibm.io/auto_cache: "true"pour créer automatiquement un compartiment qui met en cache vos données.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 -
Obtenez la liste des adresses IP source de noeud final de service cloud pour votre VPC.
-
Obtenez la liste de vos VPC.
ibmcloud is vpcs -
Obtenez les détails de votre VPC et notez vos adresses IP source de noeud final de service cloud.
ibmcloud is vpc <vpc_ID>Exemple de sortie
... 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
-
-
Vérifiez que les adresses IP source de noeud final de service cloud pour votre VPC sont autorisées dans votre compartiment IBM Cloud Object Storage.
-
Dans votre liste de ressources IBM Cloud Object Storage, sélectionnez votre instance IBM Cloud Object Storage, puis sélectionnez le compartiment indiqué dans votre PVC.
-
Sélectionnez Règles d'accès > IP autorisées et vérifiez que les adresses IP source de noeud final de service cloud de votre VPC sont affichées.
Vous ne pouvez pas lire ou écrire sur votre seau à partir de la console. Vous pouvez uniquement accéder à votre compartiment à partir d'un pod d'application sur votre cluster.
-
Créez un fichier YAML de déploiement qui référence le PVC que vous avez créé.
-
Créez l'application dans votre cluster.
oc create -f app.yaml
- Vérifiez que votre pod d'application est
Running.
oc get pods | grep <app_name>
-
Vérifiez que votre volume est monté et que vous pouvez lire et écrire dans votre compartiment COS.
-
Connectez-vous à votre pod d'application.
oc exec -it <pod_name> bash -
Vérifiez que votre compartiment COS est monté à partir de votre pod d'application et que vous pouvez lire et écrire dans votre compartiment COS. Exécutez la commande
dfpour afficher les disques disponibles dans votre système. Votre compartiment COS affiche le type de système de fichierss3fset le chemin de montage spécifié dans votre PVC.dfDans cet exemple, le compartiment COS est monté sur
/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 -
Accédez au répertoire dans lequel votre compartiment COS est monté. Dans cet exemple, le compartiment est monté sur
/cos-vpc.cd cos-vpc -
Ecrivez un fichier
test.txtdans votre compartiment COS et répertoriez les fichiers pour vérifier que le fichier a été écrit.touch test.txt && ls -
Supprimez le fichier et déconnectez-vous de votre pod d'application.
rm test.txt && exit