Cette page explique comment créer et gérer un stockage persistant pour les charges de travail de conteneurs dans votre univers souverain Google Distributed Cloud (GDC) isolé. Le stockage persistant fournit à votre application des identités cohérentes et des noms d'hôtes stables, quel que soit l'endroit où ses charges de travail sont planifiées.
Cette page s'adresse aux développeurs du groupe des 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 la documentation sur les audiences pour GDC en mode air-gapped.
Avant de commencer
Pour exécuter des commandes sur un cluster Kubernetes, 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
KUBERNETES_CLUSTER_KUBECONFIG
dans ces instructions.
Pour obtenir les autorisations requises pour créer un volume persistant, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle d'administrateur de l'espace de noms (namespace-admin
) dans l'espace de noms de votre projet.
Créer un volume persistant
Les instructions suivantes montrent comment créer un volume à l'aide de l'outil standard-rwo
StorageClass
de GDC. Pour en savoir plus sur les ressources StorageClass
disponibles dans GDC, consultez Stockage persistant pour les conteneurs.
Créez un
PersistentVolumeClaim
et configurez-le avec un mode d'accèsReadWriteOnce
et 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 EOF
Remplacez les éléments suivants :
KUBERNETES_CLUSTER_KUBECONFIG
: fichier kubeconfig du cluster.NAMESPACE
: espace de noms du projet dans lequel créer la PVC.PVC_NAME
: nom de l'objetPersistentVolumeClaim
.
Les objets
PersistentVolume
(PV) sont provisionnés de manière dynamique. Vérifiez l'état des nouveaux PV dans votre cluster Kubernetes :kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG
Le résultat ressemble à ce qui suit :
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuidd 10Gi RWO Bound pvc-name standard-rwo 60s
Configurez vos charges de travail de conteneur pour qu'elles utilisent le PVC. Voici un exemple de pod
nginx
qui utilise une PVCstandard-rwo
:kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: apps/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 EOF
Remplacez
PVC_NAME
par le PVC que vous avez créé.
Augmenter la capacité de volume
Pour augmenter la capacité d'un objet PersistentVolumeClaim
, définissez le champ spec.resources.storage
sur la nouvelle capacité. La taille maximale de volume acceptée est de 14,5 Tio.
Mettez à jour le volume pour qu'il soit plus grand 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 EOF
Remplacez les éléments suivants :
KUBERNETES_CLUSTER_KUBECONFIG
: fichier kubeconfig du cluster.NAMESPACE
: espace de noms du projet dans lequel la ressource PVC existe.PVC_NAME
: nom du PVC pour lequel vous augmentez la taille de stockage.VOLUME_SNAPSHOT_SIZE
: quantité de stockage à augmenter, par exemple50Gi
.
Vérifiez l'état des PV mis à jour dans votre cluster :
kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG
Étapes suivantes
- Présentation des charges de travail de conteneur
- Créer des charges de travail avec état
- Créer des instantanés de volume