2
votes

Comment enregistrer les données de stockage SQL lors de l'exécution d'une instance préemtible?

J'essaie de réduire les coûts d'exécution du cluster kubernetes sur Google Cloud Platform.

J'ai déplacé mon pool de nœuds vers des instances de VM préemptives. J'ai 1 pod pour Postgres et 4 nœuds pour les applications Web. Pour Postgres, j'ai créé StorageClass pour rendre les données persistantes.

Étonnamment, peut-être pas, toutes les données de stockage ont été effacées après une journée.

Comment rendre un nœud spécifique dans GCP non préemptif? Ou pourriez-vous nous dire quoi faire dans cette situation?


0 commentaires

3 Réponses :


0
votes

Vous pouvez utiliser le service géré à partir du nom GCP du cluster GKE google kubernetes.

et les données de stockage effacées en raison du changement de classe de stockage peuvent ne pas conserver la politique et le PVC.

mieux vaut utiliser le service géré, je pense et je préfère


0 commentaires

1
votes

Je suppose que j'ai trouvé une solution.

  1. Créez un disque sur gcloud via:
apiVersion: apps/v1beta2
kind: StatefulSet
metadata:
  name: postgres
spec:
  serviceName: postgres
  selector:
    matchLabels:
      app: postgres
  replicas: 1
  template:
    metadata:
      labels:
        app: postgres
        role: postgres
    spec:
      containers:
        - name: postgres
          image: postgres
          env:
            ...
          ports:
            ...
          # Especially this part should be configured!
          volumeMounts:
            - name: postgres-persistent-storage
              mountPath: /var/lib/postgresql
      volumes:
        - name: postgres-persistent-storage
          gcePersistentDisk:
            # This GCE PD must already exist.
            pdName: postgres-disk
            fsType: ext4
  1. Supprimer les StorageClasses, PV, PVC
  2. Configurer le fichier de déploiement:
gcloud compute disks create --size=10GB postgres-disk
gcloud compute disks create --size=[SIZE] [NAME]


0 commentaires

0
votes

Vous pouvez rendre un nœud spécifique non préemptif dans un cluster Google Kubernetes Engine, comme indiqué dans le documentation officielle .

Les étapes pour configurer un cluster avec des pools de nœuds à la fois préemptifs et non préemptifs sont les suivantes:

  1. Créer un cluster: dans la console GCP, accédez à Kubernetes Engine -> Créer un cluster et configurez le cluster selon vos besoins.
  2. Sur cette page de configuration, sous Pools de nœuds , cliquez sur Ajouter un pool de nœuds . Entrez le nombre de nœuds pour la valeur par défaut et le nouveau pool.
  3. Pour rendre l’un des pools préemptif, cliquez sur le bouton Modification anticipée sous le nom du pool, cochez la case Activer les nœuds préemptifs (bêta) et enregistrez les modifications .
  4. Cliquez sur Créer.

Vous voudrez probablement planifier des pods spécifiques uniquement sur des nœuds non préemptifs. Pour cela, vous pouvez utiliser des teintes de nœuds .


0 commentaires