sql >> Databasteknik >  >> NoSQL >> MongoDB

Distribuera molndatabaser med ClusterControl 1.6

ClusterControl 1.6 kommer med tätare integration med AWS, Azure och Google Cloud, så det är nu möjligt att lansera nya instanser och distribuera MySQL, MariaDB, MongoDB och PostgreSQL direkt från ClusterControls användargränssnitt. I den här bloggen kommer vi att visa dig hur du distribuerar ett kluster på Amazon Web Services.

Observera att den här nya funktionen kräver två moduler som kallas clustercontrol-cloud och clustercontrol-clud . Den förra är en hjälpdemon som utökar CMON-kapaciteten för molnkommunikation, medan den senare är en filhanterarklient för att ladda upp och ladda ner filer på molninstanser. Båda paketen är beroende av clustercontrol UI-paketet, som kommer att installeras automatiskt om de inte finns. Se sidan med komponenters dokumentation för detaljer.

Cloud Credentials

ClusterControl låter dig lagra och hantera dina molnuppgifter under Integrationer (sidomeny) -> Molnleverantörer:

De molnplattformar som stöds i den här utgåvan är Amazon Web Services, Google Cloud Platform och Microsoft Azure. På den här sidan kan du lägga till nya molnuppgifter, hantera befintliga och även ansluta till din molnplattform för att hantera resurser.

De referenser som har ställts in här kan användas för att:

  • Hantera molnresurser
  • Distribuera databaser i molnet
  • Ladda upp säkerhetskopia till molnlagring

Följande är vad du skulle se om du klickade på knappen "Hantera AWS":

Du kan utföra enkla hanteringsuppgifter på dina molninstanser. Du kan också kontrollera VPC-inställningarna under fliken "AWS VPC", som visas i följande skärmdump:

Ovanstående funktioner är användbara som referens, särskilt när du förbereder dina molninstanser innan du startar databasinstallationerna.

Databasdistribution i molnet

I tidigare versioner av ClusterControl skulle databasdistribution på molnet behandlas på samma sätt som distribution på standardvärdar, där du var tvungen att skapa molninstanserna i förväg och sedan ange instansdetaljer och autentiseringsuppgifter i guiden "Deploy Database Cluster". Implementeringsproceduren var omedveten om någon extra funktionalitet och flexibilitet i molnmiljön, som dynamisk IP- och värdnamnsallokering, NAT-ed offentlig IP-adress, lagringselasticitet, virtuell privat molnnätverkskonfiguration och så vidare.

Med version 1.6 behöver du bara ange molnuppgifterna, som kan hanteras via gränssnittet "Cloud Providers" och följa installationsguiden "Deploy in the Cloud". Från ClusterControl UI, klicka på Deploy och du kommer att presenteras med följande alternativ:

För närvarande är de molnleverantörer som stöds de tre stora aktörerna - Amazon Web Service (AWS), Google Cloud och Microsoft Azure. Vi kommer att integrera fler leverantörer i den framtida versionen.

På den första sidan kommer du att presenteras med alternativen för Cluster Details:

I det här avsnittet måste du välja den klustertyp som stöds, MySQL Galera Cluster, MongoDB Replica Set eller PostgreSQL Streaming Replication. Nästa steg är att välja den leverantör som stöds för den valda klustertypen. För närvarande stöds följande leverantörer och versioner:

  • MySQL Galera Cluster - Percona XtraDB Cluster 5.7, MariaDB 10.2
  • MongoDB Cluster - MongoDB 3.4 av MongoDB, Inc och Percona Server för MongoDB 3.4 av Percona (endast replikuppsättning).
  • PostgreSQL-kluster – PostgreSQL 10.0 (endast strömmande replikering).

I nästa steg kommer du att presenteras med följande dialogruta:

Här kan du konfigurera den valda klustertypen därefter. Välj antalet noder. Klusternamnet kommer att användas som instanstaggen, så att du enkelt kan känna igen denna distribution i din molnleverantörs instrumentpanel. Inget mellanslag tillåts i klusternamnet. My.cnf-mall är mallens konfigurationsfil som ClusterControl kommer att använda för att distribuera klustret. Den måste finnas under /usr/share/cmon/templates på ClusterControl-värden. Resten av fälten är ganska självförklarande.

Nästa dialogruta är att välja molnuppgifterna:

Du kan välja befintliga molnuppgifter eller skapa en ny genom att klicka på knappen "Lägg till ny inloggningsinformation". Nästa steg är att välja den virtuella maskinens konfiguration:

