Cette page explique comment créer et gérer un stockage persistant pour les charges de travail de conteneur dans votre univers souverain Google Distributed Cloud (GDC) sous air gap. Le stockage persistant fournit à votre application des identités cohérentes et des noms d'hôte stables, quel que soit l'endroit où ses charges de travail sont planifiées.
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. Pour en savoir plus, consultez Audiences pour la documentation GDC sous air gap.
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
Vous devez disposer de rôles spécifiques pour obtenir les autorisations nécessaires pour accéder au stockage persistant. Les rôles dont vous avez besoin dépendent du fait que vous travaillez dans un cluster partagé au niveau de l'organisation ou dans un cluster standard au niveau du projet. Pour en savoir plus, consultez Configurations de cluster Kubernetes.
Rôles de cluster partagé
Pour créer, supprimer, modifier ou afficher des volumes persistants dans un cluster partagé, demandez à votre administrateur de projet IAM de vous accorder le rôle Administrateur d'espace de noms (namespace-admin). Ce rôle est lié à l'espace de noms de votre projet.
Rôles de cluster standard
Pour créer, supprimer, modifier ou afficher des volumes persistants dans un cluster standard, demandez à votre administrateur de projet IAM de vous accorder le rôle Développeur de cluster (cluster-developer). Ce rôle est lié à l'espace de noms de votre projet.
Préparer votre environnement
Pour exécuter des commandes sur un cluster Kubernetes à l'aide de l'API, assurez-vous de disposer des ressources suivantes :
Recherchez le nom du cluster Kubernetes ou demandez-le à un membre du groupe d'administrateurs de plate-forme.
Connectez-vous et générez le fichier kubeconfig pour le cluster Kubernetes.
Utilisez le chemin d'accès kubeconfig du cluster Kubernetes pour remplacer
KUBERNETES_CLUSTER_KUBECONFIGdans ces instructions.
Créer un volume persistant
Les instructions suivantes montrent comment créer un volume à l'aide de la StorageClass standard-rwo GDC. Pour en savoir plus
sur les ressources StorageClass disponibles dans GDC, consultez
Stockage persistant pour les conteneurs.
Créez une ressource
PersistentVolumeClaim(PVC) et configurez-la avec un mode d'accèsReadWriteOnceet une classe de stockagestandard-rwo:kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: standard-rwo EOFRemplacez les éléments suivants :
KUBERNETES_CLUSTER_KUBECONFIG: le fichier kubeconfig du clusterNAMESPACE: l'espace de noms dans lequel créer le PVC Pour les clusters partagés, il doit s'agir d'un espace de noms de projet. Pour les clusters standards, il peut s'agir de n'importe quel espace de noms.PVC_NAME: le nom de l'objetPersistentVolumeClaim
Vérifiez que l'objet PVC est disponible :
kubectl get pvc --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACELe résultat ressemble à ce qui suit :
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuid 10Gi RWO Bound pvc-name standard-rwo 60sConfigurez vos charges de travail de conteneur pour qu'elles utilisent le PVC. Voici un exemple de pod
nginxqui utilise un PVCstandard-rwo:kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: Pod metadata: name: web-server-deployment labels: app: nginx spec: containers: - name: nginx image: nginx volumeMounts: - mountPath: /usr/share/nginx/html name: data volumes: - name: data persistentVolumeClaim: claimName: PVC_NAME EOFRemplacez
PVC_NAMEpar le PVC que vous avez créé.
Augmenter la capacité du volume
Pour augmenter la capacité d'un objet PersistentVolumeClaim, mettez à jour le champ spec.resources.storage avec la nouvelle capacité. La taille maximale du volume est de 14,5 Ti.
Augmentez la taille du volume dans le fichier manifeste de l'objet
PersistentVolumeClaim:kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: accessModes: - ReadWriteOnce resources: requests: storage: VOLUME_STORAGE_SIZE EOFRemplacez les éléments suivants :
KUBERNETES_CLUSTER_KUBECONFIG: le fichier kubeconfig du clusterNAMESPACE: l'espace de noms dans lequel la ressource PVC existe Pour les clusters partagés, il doit s'agir d'un espace de noms de projet. Pour les clusters standards, il peut s'agir de n'importe quel espace de noms.PVC_NAME: le nom du PVC pour lequel vous augmentez la taille de stockageVOLUME_SNAPSHOT_SIZE: la taille de stockage à augmenter, par exemple50Gi
Vérifiez l'état des PV mis à jour dans votre cluster :
kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG
Étape suivante
- Présentation des charges de travail de conteneur
- Créer des charges de travail avec état
- Créer des instantanés de volume