Cette page explique comment créer une copie, ou instantané, d'un volume de stockage à un moment précis pour votre application de conteneur. Un instantané de volume vous permet de revenir à un état antérieur ou de provisionner un nouveau volume.
Cette page s'adresse aux développeurs du groupe d'opérateurs d'applications, qui sont chargés de créer des charges de travail d'application pour leur organisation.
Avant de commencer
Pour effectuer les tâches décrites dans ce document, vous devez demander les autorisations nécessaires et préparer votre environnement.
Demander des rôles IAM
Pour créer, supprimer, modifier ou afficher des instantanés de volume dans un cluster Kubernetes, demandez à l'administrateur IAM de votre organisation de vous attribuer le rôle Administrateur d'espace de noms (namespace-admin). Ce rôle est lié à l'espace de noms de votre projet.
Préparer votre environnement
Pour exécuter des commandes sur le cluster Kubernetes bare metal préconfiguré, assurez-vous de disposer des ressources suivantes :
Recherchez le nom du cluster Kubernetes ou demandez-le à votre administrateur de plate-forme.
Connectez-vous et générez le fichier kubeconfig pour le cluster Kubernetes si vous n'en avez pas.
Utilisez le chemin d'accès kubeconfig du cluster Kubernetes pour remplacer
CLUSTER_KUBECONFIGdans ces instructions.
Prendre un instantané de volume
Pour prendre un instantané d'un objet PersistentVolumeClaim, créez un objet VolumeSnapshot. Le système ne garantit pas la cohérence des données. Mettez l'application en pause et videz les données avant de prendre un instantané.
Créez une ressource personnalisée
VolumeSnapshot:kubectl --kubeconfig CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshot metadata: name: VOLUME_SNAPSHOT_NAME spec: source: persistentVolumeClaimName: PVC_NAME EOFRemplacez les éléments suivants :
CLUSTER_KUBECONFIG: fichier kubeconfig du cluster Kubernetes.NAMESPACE: espace de noms du projet dans lequel créer l'instantané de volume.VOLUME_SNAPSHOT_NAME: nom de l'objetVolumeSnapshot.PVC_NAME: nom du PVC pour lequel vous créez un instantané.
L'opération d'instantané est terminée lorsque le champ
.status.readyToUsedevienttrue. Vous pouvez utiliser la commande suivante pour vérifier l'état :kubectl --kubeconfig CLUSTER_KUBECONFIG get volumesnapshot \ -o custom-columns='NAME:.metadata.name,READY:.status.readyToUse'Mettez à jour le fichier manifeste PVC avec l'instantané de volume spécifié comme source de données :
kubectl --kubeconfig CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: dataSource: name: VOLUME_SNAPSHOT_NAME kind: VolumeSnapshot apiGroup: snapshot.storage.k8s.io storageClassName: standard-rwo accessModes: - ReadWriteOnce resources: requests: storage: 10Gi EOFRemplacez les éléments suivants :
CLUSTER_KUBECONFIG: fichier kubeconfig du cluster Kubernetes.NAMESPACE: espace de noms dans lequel la ressource PVC existe.PVC_NAME: nom du PVC pour lequel vous créez un instantané.VOLUME_SNAPSHOT_NAME: nom de l'instantané de volume.
Étape suivante
- Présentation des charges de travail de conteneur
- Créer des charges de travail avec état
- Accéder au stockage persistant