3

Je voudrais lancer un cluster Cassandra sous Kubernetes sur Google Container Engine à l'aide des exemples donnés ici: https://github.com/kubernetes/kubernetes/tree/master/examples/storage/cassandraGestion taille de stockage de données Cassandra et les sauvegardes sous Kubernetes

Le fichier décrit 3 façons de configurer du cluster - PetSet (StatefulSet), Replication Controller et DaemonSet. Chacun d'eux a ses avantages et ses inconvénients. En essayant de choisir la meilleure configuration pour moi, j'ai remarqué que je ne peux pas savoir quoi faire avec le stockage et les sauvegardes.

  1. Comment puis-je définir ou l'échelle de la taille de stockage (augmentation/diminution noeud cluster/de stockage de données taille sans perte de données)?
  2. Comment gérer les sauvegardes et les restaurations?
+0

Une option permettant d'associer du stockage à votre nœud/cluster consiste à mapper Google Cloud Storage (https://cloud.google.com/storage/docs/) en tant que disque réseau à l'aide de l'adaptateur [FUSE] (https: // cloud. google.com/storage/docs/gcs-fuse). Si vous configurez [Contrôleur de réplication] (http://kubernetes.io/docs/user-guide/replication-controller/) pour votre cluster Kubernetes, il s'assurera qu'un nombre spécifié de pods s'exécute à la fois. – Faizan

+0

@Faizan Pas vraiment pertinent pour mes questions ... Je n'ai aucun contrôle sur les pods exécutés dans une instance, donc je peux facilement faire un gâchis lorsque les pods sont redémarrés ou mis à l'échelle et que plusieurs pods tournent sur la même instance. Je suis sûr que le stockage devrait être attaché à un pod et non à un nœud. Néanmoins, cela ne m'aide pas à mettre à l'échelle le stockage ni à gérer les sauvegardes. – Idan

+0

@Idan avez-vous trouvé une solution pour cela puisque vous avez posé cette question? Je suis confronté au même cas en ce moment. – sev3ryn

Répondre

1

Vous devriez certainement vérifier Flocker et Flockerhub de ClusterHQ. J'ai joué avec leurs produits afin de prouver avec un POC que les db's conteneurisés peuvent être faits de manière simple et gérable. Assurez-vous de les vérifier: https://clusterhq.com/

Ils traitent les données de la même manière que les images de docker sont traitées. Ainsi, vous serez en mesure de pousser et de tirer des volumes de données dans un concentrateur/référentiel.

+0

On dirait un bon produit. Mais c'est un pilote de volume qui garantit que votre pod fonctionnera avec ses propres données de volume et non pas une donnée vide après le redémarrage. Les inconvénients sont 1) Pas vraiment sûr comment cela fonctionnera avec les contrôleurs de réplication (continuera à lire) 2) vous devez pré-créer tous les volumes (pas d'échelle automatique) 3) pas de redimensionnement des volumes existants. – Idan

1

La réponse courte est qu'il n'y a aucun moyen de faire cela dans les kubernetes. Kubernetes fait très peu en termes de gestion du stockage.

Si vous avez la possibilité de choisir d'autres solutions, check this out.

Ils fournissent une solution à base de conteneur qui combine Compute, réseau, stockage, vous avez le contrôle total sur toutes les ressources requises par cassandra et effectuer instantané/restauration, échelle hors échelle vers le haut/vers le bas, etc.