De flesta av inställningarna i det här steget fylls i dynamiskt från molnleverantören av de valda referenserna. Du kan konfigurera operativsystemet, instansstorlek, VPC-inställning, lagringstyp och storlek och även ange SSH-nyckelns plats på ClusterControl-värden. Du kan också låta ClusterControl generera en ny nyckel specifikt för dessa instanser. När du klickar på knappen "Lägg till ny" bredvid Virtual Private Cloud, kommer du att presenteras med ett formulär för att skapa en ny VPC:

VPC är en logisk nätverksinfrastruktur du har inom din molnplattform. Du kan konfigurera din VPC genom att ändra dess IP-adressintervall, skapa undernät, konfigurera rutttabeller, nätverksgateways och säkerhetsinställningar. Vi rekommenderar att du distribuerar din databasinfrastruktur i detta nätverk för isolering, säkerhet och routingkontroll.

När du skapar en ny VPC, ange VPC-namnet och IPv4-adressblocket med subnät. Välj sedan om IPv6 ska vara en del av nätverket och hyresalternativet. Du kan sedan använda detta virtuella nätverk för din databasinfrastruktur.

Det sista steget är distributionssammanfattningen:

I detta skede måste du välja vilket subnät under det valda virtuella nätverket som du vill att databasen ska köras på. Observera att det valda subnätet MÅSTE ha automatisk tilldelning av offentlig IPv4-adress aktiverad. Du kan också skapa ett nytt undernät under denna VPC genom att klicka på knappen "Lägg till nytt undernät". Kontrollera om allt är korrekt och tryck på knappen "Deploy Cluster" för att starta distributionen.

Du kan sedan övervaka framstegen genom att klicka på Aktivitet -> Jobb -> Skapa kluster -> Fullständig jobbinformation:

Beroende på anslutningarna kan det ta 10 till 20 minuter att slutföra. När du är klar kommer du att se ett nytt databaskluster listat under ClusterControl-instrumentpanelen. För PostgreSQL strömmande replikeringskluster kan du behöva känna till huvud- och slav-IP-adresserna när distributionen är klar. Gå helt enkelt till fliken Noder så ser du de offentliga och privata IP-adresserna i nodlistan till vänster:

Ditt databaskluster är nu distribuerat och körs på AWS.

För tillfället fungerar uppskalningen liknande standardvärden, där du måste skapa en molninstans manuellt i förväg och ange värden under ClusterControl -> välj klustret -> Lägg till nod.

Under huven gör implementeringsprocessen följande:

  1. Skapa molninstanser
  2. Konfigurera säkerhetsgrupper och nätverk
  3. Verifiera SSH-anslutningen från ClusterControl till alla skapade instanser
  4. Distribuera databas på varje instans
  5. Konfigurera klustrings- eller replikeringslänkarna
  6. Registrera distributionen i ClusterControl

Observera att den här funktionen fortfarande är i betaversion. Ändå kan du använda den här funktionen för att påskynda din utvecklings- och testmiljö genom att kontrollera och hantera databasklustret i olika molnleverantörer från ett enda användargränssnitt.

Databasbackup på molnet

Den här funktionen har funnits sedan ClusterControl 1.5.0, och nu har vi lagt till stöd för Azure Cloud Storage. Detta innebär att du nu kan ladda upp och ladda ner den skapade säkerhetskopian på alla tre stora molnleverantörer (AWS, GCP och Azure). Uppladdningsprocessen sker direkt efter att säkerhetskopieringen har skapats (om du växlar mellan "Ladda upp säkerhetskopia till molnet") eller så kan du manuellt klicka på molnikonknappen i säkerhetskopieringslistan:

Du kan sedan ladda ner och återställa säkerhetskopior från molnet, om du tappade bort ditt lokala lagringsutrymme för säkerhetskopiering, eller om du behöver minska användningen av lokalt diskutrymme för dina säkerhetskopior.

Nuvarande begränsningar

Det finns några kända begränsningar för molndistributionsfunktionen, som anges nedan:

  • Det finns för närvarande ingen "redovisning" på plats för molninstanserna. Du måste ta bort molninstanserna manuellt om du tar bort ett databaskluster.
  • Du kan inte lägga till eller ta bort en nod automatiskt med molninstanser.
  • Du kan inte distribuera en lastbalanserare automatiskt med en molninstans.

Vi har testat funktionen i många miljöer och inställningar, men det finns alltid hörnfall som vi kan ha missat. För mer information, ta en titt i ändringsloggen.

Lycka till med att samlas i molnet!


  1. Hur gör jag en NOT IN-fråga i Mongo?

  2. Hur anger man en beställning eller sortering med C#-drivrutinen för MongoDB?

  3. Använder .sort med PyMongo

  4. 2 sätt att visa ett index i MongoDB