2015-01-11 5 views
5

Ho esaminato la combinazione di Mesos, Marathon e Chronos per ospitare un gran numero di siti web. Nella mia testa dovrei essere in grado di digitare alcuni comandi nel mio portatile, e attendere circa 30 minuti per la cosa da costruire e distribuire.Mesos, Marathon, il cloud e 10 data center - Come parlare tra loro?

Il mio unico problema è che le mie risorse sono sparse su più data center, numerosi account cloud e circa 6 in luoghi locali. Non vedo alcun motivo per cui non riesco a controllarli tutti dal mio computer portatile (ho seri problemi di alimentazione e controllo quando si tratta del mio hardware!)

Sto pensando che il mio approccio migliore sia costruire il cervello nel cloud, (custode dello zoo e almeno un master), quindi aggiungere i data center separati, ma devo ancora vedere esempi di cluster distribuiti, in cui non tutti i nodi possono parlare tra loro.

Qualcuno può consigliare un modo per farlo?

+2

Hai visto la macchina Docker? https://github.com/docker/machine Non è proprio quello che stai chiedendo, ma ti permette di controllare più host Docker dal tuo laptop. –

+0

Ho visto Docker Machine, non mi dà davvero l'autonomia che sto cercando, ma credo che potrei dover avere più cluster ... –

risposta

0

Ho una messa a punto come questo, che mi piacerebbe consigliare: il codice

  • Fonte, script di distribuzione e dockerfiles in GIT
  • Ogni webservice ha la propria directory e viene fornito insieme ad un dockerfile di containerize esso
  • uno script build (script finestra mobile esegue costruisce) costruisce tutti i contenitori docker, di cui tutte le immagini vengono spinti ad un archivio immagini scaricatore
  • Un'implementazione ansible distribuisce tutti i contenitori in remoto a un insieme di VPSes . (Si utilizza la propria procedura di distribuzione, che si adatta a mesos/marathon)
  • Come parte del processo, un brokerMQ attivo viene distribuito nel cloud (sì, in un contenitore). Durante la distribuzione, fornisce a ciascun nodo l'URL del broker a cui è necessario connettersi. Nel tuo setup potresti invece usare ZooKeeper o etcd per esempio.

Sono anche utilizzando Jenkins a fare ricostruzioni automatiche e di correre dispiega ogni volta che c'è stata GIT si impegna, ma possono anche essere fatto manualmente.

Le ricostruzioni sono velocissime e l'implementazione non richiede molto tempo. Posso replicare all'infinito tutto ciò che ho nel mio repository e avere zero configurazioni.

Per poter eseguire una nuova distribuzione, tutto ciò di cui ho bisogno è un set di VPS con daemon docker e alcuni datastore per la persistenza. Non sono sicuro se questo è qualcosa che puoi sostituire con mesos, ma sicuramente sarà in grado di installare un mesos cloud per te sul tuo hardware.

Tutta la registrazione viene eseguita con logstash su un server di registrazione centrale.

0

Ho installato un 3 Master, 5 schiavo, 1 mesos gateway/maratona/setup finestra mobile e documentato qui https://github.com/debianmaster/Notes/wiki/Mesos-marathon-Docker-cluster-setup-on-RHEL-7-with-three-master

questo può aiutare a comprendere il bilanciamento del carico/ridimensionamento tra macchine diverse nel data center

1) master possono essere utilizzati anche come schiavi 2) mesos HAProxy script di ponte possono essere utilizzati per il rilevamento dei servizi dei servizi di nuova creazione del cluster 3) Gateway haproxy è aggiornato ogni minuto con nuovi servizi creati

Questa documentazione ha 1) master/configurazione Slave 2) che istituisce haproxy che ricarica automaticamente 3) l'istituzione portuali programma di servizio 4) esempio

0

Si dovrebbe usare Terraform per orchestrare l'infrastruttura come codice.

Terraform dispone di numerosi provider che consentono di gestire risorse diverse su più servizi cloud e/o risorse bare metal come vSphere.

È possibile iniziare con Getting Started Guide.

Problemi correlati